This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
The attached diff contains the changes we want to make to the javamodel JMI API in order to make annotations work properly in the IDE. The changes are now prepared in javacore41 brach (in java/javamodel, java/javacore and java/www/models/java/java.xml). Here is a description: 1) Name of an annotation (usage of an annotation type) is now structured - it is represented using MultipartId instead of a plain string. Also I have renamed the attribute from name to type, since in fact it is a type of the annotation (points to the definition of AnnotationType). This makes it consistent with how we represent superclasses and interfaces in extends and implements clauses and types of methods and fields, etc. 2) Name of "definition" end of IsOfAnnotationType was changed to "type" to make it more consistent. 3) AttributeValue now extends ElementReference - this is because it is in fact a reference to the annotation attribute (e.g. if you write @Copyright(name = "Smith"), "name" references annotation attribute name - it needs to be renamed when one renames this attribute). As a consequence, ElementReference no longer extends PrimaryExpression (because AttributeValue is not an expression) and all expressions that extended ElementReference now extend also PrimaryExpression.
Created attachment 19556 [details] Diff of the change to the API.
If there are no objections I will commit the changes from javacore41 (containing the API changed described in this issue) to the main trunk tomorrow.
Integrated to the main trunk. Checking in external/gjast.jar.scrambled; /cvs/java/external/gjast.jar.scrambled,v <-- gjast.jar.scrambled new revision: 1.94; previous revision: 1.93 done Processing log script arguments... More commits to come... Checking in javacore/manifest.mf; /cvs/java/javacore/manifest.mf,v <-- manifest.mf new revision: 1.8; previous revision: 1.7 done Processing log script arguments... More commits to come... Checking in javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/AnnotationClassImpl.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/AnnotationClassImpl.java,v <-- AnnotationClassImpl.java new revision: 1.6; previous revision: 1.5 done Checking in javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/AnnotationImpl.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/AnnotationImpl.java,v <-- AnnotationImpl.java new revision: 1.10; previous revision: 1.9 done Checking in javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/AttributeValueImpl.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/AttributeValueImpl.java,v <-- AttributeValueImpl.java new revision: 1.7; previous revision: 1.6 done Checking in javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/BehavioralFeatureImpl.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/BehavioralFeatureImpl.java,v <-- BehavioralFeatureImpl.java new revision: 1.7; previous revision: 1.6 done Checking in javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/CallableFeatureImpl.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/CallableFeatureImpl.java,v <-- CallableFeatureImpl.java new revision: 1.19; previous revision: 1.18 done Checking in javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/ConstructorImpl.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/ConstructorImpl.java,v <-- ConstructorImpl.java new revision: 1.8; previous revision: 1.7 done Checking in javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/EnumConstantImpl.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/EnumConstantImpl.java,v <-- EnumConstantImpl.java new revision: 1.12; previous revision: 1.11 done Checking in javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/FeatureImpl.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/FeatureImpl.java,v <-- FeatureImpl.java new revision: 1.28; previous revision: 1.27 done Checking in javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/FieldGroupImpl.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/FieldGroupImpl.java,v <-- FieldGroupImpl.java new revision: 1.13; previous revision: 1.12 done Checking in javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/FieldImpl.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/FieldImpl.java,v <-- FieldImpl.java new revision: 1.20; previous revision: 1.19 done Checking in javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/JavaClassImpl.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/JavaClassImpl.java,v <-- JavaClassImpl.java new revision: 1.43; previous revision: 1.42 done Checking in javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/JavaEnumImpl.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/JavaEnumImpl.java,v <-- JavaEnumImpl.java new revision: 1.15; previous revision: 1.14 done Checking in javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/MethodImpl.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/MethodImpl.java,v <-- MethodImpl.java new revision: 1.22; previous revision: 1.21 done Checking in javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/ParameterImpl.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/ParameterImpl.java,v <-- ParameterImpl.java new revision: 1.12; previous revision: 1.11 done Checking in javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/ResourceImpl.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/ResourceImpl.java,v <-- ResourceImpl.java new revision: 1.59; previous revision: 1.58 done Checking in javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/SemiPersistentElement.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/SemiPersistentElement.java,v <-- SemiPersistentElement.java new revision: 1.61; previous revision: 1.60 done Processing log script arguments... More commits to come... Checking in javacore/src/org/netbeans/modules/javacore/parser/ASTRepairer.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/parser/ASTRepairer.java,v <-- ASTRepairer.java new revision: 1.4; previous revision: 1.3 done Checking in javacore/src/org/netbeans/modules/javacore/parser/AnnotationInfo.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/parser/AnnotationInfo.java,v <-- AnnotationInfo.java new revision: 1.5; previous revision: 1.4 done Checking in javacore/src/org/netbeans/modules/javacore/parser/AnnotationInfoMeasure.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/parser/AnnotationInfoMeasure.java,v <-- AnnotationInfoMeasure.java new revision: 1.4; previous revision: 1.3 done Checking in javacore/src/org/netbeans/modules/javacore/parser/MDRParser.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/parser/MDRParser.java,v <-- MDRParser.java new revision: 1.64; previous revision: 1.63 done Checking in javacore/src/org/netbeans/modules/javacore/parser/ResourceInfo.java; /cvs/java/javacore/src/org/netbeans/modules/javacore/parser/ResourceInfo.java,v <-- ResourceInfo.java new revision: 1.17; previous revision: 1.16 done Processing log script arguments... More commits to come... Checking in javacore/test/unit/src/org/netbeans/jmi/javamodel/codegen/AnnotationTest.java; /cvs/java/javacore/test/unit/src/org/netbeans/jmi/javamodel/codegen/AnnotationTest.java,v <-- AnnotationTest.java new revision: 1.5; previous revision: 1.4 done Processing log script arguments... More commits to come... Checking in javacore/test/unit/src/org/netbeans/jmi/javamodel/regenerator/Cloner.java; /cvs/java/javacore/test/unit/src/org/netbeans/jmi/javamodel/regenerator/Cloner.java,v <-- Cloner.java new revision: 1.6; previous revision: 1.5 done Processing log script arguments... More commits to come... Checking in javamodel/manifest.mf; /cvs/java/javamodel/manifest.mf,v <-- manifest.mf new revision: 1.16; previous revision: 1.15 done Processing log script arguments... More commits to come... Checking in javamodel/src/org/netbeans/jmi/javamodel/Annotation.java; /cvs/java/javamodel/src/org/netbeans/jmi/javamodel/Annotation.java,v <-- Annotation.java new revision: 1.6; previous revision: 1.5 done Checking in javamodel/src/org/netbeans/jmi/javamodel/AnnotationClass.java; /cvs/java/javamodel/src/org/netbeans/jmi/javamodel/AnnotationClass.java,v <-- AnnotationClass.java new revision: 1.6; previous revision: 1.5 done Checking in javamodel/src/org/netbeans/jmi/javamodel/AttributeValue.java; /cvs/java/javamodel/src/org/netbeans/jmi/javamodel/AttributeValue.java,v <-- AttributeValue.java new revision: 1.5; previous revision: 1.4 done Checking in javamodel/src/org/netbeans/jmi/javamodel/ElementReference.java; /cvs/java/javamodel/src/org/netbeans/jmi/javamodel/ElementReference.java,v <-- ElementReference.java new revision: 1.5; previous revision: 1.4 done Checking in javamodel/src/org/netbeans/jmi/javamodel/Invocation.java; /cvs/java/javamodel/src/org/netbeans/jmi/javamodel/Invocation.java,v <-- Invocation.java new revision: 1.5; previous revision: 1.4 done Checking in javamodel/src/org/netbeans/jmi/javamodel/IsOfAnnotationType.java; /cvs/java/javamodel/src/org/netbeans/jmi/javamodel/IsOfAnnotationType.java,v <-- IsOfAnnotationType.java new revision: 1.5; previous revision: 1.4 done Checking in javamodel/src/org/netbeans/jmi/javamodel/ParameterizedType.java; /cvs/java/javamodel/src/org/netbeans/jmi/javamodel/ParameterizedType.java,v <-- ParameterizedType.java new revision: 1.12; previous revision: 1.11 done Checking in javamodel/src/org/netbeans/jmi/javamodel/TypeReference.java; /cvs/java/javamodel/src/org/netbeans/jmi/javamodel/TypeReference.java,v <-- TypeReference.java new revision: 1.5; previous revision: 1.4 done Checking in javamodel/src/org/netbeans/jmi/javamodel/VariableAccess.java; /cvs/java/javamodel/src/org/netbeans/jmi/javamodel/VariableAccess.java,v <-- VariableAccess.java new revision: 1.5; previous revision: 1.4 done Processing log script arguments... More commits to come... Checking in javamodel/src/org/netbeans/jmi/javamodel/resources/java-model.xml; /cvs/java/javamodel/src/org/netbeans/jmi/javamodel/resources/java-model.xml,v <-- java-model.xml new revision: 1.13; previous revision: 1.12 done Processing log script arguments... More commits to come... Checking in parser/src/org/netbeans/lib/java/parser/ASTreeTypes.java; /cvs/java/parser/src/org/netbeans/lib/java/parser/ASTreeTypes.java,v <-- ASTreeTypes.java new revision: 1.3; previous revision: 1.2 done
Reorganization of java component