[230291] remove dead code
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/AST.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/AST.java index 2a3c080..6de1c8b 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/AST.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/AST.java
@@ -1431,39 +1431,6 @@ } /** - * Creates an unparented enum constant declaration node owned by this AST. - * The name of the constant is an unspecified, but legal, name; - * no doc comment; no modifiers or annotations; no arguments; - * and does not declare an anonymous class. - * - * @return a new unparented enum constant declaration node - * @exception UnsupportedOperationException if this operation is used in - * a JLS2 AST - * @since 3.1 - */ - public EnumConstantDeclaration newEnumConstantDeclaration() { - EnumConstantDeclaration result = new EnumConstantDeclaration(this); - return result; - } - - /** - * Creates an unparented enum declaration node owned by this AST. - * The name of the enum is an unspecified, but legal, name; - * no doc comment; no modifiers or annotations; - * no superinterfaces; and empty lists of enum constants - * and body declarations. - * - * @return a new unparented enum declaration node - * @exception UnsupportedOperationException if this operation is used in - * a JLS2 AST - * @since 3.1 - */ - public EnumDeclaration newEnumDeclaration() { - EnumDeclaration result = new EnumDeclaration(this); - return result; - } - - /** * Creates and returns a new unparented type parameter type node with an * unspecified type variable name and an empty list of type bounds. * @@ -1477,36 +1444,6 @@ return result; } - /** - * Creates and returns a new unparented annotation type declaration - * node for an unspecified, but legal, name; no modifiers; no javadoc; - * and an empty list of member declarations. - * - * @return a new unparented annotation type declaration node - * @exception UnsupportedOperationException if this operation is used in - * a JLS2 AST - * @since 3.1 - */ - public AnnotationTypeDeclaration newAnnotationTypeDeclaration() { - AnnotationTypeDeclaration result = new AnnotationTypeDeclaration(this); - return result; - } - - /** - * Creates and returns a new unparented annotation type - * member declaration node for an unspecified, but legal, - * member name and type; no modifiers; no javadoc; - * and no default value. - * - * @return a new unparented annotation type member declaration node - * @exception UnsupportedOperationException if this operation is used in - * a JLS2 AST - * @since 3.1 - */ - public AnnotationTypeMemberDeclaration newAnnotationTypeMemberDeclaration() { - AnnotationTypeMemberDeclaration result = new AnnotationTypeMemberDeclaration(this); - return result; - } /** * Creates and returns a new unparented modifier node for the given @@ -2555,65 +2492,6 @@ return result; } - //=============================== ANNOTATIONS ==================== - - /** - * Creates and returns a new unparented normal annotation node with - * an unspecified type name and an empty list of member value - * pairs. - * - * @return a new unparented normal annotation node - * @exception UnsupportedOperationException if this operation is used in - * a JLS2 AST - * @since 3.1 - */ - public NormalAnnotation newNormalAnnotation() { - NormalAnnotation result = new NormalAnnotation(this); - return result; - } - - /** - * Creates and returns a new unparented marker annotation node with - * an unspecified type name. - * - * @return a new unparented marker annotation node - * @exception UnsupportedOperationException if this operation is used in - * a JLS2 AST - * @since 3.1 - */ - public MarkerAnnotation newMarkerAnnotation() { - MarkerAnnotation result = new MarkerAnnotation(this); - return result; - } - - /** - * Creates and returns a new unparented single member annotation node with - * an unspecified type name and value. - * - * @return a new unparented single member annotation node - * @exception UnsupportedOperationException if this operation is used in - * a JLS2 AST - * @since 3.1 - */ - public SingleMemberAnnotation newSingleMemberAnnotation() { - SingleMemberAnnotation result = new SingleMemberAnnotation(this); - return result; - } - - /** - * Creates and returns a new unparented member value pair node with - * an unspecified member name and value. - * - * @return a new unparented member value pair node - * @exception UnsupportedOperationException if this operation is used in - * a JLS2 AST - * @since 3.1 - */ - public MemberValuePair newMemberValuePair() { - MemberValuePair result = new MemberValuePair(this); - return result; - } - /** * Enables the recording of changes to the given compilation * unit and its descendents. The compilation unit must have
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTConverter.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTConverter.java index 0dd4793..9dd7508 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTConverter.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTConverter.java
@@ -25,7 +25,6 @@ import org.eclipse.wst.jsdt.core.compiler.InvalidInputException; import org.eclipse.wst.jsdt.core.dom.Modifier.ModifierKeyword; import org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration; -import org.eclipse.wst.jsdt.internal.compiler.ast.AbstractVariableDeclaration; import org.eclipse.wst.jsdt.internal.compiler.ast.Argument; import org.eclipse.wst.jsdt.internal.compiler.ast.ForeachStatement; import org.eclipse.wst.jsdt.internal.compiler.ast.JavadocArgumentExpression; @@ -37,9 +36,6 @@ import org.eclipse.wst.jsdt.internal.compiler.ast.ParameterizedQualifiedTypeReference; import org.eclipse.wst.jsdt.internal.compiler.ast.ParameterizedSingleTypeReference; import org.eclipse.wst.jsdt.internal.compiler.ast.ProgramElement; -import org.eclipse.wst.jsdt.internal.compiler.ast.QualifiedAllocationExpression; -import org.eclipse.wst.jsdt.internal.compiler.ast.QualifiedTypeReference; -import org.eclipse.wst.jsdt.internal.compiler.ast.SingleTypeReference; import org.eclipse.wst.jsdt.internal.compiler.ast.StringLiteralConcatenation; import org.eclipse.wst.jsdt.internal.compiler.ast.TypeReference; import org.eclipse.wst.jsdt.internal.compiler.ast.Wildcard; @@ -155,7 +151,7 @@ position = nextMethodDeclaration.declarationSourceStart; nextDeclarationType = 1; // METHOD } - } + } if (membersIndex < membersLength) { nextMemberDeclaration = members[membersIndex]; if (nextMemberDeclaration.declarationSourceStart < position) { @@ -165,11 +161,7 @@ } switch (nextDeclarationType) { case 0 : - if (nextFieldDeclaration.getKind() == AbstractVariableDeclaration.ENUM_CONSTANT) { - typeDecl.bodyDeclarations().add(convert(nextFieldDeclaration)); - } else { checkAndAddMultipleFieldDeclaration(fields, fieldsIndex, typeDecl.bodyDeclarations()); - } fieldsIndex++; break; case 1 : @@ -192,72 +184,6 @@ convert(typeDeclaration.javadoc, typeDecl); } - protected void buildBodyDeclarations(org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration enumDeclaration2, EnumDeclaration enumDeclaration) { - // add body declaration in the lexical order - org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration[] members = enumDeclaration2.memberTypes; - org.eclipse.wst.jsdt.internal.compiler.ast.FieldDeclaration[] fields = enumDeclaration2.fields; - org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration[] methods = enumDeclaration2.methods; - - int fieldsLength = fields == null? 0 : fields.length; - int methodsLength = methods == null? 0 : methods.length; - int membersLength = members == null ? 0 : members.length; - int fieldsIndex = 0; - int methodsIndex = 0; - int membersIndex = 0; - - while ((fieldsIndex < fieldsLength) - || (membersIndex < membersLength) - || (methodsIndex < methodsLength)) { - org.eclipse.wst.jsdt.internal.compiler.ast.FieldDeclaration nextFieldDeclaration = null; - org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration nextMethodDeclaration = null; - org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration nextMemberDeclaration = null; - - int position = Integer.MAX_VALUE; - int nextDeclarationType = -1; - if (fieldsIndex < fieldsLength) { - nextFieldDeclaration = fields[fieldsIndex]; - if (nextFieldDeclaration.declarationSourceStart < position) { - position = nextFieldDeclaration.declarationSourceStart; - nextDeclarationType = 0; // FIELD - } - } - if (methodsIndex < methodsLength) { - nextMethodDeclaration = methods[methodsIndex]; - if (nextMethodDeclaration.declarationSourceStart < position) { - position = nextMethodDeclaration.declarationSourceStart; - nextDeclarationType = 1; // METHOD - } - } - if (membersIndex < membersLength) { - nextMemberDeclaration = members[membersIndex]; - if (nextMemberDeclaration.declarationSourceStart < position) { - position = nextMemberDeclaration.declarationSourceStart; - nextDeclarationType = 2; // MEMBER - } - } - switch (nextDeclarationType) { - case 0 : - if (nextFieldDeclaration.getKind() == AbstractVariableDeclaration.ENUM_CONSTANT) { - enumDeclaration.enumConstants().add(convert(nextFieldDeclaration)); - } else { - checkAndAddMultipleFieldDeclaration(fields, fieldsIndex, enumDeclaration.bodyDeclarations()); - } - fieldsIndex++; - break; - case 1 : - methodsIndex++; - if (!nextMethodDeclaration.isDefaultConstructor() && !nextMethodDeclaration.isClinit()) { - enumDeclaration.bodyDeclarations().add(convert(nextMethodDeclaration)); - } - break; - case 2 : - membersIndex++; - enumDeclaration.bodyDeclarations().add(convert(nextMemberDeclaration)); - break; - } - } - convert(enumDeclaration2.javadoc, enumDeclaration); - } protected void buildBodyDeclarations(org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration expression, AnonymousClassDeclaration anonymousClassDeclaration) { // add body declaration in the lexical order @@ -304,11 +230,7 @@ } switch (nextDeclarationType) { case 0 : - if (nextFieldDeclaration.getKind() == AbstractVariableDeclaration.ENUM_CONSTANT) { - anonymousClassDeclaration.bodyDeclarations().add(convert(nextFieldDeclaration)); - } else { checkAndAddMultipleFieldDeclaration(fields, fieldsIndex, anonymousClassDeclaration.bodyDeclarations()); - } fieldsIndex++; break; case 1 : @@ -697,60 +619,7 @@ return infixExpression; } - public AnnotationTypeDeclaration convertToAnnotationDeclaration(org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration typeDeclaration) { - checkCanceled(); - AnnotationTypeDeclaration typeDecl = this.ast.newAnnotationTypeDeclaration(); - setModifiers(typeDecl, typeDeclaration); - final SimpleName typeName = new SimpleName(this.ast); - typeName.internalSetIdentifier(new String(typeDeclaration.name)); - typeName.setSourceRange(typeDeclaration.sourceStart, typeDeclaration.sourceEnd - typeDeclaration.sourceStart + 1); - typeDecl.setName(typeName); - typeDecl.setSourceRange(typeDeclaration.declarationSourceStart, typeDeclaration.bodyEnd - typeDeclaration.declarationSourceStart + 1); - buildBodyDeclarations(typeDeclaration, typeDecl); - // The javadoc comment is now got from list store in compilation unit declaration - if (this.resolveBindings) { - recordNodes(typeDecl, typeDeclaration); - recordNodes(typeName, typeDeclaration); - typeDecl.resolveBinding(); - } - return typeDecl; - } - - public ASTNode convert(org.eclipse.wst.jsdt.internal.compiler.ast.AnnotationMethodDeclaration annotationTypeMemberDeclaration) { - checkCanceled(); - if (this.ast.apiLevel == AST.JLS2_INTERNAL) { - return null; - } - AnnotationTypeMemberDeclaration annotationTypeMemberDeclaration2 = new AnnotationTypeMemberDeclaration(this.ast); - setModifiers(annotationTypeMemberDeclaration2, annotationTypeMemberDeclaration); - final SimpleName methodName = new SimpleName(this.ast); - methodName.internalSetIdentifier(new String(annotationTypeMemberDeclaration.selector)); - int start = annotationTypeMemberDeclaration.sourceStart; - int end = retrieveIdentifierEndPosition(start, annotationTypeMemberDeclaration.sourceEnd); - methodName.setSourceRange(start, end - start + 1); - annotationTypeMemberDeclaration2.setName(methodName); - org.eclipse.wst.jsdt.internal.compiler.ast.TypeReference typeReference = annotationTypeMemberDeclaration.returnType; - if (typeReference != null) { - Type returnType = convertType(typeReference); - setTypeForMethodDeclaration(annotationTypeMemberDeclaration2, returnType, 0); - } - int declarationSourceStart = annotationTypeMemberDeclaration.declarationSourceStart; - int declarationSourceEnd = annotationTypeMemberDeclaration.bodyEnd; - annotationTypeMemberDeclaration2.setSourceRange(declarationSourceStart, declarationSourceEnd - declarationSourceStart + 1); - // The javadoc comment is now got from list store in compilation unit declaration - convert(annotationTypeMemberDeclaration.javadoc, annotationTypeMemberDeclaration2); - org.eclipse.wst.jsdt.internal.compiler.ast.Expression memberValue = annotationTypeMemberDeclaration.defaultValue; - if (memberValue != null) { - annotationTypeMemberDeclaration2.setDefault(convert(memberValue)); - } - if (this.resolveBindings) { - recordNodes(annotationTypeMemberDeclaration2, annotationTypeMemberDeclaration); - recordNodes(methodName, annotationTypeMemberDeclaration); - annotationTypeMemberDeclaration2.resolveBinding(); - } - return annotationTypeMemberDeclaration2; - } public SingleVariableDeclaration convert(org.eclipse.wst.jsdt.internal.compiler.ast.Argument argument) { SingleVariableDeclaration variableDecl = new SingleVariableDeclaration(this.ast); @@ -806,16 +675,6 @@ } - public Annotation convert(org.eclipse.wst.jsdt.internal.compiler.ast.Annotation annotation) { - if (annotation instanceof org.eclipse.wst.jsdt.internal.compiler.ast.SingleMemberAnnotation) { - return convert((org.eclipse.wst.jsdt.internal.compiler.ast.SingleMemberAnnotation) annotation); - } else if (annotation instanceof org.eclipse.wst.jsdt.internal.compiler.ast.MarkerAnnotation) { - return convert((org.eclipse.wst.jsdt.internal.compiler.ast.MarkerAnnotation) annotation); - } else { - return convert((org.eclipse.wst.jsdt.internal.compiler.ast.NormalAnnotation) annotation); - } - } - public ArrayCreation convert(org.eclipse.wst.jsdt.internal.compiler.ast.ArrayAllocationExpression expression) { ArrayCreation arrayCreation = new ArrayCreation(this.ast); if (this.resolveBindings) { @@ -1518,55 +1377,6 @@ return emptyExpression; } - // field is an enum constant - public EnumConstantDeclaration convert(org.eclipse.wst.jsdt.internal.compiler.ast.FieldDeclaration enumConstant) { - checkCanceled(); - EnumConstantDeclaration enumConstantDeclaration = new EnumConstantDeclaration(this.ast); - final SimpleName typeName = new SimpleName(this.ast); - typeName.internalSetIdentifier(new String(enumConstant.name)); - typeName.setSourceRange(enumConstant.sourceStart, enumConstant.sourceEnd - enumConstant.sourceStart + 1); - enumConstantDeclaration.setName(typeName); - int declarationSourceStart = enumConstant.declarationSourceStart; - int declarationSourceEnd = enumConstant.declarationSourceEnd; - final org.eclipse.wst.jsdt.internal.compiler.ast.Expression initialization = enumConstant.initialization; - if (initialization != null) { - if (initialization instanceof QualifiedAllocationExpression) { - org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration anonymousType = ((QualifiedAllocationExpression) initialization).anonymousType; - if (anonymousType != null) { - AnonymousClassDeclaration anonymousClassDeclaration = new AnonymousClassDeclaration(this.ast); - int start = retrieveStartBlockPosition(anonymousType.sourceEnd, anonymousType.bodyEnd); - int end = retrieveRightBrace(anonymousType.bodyEnd, declarationSourceEnd); - if (end == -1) end = anonymousType.bodyEnd; - anonymousClassDeclaration.setSourceRange(start, end - start + 1); - enumConstantDeclaration.setAnonymousClassDeclaration(anonymousClassDeclaration); - buildBodyDeclarations(anonymousType, anonymousClassDeclaration); - if (this.resolveBindings) { - recordNodes(anonymousClassDeclaration, anonymousType); - anonymousClassDeclaration.resolveBinding(); - } - enumConstantDeclaration.setSourceRange(declarationSourceStart, end - declarationSourceStart + 1); - } - } else { - enumConstantDeclaration.setSourceRange(declarationSourceStart, declarationSourceEnd - declarationSourceStart + 1); - } - final org.eclipse.wst.jsdt.internal.compiler.ast.Expression[] arguments = ((org.eclipse.wst.jsdt.internal.compiler.ast.AllocationExpression) initialization).arguments; - if (arguments != null) { - for (int i = 0, max = arguments.length; i < max; i++) { - enumConstantDeclaration.arguments().add(convert(arguments[i])); - } - } - } else { - enumConstantDeclaration.setSourceRange(declarationSourceStart, declarationSourceEnd - declarationSourceStart + 1); - } - setModifiers(enumConstantDeclaration, enumConstant); - if (this.resolveBindings) { - recordNodes(enumConstantDeclaration, enumConstant); - recordNodes(typeName, enumConstant); - enumConstantDeclaration.resolveVariable(); - } - convert(enumConstant.javadoc, enumConstantDeclaration); - return enumConstantDeclaration; - } public Expression convert(org.eclipse.wst.jsdt.internal.compiler.ast.EqualExpression expression) { InfixExpression infixExpression = new InfixExpression(this.ast); @@ -2264,38 +2074,6 @@ return expr; } - public MarkerAnnotation convert(org.eclipse.wst.jsdt.internal.compiler.ast.MarkerAnnotation annotation) { - final MarkerAnnotation markerAnnotation = new MarkerAnnotation(this.ast); - setTypeNameForAnnotation(annotation, markerAnnotation); - int start = annotation.sourceStart; - int end = annotation.declarationSourceEnd; - markerAnnotation.setSourceRange(start, end - start + 1); - if (this.resolveBindings) { - recordNodes(markerAnnotation, annotation); - markerAnnotation.resolveAnnotationBinding(); - } - return markerAnnotation; - } - - public MemberValuePair convert(org.eclipse.wst.jsdt.internal.compiler.ast.MemberValuePair memberValuePair) { - final MemberValuePair pair = new MemberValuePair(this.ast); - final SimpleName simpleName = new SimpleName(this.ast); - simpleName.internalSetIdentifier(new String(memberValuePair.name)); - int start = memberValuePair.sourceStart; - int end = memberValuePair.sourceEnd; - simpleName.setSourceRange(start, end - start + 1); - pair.setName(simpleName); - final Expression value = convert(memberValuePair.value); - pair.setValue(value); - start = memberValuePair.sourceStart; - end = value.getStartPosition() + value.getLength() - 1; - pair.setSourceRange(start, end - start + 1); - if (this.resolveBindings) { - recordNodes(simpleName, memberValuePair); - recordNodes(pair, memberValuePair); - } - return pair; - } public Name convert(org.eclipse.wst.jsdt.internal.compiler.ast.NameReference reference) { if (reference instanceof org.eclipse.wst.jsdt.internal.compiler.ast.QualifiedNameReference) { @@ -2322,24 +2100,6 @@ return infixExpression; } - public NormalAnnotation convert(org.eclipse.wst.jsdt.internal.compiler.ast.NormalAnnotation annotation) { - final NormalAnnotation normalAnnotation = new NormalAnnotation(this.ast); - setTypeNameForAnnotation(annotation, normalAnnotation); - org.eclipse.wst.jsdt.internal.compiler.ast.MemberValuePair[] memberValuePairs = annotation.memberValuePairs; - if (memberValuePairs != null) { - for (int i = 0, max = memberValuePairs.length; i < max; i++) { - normalAnnotation.values().add(convert(memberValuePairs[i])); - } - } - int start = annotation.sourceStart; - int end = annotation.declarationSourceEnd; - normalAnnotation.setSourceRange(start, end - start + 1); - if (this.resolveBindings) { - recordNodes(normalAnnotation, annotation); - normalAnnotation.resolveAnnotationBinding(); - } - return normalAnnotation; - } public NullLiteral convert(org.eclipse.wst.jsdt.internal.compiler.ast.NullLiteral expression) { final NullLiteral literal = new NullLiteral(this.ast); @@ -2581,20 +2341,6 @@ return returnStatement; } - public SingleMemberAnnotation convert(org.eclipse.wst.jsdt.internal.compiler.ast.SingleMemberAnnotation annotation) { - final SingleMemberAnnotation singleMemberAnnotation = new SingleMemberAnnotation(this.ast); - setTypeNameForAnnotation(annotation, singleMemberAnnotation); - singleMemberAnnotation.setValue(convert(annotation.memberValue)); - int start = annotation.sourceStart; - int end = annotation.declarationSourceEnd; - singleMemberAnnotation.setSourceRange(start, end - start + 1); - if (this.resolveBindings) { - recordNodes(singleMemberAnnotation, annotation); - singleMemberAnnotation.resolveAnnotationBinding(); - } - return singleMemberAnnotation; - } - public SimpleName convert(org.eclipse.wst.jsdt.internal.compiler.ast.SingleNameReference nameReference) { final SimpleName name = new SimpleName(this.ast); name.internalSetIdentifier(new String(nameReference.token)); @@ -2665,32 +2411,6 @@ if (result == null) { return createFakeEmptyStatement(statement); } - switch(result.getNodeType()) { - case ASTNode.ENUM_DECLARATION: - switch(this.ast.apiLevel) { - case AST.JLS2_INTERNAL : - return createFakeEmptyStatement(statement); - case AST.JLS3 : - final TypeDeclarationStatement typeDeclarationStatement = new TypeDeclarationStatement(this.ast); - typeDeclarationStatement.setDeclaration((EnumDeclaration) result); - AbstractTypeDeclaration typeDecl = typeDeclarationStatement.getDeclaration(); - typeDeclarationStatement.setSourceRange(typeDecl.getStartPosition(), typeDecl.getLength()); - return typeDeclarationStatement; - } - break; - case ASTNode.ANNOTATION_TYPE_DECLARATION : - switch(this.ast.apiLevel) { - case AST.JLS2_INTERNAL : - return createFakeEmptyStatement(statement); - case AST.JLS3 : - TypeDeclarationStatement typeDeclarationStatement = new TypeDeclarationStatement(this.ast); - typeDeclarationStatement.setDeclaration((AnnotationTypeDeclaration) result); - AbstractTypeDeclaration typeDecl = typeDeclarationStatement.getDeclaration(); - typeDeclarationStatement.setSourceRange(typeDecl.getStartPosition(), typeDecl.getLength()); - return typeDeclarationStatement; - } - break; - default: TypeDeclaration typeDeclaration = (TypeDeclaration) result; TypeDeclarationStatement typeDeclarationStatement = new TypeDeclarationStatement(this.ast); typeDeclarationStatement.setDeclaration(typeDeclaration); @@ -2706,7 +2426,6 @@ } return typeDeclarationStatement; - } } if (statement instanceof org.eclipse.wst.jsdt.internal.compiler.ast.WhileStatement) { return convert((org.eclipse.wst.jsdt.internal.compiler.ast.WhileStatement) statement); @@ -2829,20 +2548,6 @@ public ASTNode convert(org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration typeDeclaration) { int kind = org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration.kind(typeDeclaration.modifiers); - switch (kind) { - case org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration.ENUM_DECL : - if (this.ast.apiLevel == AST.JLS2_INTERNAL) { - return null; - } else { - return convertToEnumDeclaration(typeDeclaration); - } - case org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration.ANNOTATION_TYPE_DECL : - if (this.ast.apiLevel == AST.JLS2_INTERNAL) { - return null; - } else { - return convertToAnnotationDeclaration(typeDeclaration); - } - } checkCanceled(); TypeDeclaration typeDecl = new TypeDeclaration(this.ast); @@ -3088,30 +2793,6 @@ return packageDeclaration; } - private EnumDeclaration convertToEnumDeclaration(org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration typeDeclaration) { - checkCanceled(); - final EnumDeclaration enumDeclaration2 = new EnumDeclaration(this.ast); - setModifiers(enumDeclaration2, typeDeclaration); - final SimpleName typeName = new SimpleName(this.ast); - typeName.internalSetIdentifier(new String(typeDeclaration.name)); - typeName.setSourceRange(typeDeclaration.sourceStart, typeDeclaration.sourceEnd - typeDeclaration.sourceStart + 1); - enumDeclaration2.setName(typeName); - enumDeclaration2.setSourceRange(typeDeclaration.declarationSourceStart, typeDeclaration.bodyEnd - typeDeclaration.declarationSourceStart + 1); - - org.eclipse.wst.jsdt.internal.compiler.ast.TypeReference[] superInterfaces = typeDeclaration.superInterfaces; - if (superInterfaces != null) { - for (int index = 0, length = superInterfaces.length; index < length; index++) { - enumDeclaration2.superInterfaceTypes().add(convertType(superInterfaces[index])); - } - } - buildBodyDeclarations(typeDeclaration, enumDeclaration2); - if (this.resolveBindings) { - recordNodes(enumDeclaration2, typeDeclaration); - recordNodes(typeName, typeDeclaration); - enumDeclaration2.resolveBinding(); - } - return enumDeclaration2; - } public Expression convertToExpression(org.eclipse.wst.jsdt.internal.compiler.ast.Statement statement) { if (statement instanceof org.eclipse.wst.jsdt.internal.compiler.ast.Expression) { return convert((org.eclipse.wst.jsdt.internal.compiler.ast.Expression) statement); @@ -3876,9 +3557,7 @@ while(!(currentNode instanceof AbstractTypeDeclaration)) { currentNode = currentNode.getParent(); } - if (currentNode instanceof TypeDeclaration - || currentNode instanceof EnumDeclaration - || currentNode instanceof AnnotationTypeDeclaration) { + if (currentNode instanceof TypeDeclaration) { org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration typeDecl = (org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration) this.ast.getBindingResolver().getCorrespondingNode(currentNode); if ((initializer.getModifiers() & Modifier.STATIC) != 0) { return typeDecl.staticInitializerScope; @@ -3891,9 +3570,7 @@ while(!(currentNode instanceof AbstractTypeDeclaration)) { currentNode = currentNode.getParent(); } - if (currentNode instanceof TypeDeclaration - || currentNode instanceof EnumDeclaration - || currentNode instanceof AnnotationTypeDeclaration) { + if (currentNode instanceof TypeDeclaration) { org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration typeDecl = (org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration) this.ast.getBindingResolver().getCorrespondingNode(currentNode); if ((fieldDeclaration.getModifiers() & Modifier.STATIC) != 0) { return typeDecl.staticInitializerScope; @@ -4578,16 +4255,6 @@ this.docParser = new DocCommentParser(this.ast, this.scanner, this.insideComments); } - protected void setModifiers(AnnotationTypeDeclaration typeDecl, org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration typeDeclaration) { - this.scanner.resetTo(typeDeclaration.declarationSourceStart, typeDeclaration.sourceStart); - this.setModifiers(typeDecl, typeDeclaration.annotations); - } - - protected void setModifiers(AnnotationTypeMemberDeclaration annotationTypeMemberDecl, org.eclipse.wst.jsdt.internal.compiler.ast.AnnotationMethodDeclaration annotationTypeMemberDeclaration) { - this.scanner.resetTo(annotationTypeMemberDeclaration.declarationSourceStart, annotationTypeMemberDeclaration.sourceStart); - this.setModifiers(annotationTypeMemberDecl, annotationTypeMemberDeclaration.annotations); - } - /** * @param bodyDeclaration */ @@ -4631,14 +4298,6 @@ case TerminalTokens.TokenNamestrictfp: modifier = createModifier(Modifier.ModifierKeyword.STRICTFP_KEYWORD); break; - case TerminalTokens.TokenNameAT : - // we have an annotation - if (annotations != null && indexInAnnotations < annotations.length) { - org.eclipse.wst.jsdt.internal.compiler.ast.Annotation annotation = annotations[indexInAnnotations++]; - modifier = convert(annotation); - this.scanner.resetTo(annotation.declarationSourceEnd + 1, this.compilationUnitSourceLength); - } - break; case TerminalTokens.TokenNameCOMMENT_BLOCK : case TerminalTokens.TokenNameCOMMENT_LINE : case TerminalTokens.TokenNameCOMMENT_JAVADOC : @@ -4656,25 +4315,6 @@ } - protected void setModifiers(EnumDeclaration enumDeclaration, org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration enumDeclaration2) { - this.scanner.resetTo(enumDeclaration2.declarationSourceStart, enumDeclaration2.sourceStart); - this.setModifiers(enumDeclaration, enumDeclaration2.annotations); - } - - protected void setModifiers(EnumConstantDeclaration enumConstantDeclaration, org.eclipse.wst.jsdt.internal.compiler.ast.FieldDeclaration fieldDeclaration) { - switch(this.ast.apiLevel) { - case AST.JLS2_INTERNAL : - enumConstantDeclaration.internalSetModifiers(fieldDeclaration.modifiers & ExtraCompilerModifiers.AccJustFlag); - if (fieldDeclaration.annotations != null) { - enumConstantDeclaration.setFlags(enumConstantDeclaration.getFlags() | ASTNode.MALFORMED); - } - break; - case AST.JLS3 : - this.scanner.resetTo(fieldDeclaration.declarationSourceStart, fieldDeclaration.sourceStart); - this.setModifiers(enumConstantDeclaration, fieldDeclaration.annotations); - } - } - /** * @param fieldDeclaration * @param fieldDecl @@ -4785,14 +4425,6 @@ case TerminalTokens.TokenNamestrictfp: modifier = createModifier(Modifier.ModifierKeyword.STRICTFP_KEYWORD); break; - case TerminalTokens.TokenNameAT : - // we have an annotation - if (annotations != null && indexInAnnotations < annotations.length) { - org.eclipse.wst.jsdt.internal.compiler.ast.Annotation annotation = annotations[indexInAnnotations++]; - modifier = convert(annotation); - this.scanner.resetTo(annotation.declarationSourceEnd + 1, this.compilationUnitSourceLength); - } - break; case TerminalTokens.TokenNameCOMMENT_BLOCK : case TerminalTokens.TokenNameCOMMENT_LINE : case TerminalTokens.TokenNameCOMMENT_JAVADOC : @@ -4860,14 +4492,6 @@ case TerminalTokens.TokenNamestrictfp: modifier = createModifier(Modifier.ModifierKeyword.STRICTFP_KEYWORD); break; - case TerminalTokens.TokenNameAT : - // we have an annotation - if (annotations != null && indexInAnnotations < annotations.length) { - org.eclipse.wst.jsdt.internal.compiler.ast.Annotation annotation = annotations[indexInAnnotations++]; - modifier = convert(annotation); - this.scanner.resetTo(annotation.declarationSourceEnd + 1, this.compilationUnitSourceLength); - } - break; case TerminalTokens.TokenNameCOMMENT_BLOCK : case TerminalTokens.TokenNameCOMMENT_LINE : case TerminalTokens.TokenNameCOMMENT_JAVADOC : @@ -4962,14 +4586,6 @@ case TerminalTokens.TokenNamestrictfp: modifier = createModifier(Modifier.ModifierKeyword.STRICTFP_KEYWORD); break; - case TerminalTokens.TokenNameAT : - // we have an annotation - if (annotations != null && indexInAnnotations < annotations.length) { - org.eclipse.wst.jsdt.internal.compiler.ast.Annotation annotation = annotations[indexInAnnotations++]; - modifier = convert(annotation); - this.scanner.resetTo(annotation.declarationSourceEnd + 1, this.compilationUnitSourceLength); - } - break; case TerminalTokens.TokenNameCOMMENT_BLOCK : case TerminalTokens.TokenNameCOMMENT_LINE : case TerminalTokens.TokenNameCOMMENT_JAVADOC : @@ -5043,14 +4659,6 @@ case TerminalTokens.TokenNamestrictfp: modifier = createModifier(Modifier.ModifierKeyword.STRICTFP_KEYWORD); break; - case TerminalTokens.TokenNameAT : - // we have an annotation - if (annotations != null && indexInAnnotations < annotations.length) { - org.eclipse.wst.jsdt.internal.compiler.ast.Annotation annotation = annotations[indexInAnnotations++]; - modifier = convert(annotation); - this.scanner.resetTo(annotation.declarationSourceEnd + 1, this.compilationUnitSourceLength); - } - break; case TerminalTokens.TokenNameCOMMENT_BLOCK : case TerminalTokens.TokenNameCOMMENT_LINE : case TerminalTokens.TokenNameCOMMENT_JAVADOC : @@ -5181,28 +4789,6 @@ return qualifiedName; } - protected void setTypeNameForAnnotation(org.eclipse.wst.jsdt.internal.compiler.ast.Annotation compilerAnnotation, Annotation annotation) { - TypeReference typeReference = compilerAnnotation.type; - if (typeReference instanceof QualifiedTypeReference) { - QualifiedTypeReference qualifiedTypeReference = (QualifiedTypeReference) typeReference; - char[][] tokens = qualifiedTypeReference.tokens; - long[] positions = qualifiedTypeReference.sourcePositions; - // QualifiedName - annotation.setTypeName(setQualifiedNameNameAndSourceRanges(tokens, positions, typeReference)); - } else { - SingleTypeReference singleTypeReference = (SingleTypeReference) typeReference; - final SimpleName name = new SimpleName(this.ast); - name.internalSetIdentifier(new String(singleTypeReference.token)); - int start = singleTypeReference.sourceStart; - int end = singleTypeReference.sourceEnd; - name.setSourceRange(start, end - start + 1); - name.index = 1; - annotation.setTypeName(name); - if (this.resolveBindings) { - recordNodes(name, typeReference); - } - } - } protected void setTypeForField(FieldDeclaration fieldDeclaration, Type type, int extraDimension) { if (extraDimension != 0) { @@ -5309,10 +4895,6 @@ } } - protected void setTypeForMethodDeclaration(AnnotationTypeMemberDeclaration annotationTypeMemberDeclaration, Type type, int extraDimension) { - annotationTypeMemberDeclaration.setType(type); - } - protected void setTypeForSingleVariableDeclaration(SingleVariableDeclaration singleVariableDeclaration, Type type, int extraDimension) { if (extraDimension != 0) { if (type.isArrayType()) {
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTMatcher.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTMatcher.java index 2ff9004..ada7d6e 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTMatcher.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTMatcher.java
@@ -163,60 +163,6 @@ return o1.equals(o2); } - /** - * Returns whether the given node and the other object match. - * <p> - * The default implementation provided by this class tests whether the - * other object is a node of the same type with structurally isomorphic - * child subtrees. Subclasses may override this method as needed. - * </p> - * - * @param node the node - * @param other the other object, or <code>null</code> - * @return <code>true</code> if the subtree matches, or - * <code>false</code> if they do not match or the other object has a - * different node type or is <code>null</code> - * @since 3.1 - */ - public boolean match(AnnotationTypeDeclaration node, Object other) { - if (!(other instanceof AnnotationTypeDeclaration)) { - return false; - } - AnnotationTypeDeclaration o = (AnnotationTypeDeclaration) other; - // node type added in JLS3 - ignore old JLS2-style modifiers - return (safeSubtreeMatch(node.getJavadoc(), o.getJavadoc()) - && safeSubtreeListMatch(node.modifiers(), o.modifiers()) - && safeSubtreeMatch(node.getName(), o.getName()) - && safeSubtreeListMatch(node.bodyDeclarations(), o.bodyDeclarations())); - } - - /** - * Returns whether the given node and the other object match. - * <p> - * The default implementation provided by this class tests whether the - * other object is a node of the same type with structurally isomorphic - * child subtrees. Subclasses may override this method as needed. - * </p> - * - * @param node the node - * @param other the other object, or <code>null</code> - * @return <code>true</code> if the subtree matches, or - * <code>false</code> if they do not match or the other object has a - * different node type or is <code>null</code> - * @since 3.1 - */ - public boolean match(AnnotationTypeMemberDeclaration node, Object other) { - if (!(other instanceof AnnotationTypeMemberDeclaration)) { - return false; - } - AnnotationTypeMemberDeclaration o = (AnnotationTypeMemberDeclaration) other; - // node type added in JLS3 - ignore old JLS2-style modifiers - return (safeSubtreeMatch(node.getJavadoc(), o.getJavadoc()) - && safeSubtreeListMatch(node.modifiers(), o.modifiers()) - && safeSubtreeMatch(node.getType(), o.getType()) - && safeSubtreeMatch(node.getName(), o.getName()) - && safeSubtreeMatch(node.getDefault(), o.getDefault())); - } /** * Returns whether the given node and the other object match. @@ -774,66 +720,7 @@ && safeSubtreeMatch(node.getBody(), o.getBody())); } - /** - * Returns whether the given node and the other object match. - * <p> - * The default implementation provided by this class tests whether the - * other object is a node of the same type with structurally isomorphic - * child subtrees. Subclasses may override this method as needed. - * </p> - * - * @param node the node - * @param other the other object, or <code>null</code> - * @return <code>true</code> if the subtree matches, or - * <code>false</code> if they do not match or the other object has a - * different node type or is <code>null</code> - * @since 3.1 - */ - public boolean match(EnumConstantDeclaration node, Object other) { - if (!(other instanceof EnumConstantDeclaration)) { - return false; - } - EnumConstantDeclaration o = (EnumConstantDeclaration) other; - return ( - safeSubtreeMatch(node.getJavadoc(), o.getJavadoc()) - && safeSubtreeListMatch(node.modifiers(), o.modifiers()) - && safeSubtreeMatch(node.getName(), o.getName()) - && safeSubtreeListMatch(node.arguments(), o.arguments()) - && safeSubtreeMatch( - node.getAnonymousClassDeclaration(), - o.getAnonymousClassDeclaration())); - } - /** - * Returns whether the given node and the other object match. - * <p> - * The default implementation provided by this class tests whether the - * other object is a node of the same type with structurally isomorphic - * child subtrees. Subclasses may override this method as needed. - * </p> - * - * @param node the node - * @param other the other object, or <code>null</code> - * @return <code>true</code> if the subtree matches, or - * <code>false</code> if they do not match or the other object has a - * different node type or is <code>null</code> - * @since 3.1 - */ - public boolean match(EnumDeclaration node, Object other) { - if (!(other instanceof EnumDeclaration)) { - return false; - } - EnumDeclaration o = (EnumDeclaration) other; - return ( - safeSubtreeMatch(node.getJavadoc(), o.getJavadoc()) - && safeSubtreeListMatch(node.modifiers(), o.modifiers()) - && safeSubtreeMatch(node.getName(), o.getName()) - && safeSubtreeListMatch(node.superInterfaceTypes(), o.superInterfaceTypes()) - && safeSubtreeListMatch(node.enumConstants(), o.enumConstants()) - && safeSubtreeListMatch( - node.bodyDeclarations(), - o.bodyDeclarations())); - } /** * Returns whether the given node and the other object match. @@ -1228,28 +1115,6 @@ return safeSubtreeListMatch(node.expressions(), o.expressions()); } - /** - * Returns whether the given node and the other object match. - * <p> - * The default implementation provided by this class tests whether the - * other object is a node of the same type with structurally isomorphic - * child subtrees. Subclasses may override this method as needed. - * </p> - * - * @param node the node - * @param other the other object, or <code>null</code> - * @return <code>true</code> if the subtree matches, or - * <code>false</code> if they do not match or the other object has a - * different node type or is <code>null</code> - * @since 3.1 - */ - public boolean match(MarkerAnnotation node, Object other) { - if (!(other instanceof MarkerAnnotation)) { - return false; - } - MarkerAnnotation o = (MarkerAnnotation) other; - return safeSubtreeMatch(node.getTypeName(), o.getTypeName()); - } /** * Returns whether the given node and the other object match. @@ -1276,29 +1141,6 @@ && safeSubtreeMatch(node.getName(), o.getName())); } - /** - * Returns whether the given node and the other object match. - * <p> - * The default implementation provided by this class tests whether the - * other object is a node of the same type with structurally isomorphic - * child subtrees. Subclasses may override this method as needed. - * </p> - * - * @param node the node - * @param other the other object, or <code>null</code> - * @return <code>true</code> if the subtree matches, or - * <code>false</code> if they do not match or the other object has a - * different node type or is <code>null</code> - * @since 3.1 - */ - public boolean match(MemberValuePair node, Object other) { - if (!(other instanceof MemberValuePair)) { - return false; - } - MemberValuePair o = (MemberValuePair) other; - return (safeSubtreeMatch(node.getName(), o.getName()) - && safeSubtreeMatch(node.getValue(), o.getValue())); - } /** * Returns whether the given node and the other object match. @@ -1468,29 +1310,6 @@ return (node.getKeyword() == o.getKeyword()); } - /** - * Returns whether the given node and the other object match. - * <p> - * The default implementation provided by this class tests whether the - * other object is a node of the same type with structurally isomorphic - * child subtrees. Subclasses may override this method as needed. - * </p> - * - * @param node the node - * @param other the other object, or <code>null</code> - * @return <code>true</code> if the subtree matches, or - * <code>false</code> if they do not match or the other object has a - * different node type or is <code>null</code> - * @since 3.1 - */ - public boolean match(NormalAnnotation node, Object other) { - if (!(other instanceof NormalAnnotation)) { - return false; - } - NormalAnnotation o = (NormalAnnotation) other; - return (safeSubtreeMatch(node.getTypeName(), o.getTypeName()) - && safeSubtreeListMatch(node.values(), o.values())); - } /** * Returns whether the given node and the other object match. @@ -1803,29 +1622,6 @@ return safeSubtreeMatch(node.getName(), o.getName()); } - /** - * Returns whether the given node and the other object match. - * <p> - * The default implementation provided by this class tests whether the - * other object is a node of the same type with structurally isomorphic - * child subtrees. Subclasses may override this method as needed. - * </p> - * - * @param node the node - * @param other the other object, or <code>null</code> - * @return <code>true</code> if the subtree matches, or - * <code>false</code> if they do not match or the other object has a - * different node type or is <code>null</code> - * @since 3.1 - */ - public boolean match(SingleMemberAnnotation node, Object other) { - if (!(other instanceof SingleMemberAnnotation)) { - return false; - } - SingleMemberAnnotation o = (SingleMemberAnnotation) other; - return (safeSubtreeMatch(node.getTypeName(), o.getTypeName()) - && safeSubtreeMatch(node.getValue(), o.getValue())); - } /** * Returns whether the given node and the other object match.
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTNode.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTNode.java index 089d842..6232c9e 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTNode.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTNode.java
@@ -649,21 +649,6 @@ */ public static final int ENHANCED_FOR_STATEMENT = 70; - /** - * Node type constant indicating a node of type - * <code>EnumDeclaration</code>. - * @see EnumDeclaration - * @since 3.1 - */ - public static final int ENUM_DECLARATION = 71; - - /** - * Node type constant indicating a node of type - * <code>EnumConstantDeclaration</code>. - * @see EnumConstantDeclaration - * @since 3.1 - */ - public static final int ENUM_CONSTANT_DECLARATION = 72; /** * Node type constant indicating a node of type @@ -697,53 +682,6 @@ */ public static final int WILDCARD_TYPE = 76; - /** - * Node type constant indicating a node of type - * <code>NormalAnnotation</code>. - * @see NormalAnnotation - * @since 3.1 - */ - public static final int NORMAL_ANNOTATION = 77; - - /** - * Node type constant indicating a node of type - * <code>MarkerAnnotation</code>. - * @see MarkerAnnotation - * @since 3.1 - */ - public static final int MARKER_ANNOTATION = 78; - - /** - * Node type constant indicating a node of type - * <code>SingleMemberAnnotation</code>. - * @see SingleMemberAnnotation - * @since 3.1 - */ - public static final int SINGLE_MEMBER_ANNOTATION = 79; - - /** - * Node type constant indicating a node of type - * <code>MemberValuePair</code>. - * @see MemberValuePair - * @since 3.1 - */ - public static final int MEMBER_VALUE_PAIR = 80; - - /** - * Node type constant indicating a node of type - * <code>AnnotationTypeDeclaration</code>. - * @see AnnotationTypeDeclaration - * @since 3.1 - */ - public static final int ANNOTATION_TYPE_DECLARATION = 81; - - /** - * Node type constant indicating a node of type - * <code>AnnotationTypeMemberDeclaration</code>. - * @see AnnotationTypeMemberDeclaration - * @since 3.1 - */ - public static final int ANNOTATION_TYPE_MEMBER_DECLARATION = 82; public static final int FOR_IN_STATEMENT = 83; @@ -781,10 +719,6 @@ */ public static Class nodeClassForType(int nodeType) { switch (nodeType) { - case ANNOTATION_TYPE_DECLARATION : - return AnnotationTypeDeclaration.class; - case ANNOTATION_TYPE_MEMBER_DECLARATION : - return AnnotationTypeMemberDeclaration.class; case ANONYMOUS_CLASS_DECLARATION : return AnonymousClassDeclaration.class; case ARRAY_ACCESS : @@ -829,10 +763,6 @@ return EmptyStatement.class; case ENHANCED_FOR_STATEMENT : return EnhancedForStatement.class; - case ENUM_CONSTANT_DECLARATION : - return EnumConstantDeclaration.class; - case ENUM_DECLARATION : - return EnumDeclaration.class; case EXPRESSION_STATEMENT : return ExpressionStatement.class; case FIELD_ACCESS : @@ -859,12 +789,8 @@ return LabeledStatement.class; case LINE_COMMENT : return LineComment.class; - case MARKER_ANNOTATION : - return MarkerAnnotation.class; case MEMBER_REF : return MemberRef.class; - case MEMBER_VALUE_PAIR : - return MemberValuePair.class; case FUNCTION_DECLARATION : return FunctionDeclaration.class; case FUNCTION_INVOCATION : @@ -875,8 +801,6 @@ return FunctionRefParameter.class; case MODIFIER : return Modifier.class; - case NORMAL_ANNOTATION : - return NormalAnnotation.class; case NULL_LITERAL : return NullLiteral.class; case UNDEFINED_LITERAL : @@ -905,8 +829,6 @@ return SimpleName.class; case SIMPLE_TYPE : return SimpleType.class; - case SINGLE_MEMBER_ANNOTATION : - return SingleMemberAnnotation.class; case SINGLE_VARIABLE_DECLARATION : return SingleVariableDeclaration.class; case STRING_LITERAL :
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTSyntaxErrorPropagator.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTSyntaxErrorPropagator.java index 0356b06..9ed9163 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTSyntaxErrorPropagator.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTSyntaxErrorPropagator.java
@@ -120,20 +120,6 @@ /* * Method declared on ASTVisitor. */ - public boolean visit(AnnotationTypeDeclaration node) { - return checkAndTagAsMalformed(node); - } - - /* - * Method declared on ASTVisitor. - */ - public boolean visit(EnumDeclaration node) { - return checkAndTagAsMalformed(node); - } - - /* - * Method declared on ASTVisitor. - */ public boolean visit(TypeDeclaration node) { return checkAndTagAsMalformed(node); }
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTVisitor.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTVisitor.java index 69dadd6..5fbdb67 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTVisitor.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/ASTVisitor.java
@@ -178,41 +178,6 @@ * @return <code>true</code> if the children of this node should be * visited, and <code>false</code> if the children of this node should * be skipped - * @since 3.1 - */ - public boolean visit(AnnotationTypeDeclaration node) { - return true; - } - - - /** - * Visits the given type-specific AST node. - * <p> - * The default implementation does nothing and return true. - * Subclasses may reimplement. - * </p> - * - * @param node the node to visit - * @return <code>true</code> if the children of this node should be - * visited, and <code>false</code> if the children of this node should - * be skipped - * @since 3.1 - */ - public boolean visit(AnnotationTypeMemberDeclaration node) { - return true; - } - - /** - * Visits the given type-specific AST node. - * <p> - * The default implementation does nothing and return true. - * Subclasses may reimplement. - * </p> - * - * @param node the node to visit - * @return <code>true</code> if the children of this node should be - * visited, and <code>false</code> if the children of this node should - * be skipped */ public boolean visit(AnonymousClassDeclaration node) { return true; @@ -577,40 +542,6 @@ * @return <code>true</code> if the children of this node should be * visited, and <code>false</code> if the children of this node should * be skipped - * @since 3.1 - */ - public boolean visit(EnumConstantDeclaration node) { - return true; - } - - /** - * Visits the given type-specific AST node. - * <p> - * The default implementation does nothing and return true. - * Subclasses may reimplement. - * </p> - * - * @param node the node to visit - * @return <code>true</code> if the children of this node should be - * visited, and <code>false</code> if the children of this node should - * be skipped - * @since 3.1 - */ - public boolean visit(EnumDeclaration node) { - return true; - } - - /** - * Visits the given type-specific AST node. - * <p> - * The default implementation does nothing and return true. - * Subclasses may reimplement. - * </p> - * - * @param node the node to visit - * @return <code>true</code> if the children of this node should be - * visited, and <code>false</code> if the children of this node should - * be skipped */ public boolean visit(ExpressionStatement node) { return true; @@ -820,23 +751,6 @@ return true; } - /** - * Visits the given type-specific AST node. - * <p> - * The default implementation does nothing and return true. - * Subclasses may reimplement. - * </p> - * - * @param node the node to visit - * @return <code>true</code> if the children of this node should be - * visited, and <code>false</code> if the children of this node should - * be skipped - * @since 3.1 - */ - public boolean visit(MarkerAnnotation node) { - return true; - } - /** * Visits the given type-specific AST node. @@ -867,24 +781,6 @@ * @return <code>true</code> if the children of this node should be * visited, and <code>false</code> if the children of this node should * be skipped - * @since 3.1 - */ - public boolean visit(MemberValuePair node) { - return true; - } - - - /** - * Visits the given type-specific AST node. - * <p> - * The default implementation does nothing and return true. - * Subclasses may reimplement. - * </p> - * - * @param node the node to visit - * @return <code>true</code> if the children of this node should be - * visited, and <code>false</code> if the children of this node should - * be skipped * @since 3.0 */ public boolean visit(FunctionRef node) { @@ -972,23 +868,6 @@ * @return <code>true</code> if the children of this node should be * visited, and <code>false</code> if the children of this node should * be skipped - * @since 3.1 - */ - public boolean visit(NormalAnnotation node) { - return true; - } - - /** - * Visits the given type-specific AST node. - * <p> - * The default implementation does nothing and return true. - * Subclasses may reimplement. - * </p> - * - * @param node the node to visit - * @return <code>true</code> if the children of this node should be - * visited, and <code>false</code> if the children of this node should - * be skipped */ public boolean visit(NullLiteral node) { return true; @@ -1194,23 +1073,6 @@ } - /** - * Visits the given type-specific AST node. - * <p> - * The default implementation does nothing and return true. - * Subclasses may reimplement. - * </p> - * - * @param node the node to visit - * @return <code>true</code> if the children of this node should be - * visited, and <code>false</code> if the children of this node should - * be skipped - * @since 3.1 - */ - public boolean visit(SingleMemberAnnotation node) { - return true; - } - /** * Visits the given type-specific AST node. @@ -1568,31 +1430,6 @@ public boolean visit(FunctionExpression node) { return true; } - /** - * End of visit the given type-specific AST node. - * <p> - * The default implementation does nothing. Subclasses may reimplement. - * </p> - * - * @param node the node to visit - * @since 3.1 - */ - public void endVisit(AnnotationTypeDeclaration node) { - // default implementation: do nothing - } - - /** - * End of visit the given type-specific AST node. - * <p> - * The default implementation does nothing. Subclasses may reimplement. - * </p> - * - * @param node the node to visit - * @since 3.1 - */ - public void endVisit(AnnotationTypeMemberDeclaration node) { - // default implementation: do nothing - } /** * End of visit the given type-specific AST node. @@ -1875,32 +1712,6 @@ * </p> * * @param node the node to visit - * @since 3.1 - */ - public void endVisit(EnumConstantDeclaration node) { - // default implementation: do nothing - } - - /** - * End of visit the given type-specific AST node. - * <p> - * The default implementation does nothing. Subclasses may reimplement. - * </p> - * - * @param node the node to visit - * @since 3.1 - */ - public void endVisit(EnumDeclaration node) { - // default implementation: do nothing - } - - /** - * End of visit the given type-specific AST node. - * <p> - * The default implementation does nothing. Subclasses may reimplement. - * </p> - * - * @param node the node to visit */ public void endVisit(ExpressionStatement node) { // default implementation: do nothing @@ -2057,20 +1868,6 @@ public void endVisit(ListExpression node) { // default implementation: do nothing } - - /** - * End of visit the given type-specific AST node. - * <p> - * The default implementation does nothing. Subclasses may reimplement. - * </p> - * - * @param node the node to visit - * @since 3.1 - */ - public void endVisit(MarkerAnnotation node) { - // default implementation: do nothing - } - /** * End of visit the given type-specific AST node. * <p> @@ -2091,19 +1888,6 @@ * </p> * * @param node the node to visit - * @since 3.1 - */ - public void endVisit(MemberValuePair node) { - // default implementation: do nothing - } - - /** - * End of visit the given type-specific AST node. - * <p> - * The default implementation does nothing. Subclasses may reimplement. - * </p> - * - * @param node the node to visit * @since 3.0 */ public void endVisit(FunctionRef node) { @@ -2167,19 +1951,6 @@ * </p> * * @param node the node to visit - * @since 3.1 - */ - public void endVisit(NormalAnnotation node) { - // default implementation: do nothing - } - - /** - * End of visit the given type-specific AST node. - * <p> - * The default implementation does nothing. Subclasses may reimplement. - * </p> - * - * @param node the node to visit */ public void endVisit(NullLiteral node) { // default implementation: do nothing @@ -2342,19 +2113,6 @@ * </p> * * @param node the node to visit - * @since 3.1 - */ - public void endVisit(SingleMemberAnnotation node) { - // default implementation: do nothing - } - - /** - * End of visit the given type-specific AST node. - * <p> - * The default implementation does nothing. Subclasses may reimplement. - * </p> - * - * @param node the node to visit */ public void endVisit(SingleVariableDeclaration node) { // default implementation: do nothing
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/Annotation.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/Annotation.java deleted file mode 100644 index d0f30a6..0000000 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/Annotation.java +++ /dev/null
@@ -1,185 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.core.dom; - -/** - * Abstract base class of AST nodes that represent annotations. - * <p> - * <pre> - * Annotation: - * NormalAnnotation - * MarkerAnnotation - * SingleMemberAnnotation - * </pre> - * </p> - * - * Provisional API: This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - */ -public abstract class Annotation extends Expression implements IExtendedModifier { - - /** - * Returns structural property descriptor for the "typeName" property - * of this node. - * - * @return the property descriptor - */ - abstract ChildPropertyDescriptor internalTypeNameProperty(); - - /** - * Returns structural property descriptor for the "typeName" property - * of this node. - * - * @return the property descriptor - */ - public final ChildPropertyDescriptor getTypeNameProperty() { - return internalTypeNameProperty(); - } - - /** - * Creates and returns a structural property descriptor for the - * "typeName" property declared on the given concrete node type. - * - * @return the property descriptor - */ - static final ChildPropertyDescriptor internalTypeNamePropertyFactory(Class nodeClass) { - return new ChildPropertyDescriptor(nodeClass, "typeName", Name.class, MANDATORY, NO_CYCLE_RISK); //$NON-NLS-1$ - } - - /** - * The annotation type name; lazily initialized; defaults to an unspecified, - * legal Java identifier. - */ - Name typeName = null; - - /** - * Creates a new AST node for an annotation node owned by the - * given AST. - * <p> - * N.B. This constructor is package-private. - * </p> - * - * @param ast the AST that is to own this node - */ - Annotation(AST ast) { - super(ast); - } - - /** - * @see IExtendedModifier#isModifier() - */ - public boolean isModifier() { - return false; - } - - /** - * @see IExtendedModifier#isAnnotation() - */ - public boolean isAnnotation() { - return true; - } - - /** - * Returns the annotation type name of this annotation. - * - * @return the annotation type name - */ - public Name getTypeName() { - if (this.typeName == null) { - // lazy init must be thread-safe for readers - synchronized (this) { - if (this.typeName == null) { - preLazyInit(); - this.typeName = new SimpleName(this.ast); - postLazyInit(this.typeName, internalTypeNameProperty()); - } - } - } - return this.typeName; - } - - /** - * Sets the annotation type name of this annotation. - * - * @param typeName the annotation type name - * @exception IllegalArgumentException if: - * <ul> - * <li>the node belongs to a different AST</li> - * <li>the node already has a parent</li> - * </ul> - */ - public void setTypeName(Name typeName) { - if (typeName == null) { - throw new IllegalArgumentException(); - } - ChildPropertyDescriptor p = internalTypeNameProperty(); - ASTNode oldChild = this.typeName; - preReplaceChild(oldChild, typeName, p); - this.typeName = typeName; - postReplaceChild(oldChild, typeName, p); - } - - /** - * Returns whether this is a normal annotation - * ({@link NormalAnnotation}). - * - * @return <code>true</code> if this is a normal annotation, - * and <code>false</code> otherwise - */ - public boolean isNormalAnnotation() { - return (this instanceof NormalAnnotation); - } - - /** - * Returns whether this is a marker annotation - * ({@link MarkerAnnotation}). - * - * @return <code>true</code> if this is a marker annotation, - * and <code>false</code> otherwise - */ - public boolean isMarkerAnnotation() { - return (this instanceof MarkerAnnotation); - } - - /** - * Returns whether this is a single member annotation. - * ({@link SingleMemberAnnotation}). - * - * @return <code>true</code> if this is a single member annotation, - * and <code>false</code> otherwise - */ - public boolean isSingleMemberAnnotation() { - return (this instanceof SingleMemberAnnotation); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - int memSize() { - return BASE_NODE_SIZE + 1 * 4; - } - - /** - * Resolves and returns the resolved annotation for this annotation. - * <p> - * Note that bindings (which includes resolved annotations) are generally unavailable unless - * requested when the AST is being built. - * </p> - * - * @return the resolved annotation, or <code>null</code> if the annotation cannot be resolved - * @since 3.2 - */ - public IAnnotationBinding resolveAnnotationBinding() { - return this.ast.getBindingResolver().resolveAnnotation(this); - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/AnnotationBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/AnnotationBinding.java deleted file mode 100644 index 28b8a9d..0000000 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/AnnotationBinding.java +++ /dev/null
@@ -1,169 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005, 2007 BEA Systems, Inc. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * tyeung@bea.com - initial API and implementation - * IBM Corporation - implemented methods from IBinding - * IBM Corporation - renamed from ResolvedAnnotation to AnnotationBinding - *******************************************************************************/ -package org.eclipse.wst.jsdt.core.dom; - -import org.eclipse.wst.jsdt.core.IJavaScriptElement; -import org.eclipse.wst.jsdt.internal.compiler.lookup.ElementValuePair; -import org.eclipse.wst.jsdt.internal.compiler.lookup.MethodBinding; -import org.eclipse.wst.jsdt.internal.compiler.lookup.ReferenceBinding; -import org.eclipse.wst.jsdt.internal.compiler.util.HashtableOfObject; - -/** - * Internal class - * - * Provisional API: This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - */ -class AnnotationBinding implements IAnnotationBinding { - static final AnnotationBinding[] NoAnnotations = new AnnotationBinding[0]; - private org.eclipse.wst.jsdt.internal.compiler.lookup.AnnotationBinding internalAnnotation; - private BindingResolver bindingResolver; - - AnnotationBinding(org.eclipse.wst.jsdt.internal.compiler.lookup.AnnotationBinding annotation, BindingResolver resolver) { - if (annotation == null) - throw new IllegalStateException(); - internalAnnotation = annotation; - bindingResolver = resolver; - } - - public IAnnotationBinding[] getAnnotations() { - return NoAnnotations; - } - - public ITypeBinding getAnnotationType() { - ITypeBinding binding = this.bindingResolver.getTypeBinding(this.internalAnnotation.getAnnotationType()); - if (binding == null || !binding.isAnnotation()) - return null; - return binding; - } - - public IMemberValuePairBinding[] getDeclaredMemberValuePairs() { - ElementValuePair[] internalPairs = this.internalAnnotation.getElementValuePairs(); - int length = internalPairs.length; - IMemberValuePairBinding[] pairs = length == 0 ? MemberValuePairBinding.NoPair : new MemberValuePairBinding[length]; - for (int i = 0; i < length; i++) - pairs[i] = this.bindingResolver.getMemberValuePairBinding(internalPairs[i]); - return pairs; - } - - public IMemberValuePairBinding[] getAllMemberValuePairs() { - IMemberValuePairBinding[] pairs = getDeclaredMemberValuePairs(); - ReferenceBinding typeBinding = this.internalAnnotation.getAnnotationType(); - if (typeBinding == null) return pairs; - MethodBinding[] methods = typeBinding.availableMethods(); // resilience - int methodLength = methods == null ? 0 : methods.length; - if (methodLength == 0) return pairs; - - int declaredLength = pairs.length; - if (declaredLength == methodLength) - return pairs; - - HashtableOfObject table = new HashtableOfObject(declaredLength); - for (int i = 0; i < declaredLength; i++) - table.put(((MemberValuePairBinding) pairs[i]).internalName(), pairs[i]); - - // handle case of more methods than declared members - IMemberValuePairBinding[] allPairs = new IMemberValuePairBinding[methodLength]; - for (int i = 0; i < methodLength; i++) { - Object pair = table.get(methods[i].selector); - allPairs[i] = pair == null ? new DefaultValuePairBinding(methods[i], this.bindingResolver) : (IMemberValuePairBinding) pair; - } - return allPairs; - } - - public IJavaScriptElement getJavaElement() { - ITypeBinding annotationType = getAnnotationType(); - if (annotationType == null) - return null; - return annotationType.getJavaElement(); - } - - public String getKey() { - // TODO when implementing, update spec in IBinding - return null; - } - - public int getKind() { - return IBinding.ANNOTATION; - } - - public int getModifiers() { - return Modifier.NONE; - } - - public String getName() { - ITypeBinding annotationType = getAnnotationType(); - if (annotationType == null) { - return new String(this.internalAnnotation.getAnnotationType().sourceName()); - } else { - return annotationType.getName(); - } - } - - public boolean isDeprecated() { - ReferenceBinding typeBinding = this.internalAnnotation.getAnnotationType(); - if (typeBinding == null) return false; - return typeBinding.isDeprecated(); - } - - public boolean isEqualTo(IBinding binding) { - if (this == binding) - return true; - if (binding.getKind() != IBinding.ANNOTATION) - return false; - IAnnotationBinding other = (IAnnotationBinding) binding; - if (!getAnnotationType().isEqualTo(other.getAnnotationType())) - return false; - IMemberValuePairBinding[] memberValuePairs = getDeclaredMemberValuePairs(); - IMemberValuePairBinding[] otherMemberValuePairs = other.getDeclaredMemberValuePairs(); - if (memberValuePairs.length != otherMemberValuePairs.length) - return false; - for (int i = 0, length = memberValuePairs.length; i < length; i++) { - if (!memberValuePairs[i].isEqualTo(otherMemberValuePairs[i])) - return false; - } - return true; - } - - /* - * (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.IBinding#isRecovered() - */ - public boolean isRecovered() { - return false; - } - - public boolean isSynthetic() { - return false; - } - - public String toString() { - ITypeBinding type = getAnnotationType(); - final StringBuffer buffer = new StringBuffer(); - buffer.append('@'); - if (type != null) - buffer.append(type.getName()); - buffer.append('('); - IMemberValuePairBinding[] pairs = getDeclaredMemberValuePairs(); - for (int i = 0, len = pairs.length; i < len; i++) { - if (i != 0) - buffer.append(", "); //$NON-NLS-1$ - buffer.append(pairs[i].toString()); - } - buffer.append(')'); - return buffer.toString(); - } - -}
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/AnnotationTypeDeclaration.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/AnnotationTypeDeclaration.java deleted file mode 100644 index fdc91e1..0000000 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/AnnotationTypeDeclaration.java +++ /dev/null
@@ -1,275 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.core.dom; - -import java.util.ArrayList; -import java.util.List; - -/** - * Annotation type declaration AST node type (added in JLS3 API). - * <pre> - * AnnotationTypeDeclaration: - * [ Javadoc ] { ExtendedModifier } <b>@</b> <b>interface</b> Identifier - * <b>{</b> { AnnotationTypeBodyDeclaration | <b>;</b> } <b>}</b> - * AnnotationTypeBodyDeclaration: - * AnnotationTypeMemberDeclaration - * FieldDeclaration - * TypeDeclaration - * EnumDeclaration - * AnnotationTypeDeclaration - * </pre> - * <p> - * The thing to note is that method declaration are replaced - * by annotation type member declarations in this context. - * </p> - * <p> - * When a Javadoc comment is present, the source - * range begins with the first character of the "/**" comment delimiter. - * When there is no Javadoc comment, the source range begins with the first - * character of the first modifier keyword (if modifiers), or the - * first character of the "@interface" (if no - * modifiers). The source range extends through the last character of the "}" - * token following the body declarations. - * </p> - * - * - * Provisional API: This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - */ -public class AnnotationTypeDeclaration extends AbstractTypeDeclaration { - - /** - * The "javadoc" structural property of this node type. - */ - public static final ChildPropertyDescriptor JAVADOC_PROPERTY = - internalJavadocPropertyFactory(AnnotationTypeDeclaration.class); - - /** - * The "modifiers" structural property of this node type. - */ - public static final ChildListPropertyDescriptor MODIFIERS2_PROPERTY = - internalModifiers2PropertyFactory(AnnotationTypeDeclaration.class); - - /** - * The "name" structural property of this node type. - */ - public static final ChildPropertyDescriptor NAME_PROPERTY = - internalNamePropertyFactory(AnnotationTypeDeclaration.class); - - /** - * The "bodyDeclarations" structural property of this node type. - */ - public static final ChildListPropertyDescriptor BODY_DECLARATIONS_PROPERTY = - internalBodyDeclarationPropertyFactory(AnnotationTypeDeclaration.class); - - /** - * A list of property descriptors (element type: - * {@link StructuralPropertyDescriptor}), - * or null if uninitialized. - */ - private static final List PROPERTY_DESCRIPTORS; - - static { - List properyList = new ArrayList(5); - createPropertyList(AnnotationTypeDeclaration.class, properyList); - addProperty(JAVADOC_PROPERTY, properyList); - addProperty(MODIFIERS2_PROPERTY, properyList); - addProperty(NAME_PROPERTY, properyList); - addProperty(BODY_DECLARATIONS_PROPERTY, properyList); - PROPERTY_DESCRIPTORS = reapPropertyList(properyList); - } - - /** - * Returns a list of structural property descriptors for this node type. - * Clients must not modify the result. - * - * @param apiLevel the API level; one of the - * <code>AST.JLS*</code> constants - - * @return a list of property descriptors (element type: - * {@link StructuralPropertyDescriptor}) - */ - public static List propertyDescriptors(int apiLevel) { - return PROPERTY_DESCRIPTORS; - } - - /** - * Creates a new AST node for an annotation type declaration owned by the given - * AST. By default, the type declaration is for an annotation - * type of an unspecified, but legal, name; no modifiers; no javadoc; - * and an empty list of body declarations. - * <p> - * N.B. This constructor is package-private; all subclasses must be - * declared in the same package; clients are unable to declare - * additional subclasses. - * </p> - * - * @param ast the AST that is to own this node - */ - AnnotationTypeDeclaration(AST ast) { - super(ast); - unsupportedIn2(); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final List internalStructuralPropertiesForType(int apiLevel) { - return propertyDescriptors(apiLevel); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final ASTNode internalGetSetChildProperty(ChildPropertyDescriptor property, boolean get, ASTNode child) { - if (property == JAVADOC_PROPERTY) { - if (get) { - return getJavadoc(); - } else { - setJavadoc((JSdoc) child); - return null; - } - } - if (property == NAME_PROPERTY) { - if (get) { - return getName(); - } else { - setName((SimpleName) child); - return null; - } - } - // allow default implementation to flag the error - return super.internalGetSetChildProperty(property, get, child); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final List internalGetChildListProperty(ChildListPropertyDescriptor property) { - if (property == MODIFIERS2_PROPERTY) { - return modifiers(); - } - if (property == BODY_DECLARATIONS_PROPERTY) { - return bodyDeclarations(); - } - // allow default implementation to flag the error - return super.internalGetChildListProperty(property); - } - - /* (omit javadoc for this method) - * Method declared on BodyDeclaration. - */ - final ChildPropertyDescriptor internalJavadocProperty() { - return JAVADOC_PROPERTY; - } - - /* (omit javadoc for this method) - * Method declared on BodyDeclaration. - */ - final ChildListPropertyDescriptor internalModifiers2Property() { - return MODIFIERS2_PROPERTY; - } - - /* (omit javadoc for this method) - * Method declared on BodyDeclaration. - */ - final SimplePropertyDescriptor internalModifiersProperty() { - // this property will not be asked for (node type did not exist in JLS2) - return null; - } - - /* (omit javadoc for this method) - * Method declared on AbstractTypeDeclaration. - */ - final ChildPropertyDescriptor internalNameProperty() { - return NAME_PROPERTY; - } - - /* (omit javadoc for this method) - * Method declared on AbstractTypeDeclaration. - */ - final ChildListPropertyDescriptor internalBodyDeclarationsProperty() { - return BODY_DECLARATIONS_PROPERTY; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final int getNodeType0() { - return ANNOTATION_TYPE_DECLARATION; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - ASTNode clone0(AST target) { - AnnotationTypeDeclaration result = new AnnotationTypeDeclaration(target); - result.setSourceRange(this.getStartPosition(), this.getLength()); - result.setJavadoc( - (JSdoc) ASTNode.copySubtree(target, getJavadoc())); - result.modifiers().addAll(ASTNode.copySubtrees(target, modifiers())); - result.setName((SimpleName) getName().clone(target)); - result.bodyDeclarations().addAll(ASTNode.copySubtrees(target, bodyDeclarations())); - return result; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final boolean subtreeMatch0(ASTMatcher matcher, Object other) { - // dispatch to correct overloaded match method - return matcher.match(this, other); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - void accept0(ASTVisitor visitor) { - boolean visitChildren = visitor.visit(this); - if (visitChildren) { - // visit children in normal left to right reading order - acceptChild(visitor, getJavadoc()); - acceptChildren(visitor, this.modifiers); - acceptChild(visitor, getName()); - acceptChildren(visitor, this.bodyDeclarations); - } - visitor.endVisit(this); - } - - /* (omit javadoc for this method) - * Method declared on AsbtractTypeDeclaration. - */ - ITypeBinding internalResolveBinding() { - return this.ast.getBindingResolver().resolveType(this); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - int memSize() { - return super.memSize(); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - int treeSize() { - return - memSize() - + (this.optionalDocComment == null ? 0 : getJavadoc().treeSize()) - + this.modifiers.listSize() - + (this.typeName == null ? 0 : getName().treeSize()) - + this.bodyDeclarations.listSize(); - } -} -
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/AnnotationTypeMemberDeclaration.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/AnnotationTypeMemberDeclaration.java deleted file mode 100644 index 336d6c0..0000000 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/AnnotationTypeMemberDeclaration.java +++ /dev/null
@@ -1,419 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.core.dom; - -import java.util.ArrayList; -import java.util.List; - -/** - * Annotation type member declaration AST node type (added in JLS3 API). - * <pre> - * AnnotationTypeMemberDeclaration: - * [ Javadoc ] { ExtendedModifier } - * Type Identifier <b>(</b> <b>)</b> [ <b>default</b> Expression ] <b>;</b> - * </pre> - * <p> - * Note that annotation type member declarations are only meaningful as - * elements of {@link AnnotationTypeDeclaration#bodyDeclarations()}. - * </p> - * <p> - * When a Javadoc comment is present, the source - * range begins with the first character of the "/**" comment delimiter. - * When there is no Javadoc comment, the source range begins with the first - * character of the first modifier keyword (if modifiers), - * or the first character of the member type (no modifiers). - * The source range extends through the last character of the - * ";" token. - * </p> - * - * Provisional API: This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - */ -public class AnnotationTypeMemberDeclaration extends BodyDeclaration { - - /** - * The "javadoc" structural property of this node type. - */ - public static final ChildPropertyDescriptor JAVADOC_PROPERTY = - internalJavadocPropertyFactory(AnnotationTypeMemberDeclaration.class); - - /** - * The "modifiers" structural property of this node type. - */ - public static final ChildListPropertyDescriptor MODIFIERS2_PROPERTY = - internalModifiers2PropertyFactory(AnnotationTypeMemberDeclaration.class); - - /** - * The "name" structural property of this node type. - */ - public static final ChildPropertyDescriptor NAME_PROPERTY = - new ChildPropertyDescriptor(AnnotationTypeMemberDeclaration.class, "name", SimpleName.class, MANDATORY, NO_CYCLE_RISK); //$NON-NLS-1$ - - /** - * The "type" structural property of this node type. - */ - public static final ChildPropertyDescriptor TYPE_PROPERTY = - new ChildPropertyDescriptor(AnnotationTypeMemberDeclaration.class, "type", Type.class, MANDATORY, NO_CYCLE_RISK); //$NON-NLS-1$ - - /** - * The "default" structural property of this node type. - */ - public static final ChildPropertyDescriptor DEFAULT_PROPERTY = - new ChildPropertyDescriptor(AnnotationTypeMemberDeclaration.class, "default", Expression.class, OPTIONAL, CYCLE_RISK); //$NON-NLS-1$ - - /** - * A list of property descriptors (element type: - * {@link StructuralPropertyDescriptor}), - * or null if uninitialized. - */ - private static final List PROPERTY_DESCRIPTORS; - - static { - List properyList = new ArrayList(6); - createPropertyList(AnnotationTypeMemberDeclaration.class, properyList); - addProperty(JAVADOC_PROPERTY, properyList); - addProperty(MODIFIERS2_PROPERTY, properyList); - addProperty(NAME_PROPERTY, properyList); - addProperty(TYPE_PROPERTY, properyList); - addProperty(DEFAULT_PROPERTY, properyList); - PROPERTY_DESCRIPTORS = reapPropertyList(properyList); - } - - /** - * Returns a list of structural property descriptors for this node type. - * Clients must not modify the result. - * - * @param apiLevel the API level; one of the - * <code>AST.JLS*</code> constants - * @return a list of property descriptors (element type: - * {@link StructuralPropertyDescriptor}) - */ - public static List propertyDescriptors(int apiLevel) { - return PROPERTY_DESCRIPTORS; - } - - /** - * The member name; lazily initialized; defaults to an unspecified, - * legal Java identifier. - */ - private SimpleName memberName = null; - - /** - * The member type; lazily initialized; defaults to int. - */ - private Type memberType = null; - - /** - * The optional default expression; <code>null</code> for none; defaults to none. - */ - private Expression optionalDefaultValue = null; - - /** - * Creates a new AST node for an annotation type member declaration owned - * by the given AST. By default, the declaration is for a member of an - * unspecified, but legal, name; no modifiers; no javadoc; - * an unspecified value type; and no default value. - * <p> - * N.B. This constructor is package-private; all subclasses must be - * declared in the same package; clients are unable to declare - * additional subclasses. - * </p> - * - * @param ast the AST that is to own this node - */ - AnnotationTypeMemberDeclaration(AST ast) { - super(ast); - unsupportedIn2(); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final List internalStructuralPropertiesForType(int apiLevel) { - return propertyDescriptors(apiLevel); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final ASTNode internalGetSetChildProperty(ChildPropertyDescriptor property, boolean get, ASTNode child) { - if (property == JAVADOC_PROPERTY) { - if (get) { - return getJavadoc(); - } else { - setJavadoc((JSdoc) child); - return null; - } - } - if (property == NAME_PROPERTY) { - if (get) { - return getName(); - } else { - setName((SimpleName) child); - return null; - } - } - if (property == NAME_PROPERTY) { - if (get) { - return getName(); - } else { - setName((SimpleName) child); - return null; - } - } - if (property == TYPE_PROPERTY) { - if (get) { - return getType(); - } else { - setType((Type) child); - return null; - } - } - if (property == DEFAULT_PROPERTY) { - if (get) { - return getDefault(); - } else { - setDefault((Expression) child); - return null; - } - } - // allow default implementation to flag the error - return super.internalGetSetChildProperty(property, get, child); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final List internalGetChildListProperty(ChildListPropertyDescriptor property) { - if (property == MODIFIERS2_PROPERTY) { - return modifiers(); - } - // allow default implementation to flag the error - return super.internalGetChildListProperty(property); - } - - /* (omit javadoc for this method) - * Method declared on BodyDeclaration. - */ - final ChildPropertyDescriptor internalJavadocProperty() { - return JAVADOC_PROPERTY; - } - - /* (omit javadoc for this method) - * Method declared on BodyDeclaration. - */ - final ChildListPropertyDescriptor internalModifiers2Property() { - return MODIFIERS2_PROPERTY; - } - - /* (omit javadoc for this method) - * Method declared on BodyDeclaration. - */ - final SimplePropertyDescriptor internalModifiersProperty() { - // this property will not be asked for (node type did not exist in JLS2) - return null; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final int getNodeType0() { - return ANNOTATION_TYPE_MEMBER_DECLARATION; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - ASTNode clone0(AST target) { - AnnotationTypeMemberDeclaration result = new AnnotationTypeMemberDeclaration(target); - result.setSourceRange(this.getStartPosition(), this.getLength()); - result.setJavadoc( - (JSdoc) ASTNode.copySubtree(target, getJavadoc())); - result.modifiers().addAll(ASTNode.copySubtrees(target, modifiers())); - result.setType((Type) ASTNode.copySubtree(target, getType())); - result.setName((SimpleName) getName().clone(target)); - result.setDefault((Expression) ASTNode.copySubtree(target, getDefault())); - return result; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final boolean subtreeMatch0(ASTMatcher matcher, Object other) { - // dispatch to correct overloaded match method - return matcher.match(this, other); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - void accept0(ASTVisitor visitor) { - boolean visitChildren = visitor.visit(this); - if (visitChildren) { - // visit children in normal left to right reading order - acceptChild(visitor, getJavadoc()); - acceptChildren(visitor, this.modifiers); - acceptChild(visitor, getType()); - acceptChild(visitor, getName()); - acceptChild(visitor, getDefault()); - } - visitor.endVisit(this); - } - - /** - * Returns the name of the annotation type member declared in this declaration. - * - * @return the member name node - */ - public SimpleName getName() { - if (this.memberName == null) { - // lazy init must be thread-safe for readers - synchronized (this) { - if (this.memberName == null) { - preLazyInit(); - this.memberName = new SimpleName(this.ast); - postLazyInit(this.memberName, NAME_PROPERTY); - } - } - } - return this.memberName; - } - - /** - * Sets the name of the annotation type member declared in this declaration to the - * given name. - * - * @param memberName the new member name - * @exception IllegalArgumentException if: - * <ul> - * <li>the node belongs to a different AST</li> - * <li>the node already has a parent</li> - * </ul> - */ - public void setName(SimpleName memberName) { - if (memberName == null) { - throw new IllegalArgumentException(); - } - ASTNode oldChild = this.memberName; - preReplaceChild(oldChild, memberName, NAME_PROPERTY); - this.memberName = memberName; - postReplaceChild(oldChild, memberName, NAME_PROPERTY); - } - - /** - * Returns the type of the annotation type member declared in this - * declaration. - * - * @return the type of the member - */ - public Type getType() { - if (this.memberType == null) { - // lazy init must be thread-safe for readers - synchronized (this) { - if (this.memberType == null) { - preLazyInit(); - this.memberType = this.ast.newPrimitiveType(PrimitiveType.INT); - postLazyInit(this.memberType, TYPE_PROPERTY); - } - } - } - return this.memberType; - } - - /** - * Sets the type of the annotation type member declared in this declaration - * to the given type. - * - * @param type the new member type - * @exception IllegalArgumentException if: - * <ul> - * <li>the node belongs to a different AST</li> - * <li>the node already has a parent</li> - * </ul> - */ - public void setType(Type type) { - if (type == null) { - throw new IllegalArgumentException(); - } - ASTNode oldChild = this.memberType; - preReplaceChild(oldChild, type, TYPE_PROPERTY); - this.memberType = type; - postReplaceChild(oldChild, type, TYPE_PROPERTY); - } - - /** - * Returns the default value of this annotation type member, or - * <code>null</code> if there is none. - * - * @return the expression node, or <code>null</code> if there is none - */ - public Expression getDefault() { - return this.optionalDefaultValue; - } - - /** - * Sets or clears the default value of this annotation type member. - * - * @param defaultValue the expression node, or <code>null</code> if - * there is none - * @exception IllegalArgumentException if: - * <ul> - * <li>the node belongs to a different AST</li> - * <li>the node already has a parent</li> - * <li>a cycle in would be created</li> - * </ul> - */ - public void setDefault(Expression defaultValue) { - // a AnnotationTypeMemberDeclaration may occur inside an Expression - must check cycles - ASTNode oldChild = this.optionalDefaultValue; - preReplaceChild(oldChild, defaultValue, DEFAULT_PROPERTY); - this.optionalDefaultValue = defaultValue; - postReplaceChild(oldChild, defaultValue, DEFAULT_PROPERTY); - } - - /** - * Resolves and returns the binding for the annotation type member declared - * in this declaration. - * <p> - * Note that bindings are generally unavailable unless requested when the - * AST is being built. - * </p> - * - * @return the binding, or <code>null</code> if the binding cannot be - * resolved - */ - public IFunctionBinding resolveBinding() { - return this.ast.getBindingResolver().resolveMember(this); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - int memSize() { - return super.memSize() + 3 * 4; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - int treeSize() { - return - memSize() - + (this.optionalDocComment == null ? 0 : getJavadoc().treeSize()) - + this.modifiers.listSize() - + (this.memberName == null ? 0 : getName().treeSize()) - + (this.memberType == null ? 0 : getType().treeSize()) - + (this.optionalDefaultValue == null ? 0 : getDefault().treeSize()); - } -} -
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/BindingResolver.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/BindingResolver.java index 93b2877..0a57059 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/BindingResolver.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/BindingResolver.java
@@ -101,21 +101,6 @@ } /** - * Finds the corresponding AST node from which the given annotation instance originated. - * - * The default implementation of this method returns <code>null</code>. - * Subclasses may reimplement. - * </p> - * - * @param instance the dom annotation - * @return the corresponding node where the bindings is declared, - * or <code>null</code> if none - */ - ASTNode findDeclaringNode(IAnnotationBinding instance) { - return null; - } - - /** * Allows the user to get information about the given old/new pair of * AST nodes. * <p> @@ -259,20 +244,6 @@ return null; } - /** - * Return the new annotation corresponding to the given old annotation - * <p> - * The default implementation of this method returns <code>null</code> - * Subclasses may reimplement. - * </p> - * - * @param instance the old annotation - * @return the new DOM annotation - */ - IAnnotationBinding getAnnotationInstance(org.eclipse.wst.jsdt.internal.compiler.lookup.AnnotationBinding instance) { - return null; - } - boolean isResolvedTypeInferredFromExpectedType(FunctionInvocation methodInvocation) { return false; } @@ -407,27 +378,7 @@ IFunctionBinding resolveConstructor(ConstructorInvocation expression) { return null; } - /** - * Resolves and returns the binding for the constructor being invoked. - * <p> - * The implementation of - * <code>ConstructorInvocation.resolveConstructor</code> - * forwards to this method. Which constructor is invoked is often a function - * of the context in which the expression node is embedded as well as - * the expression subtree itself. - * </p> - * <p> - * The default implementation of this method returns <code>null</code>. - * Subclasses may reimplement. - * </p> - * - * @param enumConstantDeclaration the enum constant declaration of interest - * @return the binding for the constructor being invoked, or - * <code>null</code> if no binding is available - */ - IFunctionBinding resolveConstructor(EnumConstantDeclaration enumConstantDeclaration) { - return null; - } + /** * Resolves and returns the binding for the constructor being invoked. * <p> @@ -535,29 +486,6 @@ } /** - * Resolves the given annotation type declaration and returns the binding - * for it. - * <p> - * The implementation of <code>AnnotationTypeMemberDeclaration.resolveBinding</code> - * forwards to this method. How the declaration resolves is often a - * function of the context in which the declaration node is embedded as well - * as the declaration subtree itself. - * </p> - * <p> - * The default implementation of this method returns <code>null</code>. - * Subclasses may reimplement. - * </p> - * - * @param member the annotation type member declaration of interest - * @return the binding for the given annotation type member declaration, or <code>null</code> - * if no binding is available - * @since 3.0 - */ - IFunctionBinding resolveMember(AnnotationTypeMemberDeclaration member) { - return null; - } - - /** * Resolves the given method declaration and returns the binding for it. * <p> * The implementation of <code>FunctionDeclaration.resolveBinding</code> @@ -681,27 +609,6 @@ } /** - * Resolves the given member value pair and returns the binding for it. - * <p> - * The implementation of <code>MemberValuePair.resolveMemberValuePairBinding</code> forwards to - * this method. How the name resolves is often a function of the context - * in which the name node is embedded as well as the name itself. - * </p> - * <p> - * The default implementation of this method returns <code>null</code>. - * Subclasses may reimplement. - * </p> - * - * @param memberValuePair the member value pair of interest - * @return the binding for the member value pair, or <code>null</code> if no binding is - * available - * @since 3.2 - */ - IMemberValuePairBinding resolveMemberValuePair(MemberValuePair memberValuePair) { - return null; - } - - /** * Resolves the given reference and returns the binding for it. * <p> * The implementation of <code>FunctionRef.resolveBinding</code> forwards to @@ -723,29 +630,6 @@ } /** - * Resolves the given annotation type declaration and returns the binding - * for it. - * <p> - * The implementation of <code>AnnotationTypeDeclaration.resolveBinding</code> - * forwards to this method. How the declaration resolves is often a - * function of the context in which the declaration node is embedded as well - * as the declaration subtree itself. - * </p> - * <p> - * The default implementation of this method returns <code>null</code>. - * Subclasses may reimplement. - * </p> - * - * @param type the annotation type declaration of interest - * @return the binding for the given annotation type declaration, or <code>null</code> - * if no binding is available - * @since 3.0 - */ - ITypeBinding resolveType(AnnotationTypeDeclaration type) { - return null; - } - - /** * Resolves the given anonymous class declaration and returns the binding * for it. * <p> @@ -768,29 +652,6 @@ } /** - * Resolves the given enum declaration and returns the binding - * for it. - * <p> - * The implementation of <code>EnumDeclaration.resolveBinding</code> - * forwards to this method. How the enum declaration resolves is often - * a function of the context in which the declaration node is embedded - * as well as the enum declaration subtree itself. - * </p> - * <p> - * The default implementation of this method returns <code>null</code>. - * Subclasses may reimplement. - * </p> - * - * @param type the enum declaration of interest - * @return the binding for the given enum declaration, or <code>null</code> - * if no binding is available - * @since 3.0 - */ - ITypeBinding resolveType(EnumDeclaration type) { - return null; - } - - /** * Resolves the given type and returns the type binding for it. * <p> * The implementation of <code>Type.resolveBinding</code> @@ -863,26 +724,6 @@ return null; } - /** - * Resolves the given enum constant declaration and returns the binding for - * the field. - * <p> - * The implementation of <code>EnumConstantDeclaration.resolveVariable</code> - * forwards to this method. - * </p> - * <p> - * The default implementation of this method returns <code>null</code>. - * Subclasses may reimplement. - * </p> - * - * @param enumConstant the enum constant declaration of interest - * @return the field binding for the given enum constant declaration, or - * <code>null</code> if no binding is available - * @since 3.0 - */ - IVariableBinding resolveVariable(EnumConstantDeclaration enumConstant) { - return null; - } /** * Resolves the given variable declaration and returns the binding for it. @@ -933,24 +774,6 @@ return null; } - /** - * Resolves the given annotation instance and returns the DOM representation for it. - * <p> - * The implementation of {@link Annotation#resolveAnnotationBinding()} - * forwards to this method. - * </p> - * <p> - * The default implementation of this method returns <code>null</code>. - * Subclasses may reimplement. - * </p> - * - * @param annotation the annotation ast node of interest - * @return the DOM annotation representation for the given ast node, or - * <code>null</code> if none is available - */ - IAnnotationBinding resolveAnnotation(Annotation annotation) { - return null; - } /** * Answer an array type binding with the given type binding and the given
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/DefaultASTVisitor.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/DefaultASTVisitor.java index b196f9c..7bb86f7 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/DefaultASTVisitor.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/DefaultASTVisitor.java
@@ -110,12 +110,6 @@ public void endVisit(EnhancedForStatement node) { endVisitNode(node); } - public void endVisit(EnumConstantDeclaration node) { - endVisitNode(node); - } - public void endVisit(EnumDeclaration node) { - endVisitNode(node); - } public void endVisit(ExpressionStatement node) { endVisitNode(node); @@ -168,9 +162,6 @@ public void endVisit(MemberRef node) { endVisitNode(node); } - public void endVisit(MemberValuePair node) { - endVisitNode(node); - } public void endVisit(FunctionDeclaration node) { endVisitNode(node); } @@ -372,12 +363,6 @@ public boolean visit(EnhancedForStatement node) { return visitNode(node); } - public boolean visit(EnumConstantDeclaration node) { - return visitNode(node); - } - public boolean visit(EnumDeclaration node) { - return visitNode(node); - } public boolean visit(ExpressionStatement node) { return visitNode(node); } @@ -433,9 +418,6 @@ public boolean visit(MemberRef node) { return visitNode(node); } - public boolean visit(MemberValuePair node) { - return visitNode(node); - } public boolean visit(FunctionDeclaration node) { return visitNode(node); }
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/DefaultBindingResolver.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/DefaultBindingResolver.java index 002d282..e41eb91 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/DefaultBindingResolver.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/DefaultBindingResolver.java
@@ -32,7 +32,6 @@ import org.eclipse.wst.jsdt.internal.compiler.ast.JavadocSingleTypeReference; import org.eclipse.wst.jsdt.internal.compiler.ast.Literal; import org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration; -import org.eclipse.wst.jsdt.internal.compiler.ast.MemberValuePair; import org.eclipse.wst.jsdt.internal.compiler.ast.MessageSend; import org.eclipse.wst.jsdt.internal.compiler.ast.ParameterizedQualifiedTypeReference; import org.eclipse.wst.jsdt.internal.compiler.ast.QualifiedNameReference; @@ -48,7 +47,6 @@ import org.eclipse.wst.jsdt.internal.compiler.lookup.BlockScope; import org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitBinding; import org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope; -import org.eclipse.wst.jsdt.internal.compiler.lookup.ElementValuePair; import org.eclipse.wst.jsdt.internal.compiler.lookup.FieldBinding; import org.eclipse.wst.jsdt.internal.compiler.lookup.LocalVariableBinding; import org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment; @@ -234,17 +232,6 @@ return null; } - synchronized IMemberValuePairBinding getMemberValuePairBinding(ElementValuePair valuePair) { - if (valuePair == null) return null; - IMemberValuePairBinding binding = - (IMemberValuePairBinding) this.bindingTables.compilerBindingsToASTBindings.get(valuePair); - if (binding != null) - return binding; - binding = new MemberValuePairBinding(valuePair, this); - this.bindingTables.compilerBindingsToASTBindings.put(valuePair, binding); - return binding; - } - /* * Method declared on BindingResolver. */ @@ -490,17 +477,6 @@ } - synchronized IAnnotationBinding getAnnotationInstance(org.eclipse.wst.jsdt.internal.compiler.lookup.AnnotationBinding internalInstance) { - if (internalInstance == null) return null; - IAnnotationBinding domInstance = - (IAnnotationBinding) this.bindingTables.compilerBindingsToASTBindings.get(internalInstance); - if (domInstance != null) - return domInstance; - domInstance = new AnnotationBinding(internalInstance, this); - this.bindingTables.compilerBindingsToASTBindings.put(internalInstance, domInstance); - return domInstance; - } - /* * Method declared on BindingResolver. */ @@ -591,21 +567,6 @@ return null; } - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.BindingResolver#resolveConstructor(org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration) - */ - IFunctionBinding resolveConstructor(EnumConstantDeclaration enumConstantDeclaration) { - org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode node = (org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode) this.newAstToOldAst.get(enumConstantDeclaration); - if (node instanceof org.eclipse.wst.jsdt.internal.compiler.ast.FieldDeclaration) { - org.eclipse.wst.jsdt.internal.compiler.ast.FieldDeclaration fieldDeclaration = (org.eclipse.wst.jsdt.internal.compiler.ast.FieldDeclaration) node; - if (fieldDeclaration.getKind() == AbstractVariableDeclaration.ENUM_CONSTANT && fieldDeclaration.initialization != null) { - AllocationExpression allocationExpression = (AllocationExpression) fieldDeclaration.initialization; - return this.getMethodBinding(allocationExpression.binding); - } - } - return null; - } - /* * @see BindingResolver#resolveConstructor(SuperConstructorInvocation) */ @@ -656,14 +617,6 @@ case ASTNode.FUNCTION_INVOCATION : case ASTNode.SUPER_METHOD_INVOCATION : case ASTNode.CONDITIONAL_EXPRESSION : - case ASTNode.MARKER_ANNOTATION : - case ASTNode.NORMAL_ANNOTATION : - case ASTNode.SINGLE_MEMBER_ANNOTATION : - org.eclipse.wst.jsdt.internal.compiler.ast.Expression compilerExpression = (org.eclipse.wst.jsdt.internal.compiler.ast.Expression) this.newAstToOldAst.get(expression); - if (compilerExpression != null) { - return this.getTypeBinding(compilerExpression.resolvedType); - } - break; case ASTNode.STRING_LITERAL : if (this.scope != null) { return this.getTypeBinding(this.scope.getJavaLangString()); @@ -791,27 +744,6 @@ return null; } - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.BindingResolver#resolveMember(org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration) - */ - IFunctionBinding resolveMember(AnnotationTypeMemberDeclaration declaration) { - Object oldNode = this.newAstToOldAst.get(declaration); - if (oldNode instanceof AbstractMethodDeclaration) { - AbstractMethodDeclaration methodDeclaration = (AbstractMethodDeclaration) oldNode; - IFunctionBinding methodBinding = this.getMethodBinding(methodDeclaration.binding); - if (methodBinding == null) { - return null; - } - this.bindingsToAstNodes.put(methodBinding, declaration); - String key = methodBinding.getKey(); - if (key != null) { - this.bindingTables.bindingKeysToBindings.put(key, methodBinding); - } - return methodBinding; - } - return null; - } - /* * Method declared on BindingResolver. */ @@ -1377,15 +1309,6 @@ } /* (non-Javadoc) - * @see BindingResolver#resolveMemberValuePair(MemberValuePair) - * @since 3.2 - */ - synchronized IMemberValuePairBinding resolveMemberValuePair(org.eclipse.wst.jsdt.core.dom.MemberValuePair memberValuePair) { - MemberValuePair valuePair = (MemberValuePair) this.newAstToOldAst.get(memberValuePair); - return getMemberValuePairBinding(valuePair.compilerElementPair); - } - - /* (non-Javadoc) * @see BindingResolver#resolveReference(FunctionRef) * @since 3.0 */ @@ -1400,26 +1323,6 @@ return null; } - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.BindingResolver#resolveType(org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration) - */ - ITypeBinding resolveType(AnnotationTypeDeclaration type) { - final Object node = this.newAstToOldAst.get(type); - if (node instanceof org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration) { - org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration typeDeclaration = (org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration) node; - ITypeBinding typeBinding = this.getTypeBinding(typeDeclaration.binding); - if (typeBinding == null) { - return null; - } - this.bindingsToAstNodes.put(typeBinding, type); - String key = typeBinding.getKey(); - if (key != null) { - this.bindingTables.bindingKeysToBindings.put(key, typeBinding); - } - return typeBinding; - } - return null; - } /* * @see BindingResolver#resolveType(AnonymousClassDeclaration) */ @@ -1441,27 +1344,6 @@ return null; } - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.BindingResolver#resolveType(org.eclipse.wst.jsdt.core.dom.EnumDeclaration) - */ - ITypeBinding resolveType(EnumDeclaration type) { - final Object node = this.newAstToOldAst.get(type); - if (node instanceof org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration) { - org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration typeDeclaration = (org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration) node; - ITypeBinding typeBinding = this.getTypeBinding(typeDeclaration.binding); - if (typeBinding == null) { - return null; - } - this.bindingsToAstNodes.put(typeBinding, type); - String key = typeBinding.getKey(); - if (key != null) { - this.bindingTables.bindingKeysToBindings.put(key, typeBinding); - } - return typeBinding; - } - return null; - } - /* * Method declared on BindingResolver. */ @@ -1590,26 +1472,6 @@ return null; } - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.BindingResolver#resolveVariable(org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration) - */ - synchronized IVariableBinding resolveVariable(EnumConstantDeclaration enumConstant) { - final Object node = this.newAstToOldAst.get(enumConstant); - if (node instanceof org.eclipse.wst.jsdt.internal.compiler.ast.FieldDeclaration) { - org.eclipse.wst.jsdt.internal.compiler.ast.FieldDeclaration fieldDeclaration = (org.eclipse.wst.jsdt.internal.compiler.ast.FieldDeclaration) node; - IVariableBinding variableBinding = this.getVariableBinding(fieldDeclaration.binding); - if (variableBinding == null) { - return null; - } - this.bindingsToAstNodes.put(variableBinding, enumConstant); - String key = variableBinding.getKey(); - if (key != null) { - this.bindingTables.bindingKeysToBindings.put(key, variableBinding); - } - return variableBinding; - } - return null; - } /* * Method declared on BindingResolver. */ @@ -1743,20 +1605,6 @@ return null; } - synchronized IAnnotationBinding resolveAnnotation(final Annotation domASTNode) { - Object oldNode = this.newAstToOldAst.get(domASTNode); - if (oldNode instanceof org.eclipse.wst.jsdt.internal.compiler.ast.Annotation) { - org.eclipse.wst.jsdt.internal.compiler.ast.Annotation internalAstNode = - (org.eclipse.wst.jsdt.internal.compiler.ast.Annotation) oldNode; - - IAnnotationBinding domAnnotation = this.getAnnotationInstance(internalAstNode.getCompilerAnnotation()); - if (domAnnotation == null) - return null; - this.bindingsToAstNodes.put(domAnnotation, domASTNode); - return domAnnotation; - } - return null; - } /* * Method declared on BindingResolver.
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/DefaultValuePairBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/DefaultValuePairBinding.java deleted file mode 100644 index 7615cbb..0000000 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/DefaultValuePairBinding.java +++ /dev/null
@@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005, 2007 BEA Systems, Inc. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * tyeung@bea.com - initial API and implementation - * IBM Corporation - implemented methods from IBinding - * IBM Corporation - renamed from ResolvedDefaultValuePair to DefaultValuePairBinding - *******************************************************************************/ -package org.eclipse.wst.jsdt.core.dom; - - -/** - * Member value pair which compose of default values. - * - * Provisional API: This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - */ -class DefaultValuePairBinding extends MemberValuePairBinding { - - private org.eclipse.wst.jsdt.internal.compiler.lookup.MethodBinding method; - - DefaultValuePairBinding(org.eclipse.wst.jsdt.internal.compiler.lookup.MethodBinding binding, BindingResolver resolver) { - super(null, resolver); - this.method = binding; - this.value = MemberValuePairBinding.buildDOMValue(binding.getDefaultValue(), resolver); - } - - public IFunctionBinding getMethodBinding() { - return this.bindingResolver.getMethodBinding(this.method); - } - - public String getName() { - return new String(this.method.selector); - } - - public Object getValue() { - return this.value; - } - - public boolean isDefault() { - return true; - } - - public boolean isDeprecated() { - return this.method.isDeprecated(); - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/EnumConstantDeclaration.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/EnumConstantDeclaration.java deleted file mode 100644 index 2c8d219..0000000 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/EnumConstantDeclaration.java +++ /dev/null
@@ -1,392 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.wst.jsdt.core.dom; - -import java.util.ArrayList; -import java.util.List; - -/** - * Enumeration constant declaration AST node type (added in JLS3 API). - * - * <pre> - * EnumConstantDeclaration: - * [ Javadoc ] { ExtendedModifier } Identifier - * [ <b>(</b> [ Expression { <b>,</b> Expression } ] <b>)</b> ] - * [ AnonymousClassDeclaration ] - * </pre> - * <p> - * When a Javadoc comment is present, the source - * range begins with the first character of the "/**" comment delimiter. - * When there is no Javadoc comment, the source range begins with the first - * character of the identifier. If there are class body declarations, the - * source range extends through the last character of the last character of - * the "}" token following the body declarations. If there are arguments but - * no class body declarations, the source range extends through the last - * character of the ")" token following the arguments. If there are no - * arguments and no class body declarations, the source range extends through - * the last character of the identifier. - * </p> - * - * Provisional API: This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - */ -public class EnumConstantDeclaration extends BodyDeclaration { - - /** - * The "javadoc" structural property of this node type. - */ - public static final ChildPropertyDescriptor JAVADOC_PROPERTY = - internalJavadocPropertyFactory(EnumConstantDeclaration.class); - - /** - * The "modifiers" structural property of this node type). - */ - public static final ChildListPropertyDescriptor MODIFIERS2_PROPERTY = - internalModifiers2PropertyFactory(EnumConstantDeclaration.class); - - /** - * The "name" structural property of this node type. - */ - public static final ChildPropertyDescriptor NAME_PROPERTY = - new ChildPropertyDescriptor(EnumConstantDeclaration.class, "name", SimpleName.class, MANDATORY, NO_CYCLE_RISK); //$NON-NLS-1$ - - /** - * The "arguments" structural property of this node type. - */ - public static final ChildListPropertyDescriptor ARGUMENTS_PROPERTY = - new ChildListPropertyDescriptor(EnumConstantDeclaration.class, "arguments", Expression.class, NO_CYCLE_RISK); //$NON-NLS-1$ - - /** - * The "anonymousClassDeclaration" structural property of this node type. - */ - public static final ChildPropertyDescriptor ANONYMOUS_CLASS_DECLARATION_PROPERTY = - new ChildPropertyDescriptor(EnumConstantDeclaration.class, "anonymousClassDeclaration", AnonymousClassDeclaration.class, OPTIONAL, CYCLE_RISK); //$NON-NLS-1$ - - /** - * A list of property descriptors (element type: - * {@link StructuralPropertyDescriptor}), - * or null if uninitialized. - */ - private static final List PROPERTY_DESCRIPTORS; - - static { - List properyList = new ArrayList(6); - createPropertyList(EnumConstantDeclaration.class, properyList); - addProperty(JAVADOC_PROPERTY, properyList); - addProperty(MODIFIERS2_PROPERTY, properyList); - addProperty(NAME_PROPERTY, properyList); - addProperty(ARGUMENTS_PROPERTY, properyList); - addProperty(ANONYMOUS_CLASS_DECLARATION_PROPERTY, properyList); - PROPERTY_DESCRIPTORS = reapPropertyList(properyList); - } - - /** - * Returns a list of structural property descriptors for this node type. - * Clients must not modify the result. - * - * @param apiLevel the API level; one of the - * <code>AST.JLS*</code> constants - - * @return a list of property descriptors (element type: - * {@link StructuralPropertyDescriptor}) - */ - public static List propertyDescriptors(int apiLevel) { - return PROPERTY_DESCRIPTORS; - } - - /** - * The constant name; lazily initialized; defaults to a unspecified, - * legal Java class identifier. - */ - private SimpleName constantName = null; - - /** - * The list of argument expressions (element type: - * <code>Expression</code>). Defaults to an empty list. - */ - private ASTNode.NodeList arguments = - new ASTNode.NodeList(ARGUMENTS_PROPERTY); - - /** - * The optional anonymous class declaration; <code>null</code> for none; - * defaults to none. - */ - private AnonymousClassDeclaration optionalAnonymousClassDeclaration = null; - - /** - * Creates a new AST node for an enumeration constants declaration owned by - * the given AST. By default, the enumeration constant has an unspecified, - * but legal, name; no javadoc; an empty list of modifiers and annotations; - * an empty list of arguments; and does not declare an anonymous class. - * <p> - * N.B. This constructor is package-private; all subclasses must be - * declared in the same package; clients are unable to declare - * additional subclasses. - * </p> - * - * @param ast the AST that is to own this node - */ - EnumConstantDeclaration(AST ast) { - super(ast); - unsupportedIn2(); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final List internalStructuralPropertiesForType(int apiLevel) { - return propertyDescriptors(apiLevel); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final ASTNode internalGetSetChildProperty(ChildPropertyDescriptor property, boolean get, ASTNode child) { - if (property == JAVADOC_PROPERTY) { - if (get) { - return getJavadoc(); - } else { - setJavadoc((JSdoc) child); - return null; - } - } - if (property == NAME_PROPERTY) { - if (get) { - return getName(); - } else { - setName((SimpleName) child); - return null; - } - } - if (property == ANONYMOUS_CLASS_DECLARATION_PROPERTY) { - if (get) { - return getAnonymousClassDeclaration(); - } else { - setAnonymousClassDeclaration((AnonymousClassDeclaration) child); - return null; - } - } - // allow default implementation to flag the error - return super.internalGetSetChildProperty(property, get, child); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final List internalGetChildListProperty(ChildListPropertyDescriptor property) { - if (property == MODIFIERS2_PROPERTY) { - return modifiers(); - } - if (property == ARGUMENTS_PROPERTY) { - return arguments(); - } - // allow default implementation to flag the error - return super.internalGetChildListProperty(property); - } - - /* (omit javadoc for this method) - * Method declared on BodyDeclaration. - */ - final ChildPropertyDescriptor internalJavadocProperty() { - return JAVADOC_PROPERTY; - } - - /* (omit javadoc for this method) - * Method declared on BodyDeclaration. - */ - final ChildListPropertyDescriptor internalModifiers2Property() { - return MODIFIERS2_PROPERTY; - } - - /* (omit javadoc for this method) - * Method declared on BodyDeclaration. - */ - final SimplePropertyDescriptor internalModifiersProperty() { - // this property will not be asked for (node type did not exist in JLS2) - return null; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final int getNodeType0() { - return ENUM_CONSTANT_DECLARATION; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - ASTNode clone0(AST target) { - EnumConstantDeclaration result = new EnumConstantDeclaration(target); - result.setSourceRange(this.getStartPosition(), this.getLength()); - result.setJavadoc( - (JSdoc) ASTNode.copySubtree(target, getJavadoc())); - result.modifiers().addAll(ASTNode.copySubtrees(target, modifiers())); - result.setName((SimpleName) getName().clone(target)); - result.arguments().addAll(ASTNode.copySubtrees(target, arguments())); - result.setAnonymousClassDeclaration( - (AnonymousClassDeclaration) ASTNode.copySubtree(target, getAnonymousClassDeclaration())); - return result; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final boolean subtreeMatch0(ASTMatcher matcher, Object other) { - // dispatch to correct overloaded match method - return matcher.match(this, other); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - void accept0(ASTVisitor visitor) { - boolean visitChildren = visitor.visit(this); - if (visitChildren) { - // visit children in normal left to right reading order - acceptChild(visitor, getJavadoc()); - acceptChildren(visitor, this.modifiers); - acceptChild(visitor, getName()); - acceptChildren(visitor, this.arguments); - acceptChild(visitor, getAnonymousClassDeclaration()); - } - visitor.endVisit(this); - } - - /** - * Returns the name of the constant declared in this enum declaration. - * - * @return the constant name node - */ - public SimpleName getName() { - if (this.constantName == null) { - // lazy init must be thread-safe for readers - synchronized (this) { - if (this.constantName == null) { - preLazyInit(); - this.constantName = new SimpleName(this.ast); - postLazyInit(this.constantName, NAME_PROPERTY); - } - } - } - return this.constantName; - } - - /** - * Sets the name of the constant declared in this enum declaration to the - * given name. - * - * @param constantName the new constant name - * @exception IllegalArgumentException if: - * <ul> - * <li>the node belongs to a different AST</li> - * <li>the node already has a parent</li> - * </ul> - */ - public void setName(SimpleName constantName) { - if (constantName == null) { - throw new IllegalArgumentException(); - } - ASTNode oldChild = this.constantName; - preReplaceChild(oldChild, constantName, NAME_PROPERTY); - this.constantName = constantName; - postReplaceChild(oldChild, constantName, NAME_PROPERTY); - } - - /** - * Returns the live ordered list of argument expressions in this enumeration - * constant declaration. Note that an empty list of arguments is equivalent - * to not explicitly specifying arguments. - * - * @return the live list of argument expressions - * (element type: <code>Expression</code>) - */ - public List arguments() { - return this.arguments; - } - - /** - * Returns the anonymous class declaration introduced by this - * enum constant declaration, if it has one. - * - * @return the anonymous class declaration, or <code>null</code> if none - */ - public AnonymousClassDeclaration getAnonymousClassDeclaration() { - return this.optionalAnonymousClassDeclaration; - } - - /** - * Sets whether this enum constant declaration declares - * an anonymous class (that is, has class body declarations). - * - * @param decl the anonymous class declaration, or <code>null</code> - * if none - */ - public void setAnonymousClassDeclaration(AnonymousClassDeclaration decl) { - ASTNode oldChild = this.optionalAnonymousClassDeclaration; - preReplaceChild(oldChild, decl, ANONYMOUS_CLASS_DECLARATION_PROPERTY); - this.optionalAnonymousClassDeclaration = decl; - postReplaceChild(oldChild, decl, ANONYMOUS_CLASS_DECLARATION_PROPERTY); - } - - /** - * Resolves and returns the binding for the constructor invoked by this - * enum constant. - * <p> - * Note that bindings are generally unavailable unless requested when the - * AST is being built. - * </p> - * - * @return the constructor binding, or <code>null</code> if the binding - * cannot be resolved - */ - public IFunctionBinding resolveConstructorBinding() { - return this.ast.getBindingResolver().resolveConstructor(this); - } - - /** - * Resolves and returns the field binding for this enum constant. - * <p> - * Note that bindings are generally unavailable unless requested when the - * AST is being built. - * </p> - * - * @return the binding, or <code>null</code> if the binding cannot be - * resolved - */ - public IVariableBinding resolveVariable() { - return this.ast.getBindingResolver().resolveVariable(this); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - int memSize() { - return super.memSize() + 3 * 4; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - int treeSize() { - return - memSize() - + (this.optionalDocComment == null ? 0 : getJavadoc().treeSize()) - + this.modifiers.listSize() - + (this.constantName == null ? 0 : getName().treeSize()) - + this.arguments.listSize() - + (this.optionalAnonymousClassDeclaration == null ? 0 : getAnonymousClassDeclaration().treeSize()); - } -} -
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/EnumDeclaration.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/EnumDeclaration.java deleted file mode 100644 index 6b34bfa..0000000 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/EnumDeclaration.java +++ /dev/null
@@ -1,337 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.core.dom; - -import java.util.ArrayList; -import java.util.List; - -/** - * Enum declaration AST node type (added in JLS3 API). - * - * <pre> - * EnumDeclaration: - * [ Javadoc ] { ExtendedModifier } <b>enum</b> Identifier - * [ <b>implements</b> Type { <b>,</b> Type } ] - * <b>{</b> - * [ EnumConstantDeclaration { <b>,</b> EnumConstantDeclaration } ] [ <b>,</b> ] - * [ <b>;</b> { ClassBodyDeclaration | <b>;</b> } ] - * <b>}</b> - * </pre> - * The {@link #enumConstants()} list holds the enum constant declarations, - * while the {@link #bodyDeclarations()} list holds the class body declarations - * that appear after the semicolon. - * <p> - * When a Javadoc comment is present, the source - * range begins with the first character of the "/**" comment delimiter. - * When there is no Javadoc comment, the source range begins with the first - * character of the first modifier or annotation (if present), or the - * first character of the "enum" keyword (if no - * modifiers or annotations). The source range extends through the last - * character of the "}" token following the body declarations. - * </p> - * - * Provisional API: This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - */ -public class EnumDeclaration extends AbstractTypeDeclaration { - - /** - * The "javadoc" structural property of this node type. - */ - public static final ChildPropertyDescriptor JAVADOC_PROPERTY = - internalJavadocPropertyFactory(EnumDeclaration.class); - - /** - * The "modifiers" structural property of this node type (added in JLS3 API). - */ - public static final ChildListPropertyDescriptor MODIFIERS2_PROPERTY = - internalModifiers2PropertyFactory(EnumDeclaration.class); - - /** - * The "name" structural property of this node type. - */ - public static final ChildPropertyDescriptor NAME_PROPERTY = - internalNamePropertyFactory(EnumDeclaration.class); - - /** - * The "superInterfaceTypes" structural property of this node type. - */ - public static final ChildListPropertyDescriptor SUPER_INTERFACE_TYPES_PROPERTY = - new ChildListPropertyDescriptor(EnumDeclaration.class, "superInterfaceTypes", Type.class, NO_CYCLE_RISK); //$NON-NLS-1$ - - /** - * The "enumConstants" structural property of this node type. - */ - public static final ChildListPropertyDescriptor ENUM_CONSTANTS_PROPERTY = - new ChildListPropertyDescriptor(EnumDeclaration.class, "enumConstants", EnumConstantDeclaration.class, CYCLE_RISK); //$NON-NLS-1$ - - /** - * The "bodyDeclarations" structural property of this node type. - */ - public static final ChildListPropertyDescriptor BODY_DECLARATIONS_PROPERTY = - internalBodyDeclarationPropertyFactory(EnumDeclaration.class); - - /** - * A list of property descriptors (element type: - * {@link StructuralPropertyDescriptor}), - * or null if uninitialized. - */ - private static final List PROPERTY_DESCRIPTORS; - - static { - List properyList = new ArrayList(6); - createPropertyList(EnumDeclaration.class, properyList); - addProperty(JAVADOC_PROPERTY, properyList); - addProperty(MODIFIERS2_PROPERTY, properyList); - addProperty(NAME_PROPERTY, properyList); - addProperty(SUPER_INTERFACE_TYPES_PROPERTY, properyList); - addProperty(ENUM_CONSTANTS_PROPERTY, properyList); - addProperty(BODY_DECLARATIONS_PROPERTY, properyList); - PROPERTY_DESCRIPTORS = reapPropertyList(properyList); - } - - /** - * Returns a list of structural property descriptors for this node type. - * Clients must not modify the result. - * - * @param apiLevel the API level; one of the - * <code>AST.JLS*</code> constants - - * @return a list of property descriptors (element type: - * {@link StructuralPropertyDescriptor}) - */ - public static List propertyDescriptors(int apiLevel) { - return PROPERTY_DESCRIPTORS; - } - - /** - * The superinterface types (element type: <code>Type</code>). - * Defaults to an empty list. - */ - private ASTNode.NodeList superInterfaceTypes = - new ASTNode.NodeList(SUPER_INTERFACE_TYPES_PROPERTY); - - /** - * The enum constant declarations - * (element type: <code>EnumConstantDeclaration</code>). - * Defaults to an empty list. - */ - private ASTNode.NodeList enumConstants = - new ASTNode.NodeList(ENUM_CONSTANTS_PROPERTY); - - /** - * Creates a new AST node for an enum declaration owned by the given - * AST. By default, the enum declaration has an unspecified, but legal, - * name; no modifiers; no javadoc; no superinterfaces; - * and empty lists of enum constants and body declarations. - * <p> - * N.B. This constructor is package-private; all subclasses must be - * declared in the same package; clients are unable to declare - * additional subclasses. - * </p> - * - * @param ast the AST that is to own this node - */ - EnumDeclaration(AST ast) { - super(ast); - unsupportedIn2(); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final List internalStructuralPropertiesForType(int apiLevel) { - return propertyDescriptors(apiLevel); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final ASTNode internalGetSetChildProperty(ChildPropertyDescriptor property, boolean get, ASTNode child) { - if (property == JAVADOC_PROPERTY) { - if (get) { - return getJavadoc(); - } else { - setJavadoc((JSdoc) child); - return null; - } - } - if (property == NAME_PROPERTY) { - if (get) { - return getName(); - } else { - setName((SimpleName) child); - return null; - } - } - // allow default implementation to flag the error - return super.internalGetSetChildProperty(property, get, child); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final List internalGetChildListProperty(ChildListPropertyDescriptor property) { - if (property == MODIFIERS2_PROPERTY) { - return modifiers(); - } - if (property == SUPER_INTERFACE_TYPES_PROPERTY) { - return superInterfaceTypes(); - } - if (property == ENUM_CONSTANTS_PROPERTY) { - return enumConstants(); - } - if (property == BODY_DECLARATIONS_PROPERTY) { - return bodyDeclarations(); - } - // allow default implementation to flag the error - return super.internalGetChildListProperty(property); - } - - /* (omit javadoc for this method) - * Method declared on BodyDeclaration. - */ - final ChildPropertyDescriptor internalJavadocProperty() { - return JAVADOC_PROPERTY; - } - - /* (omit javadoc for this method) - * Method declared on BodyDeclaration. - */ - final ChildListPropertyDescriptor internalModifiers2Property() { - return MODIFIERS2_PROPERTY; - } - - /* (omit javadoc for this method) - * Method declared on BodyDeclaration. - */ - final SimplePropertyDescriptor internalModifiersProperty() { - // this property will not be asked for (node type did not exist in JLS2) - return null; - } - - /* (omit javadoc for this method) - * Method declared on AbstractTypeDeclaration. - */ - final ChildPropertyDescriptor internalNameProperty() { - return NAME_PROPERTY; - } - - /* (omit javadoc for this method) - * Method declared on AbstractTypeDeclaration. - */ - final ChildListPropertyDescriptor internalBodyDeclarationsProperty() { - return BODY_DECLARATIONS_PROPERTY; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final int getNodeType0() { - return ENUM_DECLARATION; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - ASTNode clone0(AST target) { - EnumDeclaration result = new EnumDeclaration(target); - result.setSourceRange(this.getStartPosition(), this.getLength()); - result.setJavadoc( - (JSdoc) ASTNode.copySubtree(target, getJavadoc())); - result.modifiers().addAll(ASTNode.copySubtrees(target, modifiers())); - result.setName((SimpleName) getName().clone(target)); - result.superInterfaceTypes().addAll( - ASTNode.copySubtrees(target, superInterfaceTypes())); - result.enumConstants().addAll( - ASTNode.copySubtrees(target, enumConstants())); - result.bodyDeclarations().addAll( - ASTNode.copySubtrees(target, bodyDeclarations())); - return result; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final boolean subtreeMatch0(ASTMatcher matcher, Object other) { - // dispatch to correct overloaded match method - return matcher.match(this, other); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - void accept0(ASTVisitor visitor) { - boolean visitChildren = visitor.visit(this); - if (visitChildren) { - // visit children in normal left to right reading order - acceptChild(visitor, getJavadoc()); - acceptChildren(visitor, this.modifiers); - acceptChild(visitor, getName()); - acceptChildren(visitor, this.superInterfaceTypes); - acceptChildren(visitor, this.enumConstants); - acceptChildren(visitor, this.bodyDeclarations); - } - visitor.endVisit(this); - } - - /** - * Returns the live ordered list of superinterfaces of this enum - * declaration. - * - * @return the live list of super interface types - * (element type: <code>Type</code>) - */ - public List superInterfaceTypes() { - return this.superInterfaceTypes; - } - - /** - * Returns the live ordered list of enum constant declarations - * of this enum declaration. - * - * @return the live list of enum constant declarations - * (element type: {@link EnumConstantDeclaration}) - */ - public List enumConstants() { - return enumConstants; - } - - /* (omit javadoc for this method) - * Method declared on AsbtractTypeDeclaration. - */ - ITypeBinding internalResolveBinding() { - return this.ast.getBindingResolver().resolveType(this); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - int memSize() { - return super.memSize() + 2 * 4; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - int treeSize() { - return memSize() - + (this.optionalDocComment == null ? 0 : getJavadoc().treeSize()) - + this.modifiers.listSize() - + (this.typeName == null ? 0 : getName().treeSize()) - + this.superInterfaceTypes.listSize() - + this.enumConstants.listSize() - + this.bodyDeclarations.listSize(); - } -} -
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/FunctionBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/FunctionBinding.java index 20d09c0..79003cd 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/FunctionBinding.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/FunctionBinding.java
@@ -37,7 +37,7 @@ /** * Internal implementation of method bindings. */ -class FunctionBinding implements IFunctionBinding { +class FunctionBinding implements IFunctionBinding { private static final int VALID_MODIFIERS = Modifier.PUBLIC | Modifier.PROTECTED | Modifier.PRIVATE | Modifier.ABSTRACT | Modifier.STATIC | Modifier.FINAL | Modifier.SYNCHRONIZED | Modifier.NATIVE | @@ -53,8 +53,6 @@ private String key; private ITypeBinding[] typeParameters; private ITypeBinding[] typeArguments; - private IAnnotationBinding[] annotations; - private IAnnotationBinding[] parameterAnnotations; FunctionBinding(BindingResolver resolver, org.eclipse.wst.jsdt.internal.compiler.lookup.MethodBinding binding) { this.resolver = resolver; @@ -105,26 +103,6 @@ return name; } - public IAnnotationBinding[] getAnnotations() { - if (this.annotations != null) { - return this.annotations; - } - org.eclipse.wst.jsdt.internal.compiler.lookup.AnnotationBinding[] annots = this.binding.getAnnotations(); - int length = annots == null ? 0 : annots.length; - if (length == 0) { - return this.annotations = AnnotationBinding.NoAnnotations; - } - IAnnotationBinding[] domInstances = new AnnotationBinding[length]; - for (int i = 0; i < length; i++) { - final IAnnotationBinding annotationInstance = this.resolver.getAnnotationInstance(annots[i]); - if (annotationInstance == null) { - return this.annotations = AnnotationBinding.NoAnnotations; - } - domInstances[i] = annotationInstance; - } - return this.annotations = domInstances; - } - /** * @see IFunctionBinding#getDeclaringClass() */ @@ -135,26 +113,6 @@ return declaringClass; } - public IAnnotationBinding[] getParameterAnnotations(int index) { - if (this.parameterAnnotations != null) { - return this.parameterAnnotations; - } - org.eclipse.wst.jsdt.internal.compiler.lookup.AnnotationBinding[] annots = this.binding.getParameterAnnotations(index); - int length = annots == null ? 0 : annots.length; - if (length == 0) { - return this.parameterAnnotations = AnnotationBinding.NoAnnotations; - } - IAnnotationBinding[] domInstances =new AnnotationBinding[length]; - for (int i = 0; i < length; i++) { - final IAnnotationBinding annotationInstance = this.resolver.getAnnotationInstance(annots[i]); - if (annotationInstance == null) { - return this.parameterAnnotations = AnnotationBinding.NoAnnotations; - } - domInstances[i] = annotationInstance; - } - return this.parameterAnnotations = domInstances; - } - /** * @see IFunctionBinding#getParameterTypes() */ @@ -200,8 +158,6 @@ } public Object getDefaultValue() { - if (isAnnotationMember()) - return MemberValuePairBinding.buildDOMValue(this.binding.getDefaultValue(), this.resolver); return null; } @@ -275,10 +231,9 @@ return (JavaElement) typeRoot.getFunction(getName(), parameters); else return (JavaElement) declaringType.getFunction(getName(), parameters); - } else { - // annotation type member declaration - AnnotationTypeMemberDeclaration typeMemberDeclaration = (AnnotationTypeMemberDeclaration) node; - return (JavaElement) declaringType.getFunction(typeMemberDeclaration.getName().getIdentifier(), CharOperation.NO_STRINGS); // annotation type members don't have parameters + } + else { + return null; } } else { // case of method not in the created AST, or a binary method
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/IAnnotationBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/IAnnotationBinding.java deleted file mode 100644 index 773d7b3..0000000 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/IAnnotationBinding.java +++ /dev/null
@@ -1,70 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 BEA Systems, Inc. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * tyeung@bea.com - initial API and implementation - * IBM Corporation - changed interface to extend IBinding - * IBM Corporation - renamed from IResolvedAnnotation to IAnnotationBinding - *******************************************************************************/ -package org.eclipse.wst.jsdt.core.dom; - -/** - * Represents an resolved annotation. Resolved annotation are computed along with other - * bindings; they correspond to {@link Annotation} nodes. - * <p> - * This interface is not intended to be implemented by clients. - * </p> - * - * - * Provisional API: This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - */ -public interface IAnnotationBinding extends IBinding { - - /** - * Returns the complete list of member value pairs for this annotation, including - * ones explicitly listed in the annotation as well as entries for - * annotation type members with default values that are implied. - * - * @return a possibly empty list of resolved member value pairs - */ - IMemberValuePairBinding[] getAllMemberValuePairs(); - - /** - * Returns the type of the annotation. The resulting type binding will always - * return <code>true</code> to <code>ITypeBinding.isAnnotation()</code>. - * - * @return the type of the annotation - */ - ITypeBinding getAnnotationType(); - - /** - * Returns the list of declared member value pairs for this annotation. - * Returns an empty list for a {@link MarkerAnnotation}, a one element - * list for a {@link SingleMemberAnnotation}, and one entry for each - * of the explicitly listed values in a {@link NormalAnnotation}. - * <p> - * Note that the list only includes entries for annotation type members that are - * explicitly mentioned in the annotation. The list does not include any - * annotation type members with default values that are merely implied. - * Use {@link #getAllMemberValuePairs()} to get those as well. - * </p> - * - * @return a possibly empty list of resolved member value pairs - */ - IMemberValuePairBinding[] getDeclaredMemberValuePairs(); - - /** - * Returns the name of the annotation type. - * - * @return the name of the annotation type - */ - public String getName(); - -}
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/IBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/IBinding.java index 80726a4..5ee6a6a 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/IBinding.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/IBinding.java
@@ -71,48 +71,7 @@ */ public static final int METHOD = 4; - /** - * Kind constant (value 5) indicating an annotation binding. - * Bindings of this kind can be safely cast to <code>IAnnotationBinding</code>. - * - * @see #getKind() - * @see IAnnotationBinding - * @since 3.2 - */ - public static final int ANNOTATION = 5; - /** - * Kind constant (value 6) indicating a member value pair binding. - * Bindings of this kind can be safely cast to <code>IMemberValuePairBinding</code>. - * - * @see #getKind() - * @see IMemberValuePairBinding - * @since 3.2 - */ - public static final int MEMBER_VALUE_PAIR = 6; - - /** - * Return the resolved annotations associated with this binding. - * <ul> - * <li>Package bindings - these are annotations on a package declaration. - * </li> - * <li>Type bindings - these are annotations on a class, interface, enum, - * or annotation type declaration. The result is the same regardless of - * whether the type is parameterized.</li> - * <li>Method bindings - these are annotations on a method or constructor - * declaration. The result is the same regardless of whether the method is - * parameterized.</li> - * <li>Variable bindings - these are annotations on a field, enum constant, - * or formal parameter declaration.</li> - * <li>Annotation bindings - an empty array is always returned</li> - * <li>Member value pair bindings - an empty array is always returned<li> - * </ul> - * - * @return the list of resolved annotations, or the empty list if there are no - * annotations associated with the object - * @since 3.2 - */ - public IAnnotationBinding[] getAnnotations(); /** * Returns the kind of bindings this is. That is one of the kind constants:
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/IFunctionBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/IFunctionBinding.java index b4c3863..4e1c2d8 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/IFunctionBinding.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/IFunctionBinding.java
@@ -114,19 +114,6 @@ */ public Object getDefaultValue(); - /** - * Returns the resolved annotations of a parameter of this method. - * The result returned is the same regardless of whether - * this is a parameterized method. - * - * @param paramIndex the index of the parameter of interest - * @return the resolved annotations of the <code>paramIndex</code>th parameter, - * or an empty list if there are none - * @throws ArrayIndexOutOfBoundsException if <code>paramIndex</code> is - * not a valid index - * @since 3.2 - */ - public IAnnotationBinding[] getParameterAnnotations(int paramIndex); /** * Returns a list of type bindings representing the formal parameter types,
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/JavaScriptUnitBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/JavaScriptUnitBinding.java index b2d50db..a0f8304 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/JavaScriptUnitBinding.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/JavaScriptUnitBinding.java
@@ -68,10 +68,6 @@ return null; } - public IAnnotationBinding[] getAnnotations() { - return AnnotationBinding.NoAnnotations; - } - /* * @see ITypeBinding#getBinaryName() * @since 3.0
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/MarkerAnnotation.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/MarkerAnnotation.java deleted file mode 100644 index 0bd1249..0000000 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/MarkerAnnotation.java +++ /dev/null
@@ -1,163 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.core.dom; - -import java.util.ArrayList; -import java.util.List; - -/** - * Marker annotation node (added in JLS3 API). The marker annotation - * "@foo" is equivalent to the normal annotation "@foo()". - * <p> - * <pre> - * MarkerAnnotation: - * <b>@</b> TypeName - * </pre> - * </p> - * - * - * Provisional API: This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - */ -public final class MarkerAnnotation extends Annotation { - - /** - * The "typeName" structural property of this node type. - */ - public static final ChildPropertyDescriptor TYPE_NAME_PROPERTY = - internalTypeNamePropertyFactory(MarkerAnnotation.class); - - /** - * A list of property descriptors (element type: - * {@link StructuralPropertyDescriptor}), - * or null if uninitialized. - */ - private static final List PROPERTY_DESCRIPTORS; - - static { - List propertyList = new ArrayList(2); - createPropertyList(MarkerAnnotation.class, propertyList); - addProperty(TYPE_NAME_PROPERTY, propertyList); - PROPERTY_DESCRIPTORS = reapPropertyList(propertyList); - } - - /** - * Returns a list of structural property descriptors for this node type. - * Clients must not modify the result. - * - * @param apiLevel the API level; one of the AST.JLS* constants - * @return a list of property descriptors (element type: - * {@link StructuralPropertyDescriptor}) - */ - public static List propertyDescriptors(int apiLevel) { - return PROPERTY_DESCRIPTORS; - } - - /** - * Creates a new unparented marker annotation node owned - * by the given AST. By default, the annotation has an - * unspecified type name . - * <p> - * N.B. This constructor is package-private. - * </p> - * - * @param ast the AST that is to own this node - */ - MarkerAnnotation(AST ast) { - super(ast); - unsupportedIn2(); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final List internalStructuralPropertiesForType(int apiLevel) { - return propertyDescriptors(apiLevel); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final ASTNode internalGetSetChildProperty(ChildPropertyDescriptor property, boolean get, ASTNode child) { - if (property == TYPE_NAME_PROPERTY) { - if (get) { - return getTypeName(); - } else { - setTypeName((Name) child); - return null; - } - } - // allow default implementation to flag the error - return super.internalGetSetChildProperty(property, get, child); - } - - /* (omit javadoc for this method) - * Method declared on BodyDeclaration. - */ - final ChildPropertyDescriptor internalTypeNameProperty() { - return TYPE_NAME_PROPERTY; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final int getNodeType0() { - return MARKER_ANNOTATION; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - ASTNode clone0(AST target) { - MarkerAnnotation result = new MarkerAnnotation(target); - result.setSourceRange(this.getStartPosition(), this.getLength()); - result.setTypeName((Name) ASTNode.copySubtree(target, getTypeName())); - return result; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final boolean subtreeMatch0(ASTMatcher matcher, Object other) { - // dispatch to correct overloaded match method - return matcher.match(this, other); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - void accept0(ASTVisitor visitor) { - boolean visitChildren = visitor.visit(this); - if (visitChildren) { - // visit children in normal left to right reading order - acceptChild(visitor, getTypeName()); - } - visitor.endVisit(this); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - int memSize() { - return super.memSize(); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - int treeSize() { - return - memSize() - + (this.typeName == null ? 0 : getTypeName().treeSize()); - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/MemberValuePair.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/MemberValuePair.java deleted file mode 100644 index ea1f32c..0000000 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/MemberValuePair.java +++ /dev/null
@@ -1,283 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.wst.jsdt.core.dom; - -import java.util.ArrayList; -import java.util.List; - -/** - * Member value pair node (added in JLS3 API). Member value pairs appear in annotations. - * <p> - * <pre> - * MemberValuePair: - * SimpleName <b>=</b> Expression - * </pre> - * Within annotations, only certain kinds of expressions are meaningful, - * including other annotations. - * </p> - * - * @see NormalAnnotation - * - * Provisional API: This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - */ -public class MemberValuePair extends ASTNode { - - /** - * The "name" structural property of this node type. - */ - public static final ChildPropertyDescriptor NAME_PROPERTY = - new ChildPropertyDescriptor(MemberValuePair.class, "name", SimpleName.class, MANDATORY, NO_CYCLE_RISK); //$NON-NLS-1$ - - /** - * The "value" structural property of this node type. - */ - public static final ChildPropertyDescriptor VALUE_PROPERTY = - new ChildPropertyDescriptor(MemberValuePair.class, "value", Expression.class, MANDATORY, CYCLE_RISK); //$NON-NLS-1$ - - /** - * A list of property descriptors (element type: - * {@link StructuralPropertyDescriptor}), - * or null if uninitialized. - */ - private static final List PROPERTY_DESCRIPTORS; - - static { - List propertyList = new ArrayList(3); - createPropertyList(MemberValuePair.class, propertyList); - addProperty(NAME_PROPERTY, propertyList); - addProperty(VALUE_PROPERTY, propertyList); - PROPERTY_DESCRIPTORS = reapPropertyList(propertyList); - } - - /** - * Returns a list of structural property descriptors for this node type. - * Clients must not modify the result. - * - * @param apiLevel the API level; one of the AST.JLS* constants - * @return a list of property descriptors (element type: - * {@link StructuralPropertyDescriptor}) - */ - public static List propertyDescriptors(int apiLevel) { - return PROPERTY_DESCRIPTORS; - } - - /** - * The member name; lazily initialized; defaults to a unspecified, - * legal name. - */ - private SimpleName name = null; - - /** - * The value; lazily initialized; defaults to a unspecified, - * legal expression. - */ - private Expression value = null; - - /** - * Creates a new AST node for a member value pair owned by the given - * AST. By default, the node has an unspecified (but legal) member - * name and value. - * <p> - * N.B. This constructor is package-private. - * </p> - * - * @param ast the AST that is to own this node - */ - MemberValuePair(AST ast) { - super(ast); - unsupportedIn2(); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final List internalStructuralPropertiesForType(int apiLevel) { - return propertyDescriptors(apiLevel); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final ASTNode internalGetSetChildProperty(ChildPropertyDescriptor property, boolean get, ASTNode child) { - if (property == NAME_PROPERTY) { - if (get) { - return getName(); - } else { - setName((SimpleName) child); - return null; - } - } - if (property == VALUE_PROPERTY) { - if (get) { - return getValue(); - } else { - setValue((Expression) child); - return null; - } - } - // allow default implementation to flag the error - return super.internalGetSetChildProperty(property, get, child); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final int getNodeType0() { - return MEMBER_VALUE_PAIR; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - ASTNode clone0(AST target) { - MemberValuePair result = new MemberValuePair(target); - result.setSourceRange(this.getStartPosition(), this.getLength()); - result.setName((SimpleName) ASTNode.copySubtree(target, getName())); - result.setValue((Expression) ASTNode.copySubtree(target, getValue())); - return result; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final boolean subtreeMatch0(ASTMatcher matcher, Object other) { - // dispatch to correct overloaded match method - return matcher.match(this, other); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - void accept0(ASTVisitor visitor) { - boolean visitChildren = visitor.visit(this); - if (visitChildren) { - // visit children in normal left to right reading order - acceptChild(visitor, getName()); - acceptChild(visitor, getValue()); - } - visitor.endVisit(this); - } - - /** - * Returns the member name. - * - * @return the member name node - */ - public SimpleName getName() { - if (this.name == null) { - // lazy init must be thread-safe for readers - synchronized (this) { - if (this.name == null) { - preLazyInit(); - this.name = new SimpleName(this.ast); - postLazyInit(this.name, NAME_PROPERTY); - } - } - } - return this.name; - } - - /** - * Resolves and returns the member value pair binding for this member value pair. - * <p> - * Note that bindings are generally unavailable unless requested when the - * AST is being built. - * </p> - * - * @return the binding, or <code>null</code> if the binding cannot be - * resolved - * @since 3.2 - */ - public final IMemberValuePairBinding resolveMemberValuePairBinding() { - return this.ast.getBindingResolver().resolveMemberValuePair(this); - } - - /** - * Sets the member name. - * - * @param name the member name node - * @exception IllegalArgumentException if: - * <ul> - * <li>the node belongs to a different AST</li> - * <li>the node already has a parent</li> - * </ul> - */ - public void setName(SimpleName name) { - if (name == null) { - throw new IllegalArgumentException(); - } - ASTNode oldChild = this.name; - preReplaceChild(oldChild, name, NAME_PROPERTY); - this.name = name; - postReplaceChild(oldChild, name, NAME_PROPERTY); - } - - /** - * Returns the value expression. - * - * @return the value expression - */ - public Expression getValue() { - if (this.value == null) { - // lazy init must be thread-safe for readers - synchronized (this) { - if (this.value == null) { - preLazyInit(); - this.value= new SimpleName(this.ast); - postLazyInit(this.value, VALUE_PROPERTY); - } - } - } - return this.value; - } - - /** - * Sets the value of this pair. - * - * @param value the new value - * @exception IllegalArgumentException if: - * <ul> - * <li>the node belongs to a different AST</li> - * <li>the node already has a parent</li> - * <li>a cycle in would be created</li> - * </ul> - */ - public void setValue(Expression value) { - if (value == null) { - throw new IllegalArgumentException(); - } - ASTNode oldChild = this.value; - preReplaceChild(oldChild, value, VALUE_PROPERTY); - this.value = value; - postReplaceChild(oldChild, value, VALUE_PROPERTY); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - int memSize() { - return BASE_NODE_SIZE + 2 * 4; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - int treeSize() { - return - memSize() - + (this.name == null ? 0 : getName().treeSize()) - + (this.value == null ? 0 : getValue().treeSize()); - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/MemberValuePairBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/MemberValuePairBinding.java deleted file mode 100644 index 102e046..0000000 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/MemberValuePairBinding.java +++ /dev/null
@@ -1,208 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005, 2007 BEA Systems, Inc. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * tyeung@bea.com - initial API and implementation - * IBM Corporation - implemented methods from IBinding - * IBM Corporation - renamed from ResolvedMemberValuePair to MemberValuePairBinding - * jgarms@bea.com - Fix for IllegalStateException - *******************************************************************************/ -package org.eclipse.wst.jsdt.core.dom; - -import org.eclipse.wst.jsdt.core.IJavaScriptElement; -import org.eclipse.wst.jsdt.internal.compiler.impl.Constant; -import org.eclipse.wst.jsdt.internal.compiler.lookup.ElementValuePair; -import org.eclipse.wst.jsdt.internal.compiler.lookup.MethodBinding; -import org.eclipse.wst.jsdt.internal.compiler.lookup.TypeIds; - -/** - * Internal class. - */ -class MemberValuePairBinding implements IMemberValuePairBinding { - static final MemberValuePairBinding[] NoPair = new MemberValuePairBinding[0]; - private static final Object NoValue = new Object(); - private static final Object[] EmptyArray = new Object[0]; - - private ElementValuePair internalPair; - protected Object value = null; - protected BindingResolver bindingResolver; - - static void appendValue(Object value, StringBuffer buffer) { - if (value instanceof Object[]) { - Object[] values = (Object[]) value; - buffer.append('{'); - for (int i = 0, l = values.length; i < l; i++) { - if (i != 0) - buffer.append(", "); //$NON-NLS-1$ - appendValue(values[i], buffer); - } - buffer.append('}'); - } else if (value instanceof ITypeBinding) { - buffer.append(((ITypeBinding) value).getName()); - buffer.append(".class"); //$NON-NLS-1$ - } else { - buffer.append(value); - } - } - - static Object buildDOMValue(final Object internalObject, BindingResolver resolver) { - if (internalObject == null) - return null; - - if (internalObject instanceof Constant) { - Constant constant = (Constant) internalObject; - switch (constant.typeID()) { - case TypeIds.T_boolean: - return Boolean.valueOf(constant.booleanValue()); - case TypeIds.T_byte: - return new Byte(constant.byteValue()); - case TypeIds.T_char: - return new Character(constant.charValue()); - case TypeIds.T_double: - return new Double(constant.doubleValue()); - case TypeIds.T_float: - return new Float(constant.floatValue()); - case TypeIds.T_int: - return new Integer(constant.intValue()); - case TypeIds.T_long: - return new Long(constant.longValue()); - case TypeIds.T_short: - return new Short(constant.shortValue()); - case TypeIds.T_JavaLangString: - return constant.stringValue(); - } - } else if (internalObject instanceof org.eclipse.wst.jsdt.internal.compiler.lookup.TypeBinding) { - return resolver.getTypeBinding((org.eclipse.wst.jsdt.internal.compiler.lookup.TypeBinding) internalObject); - } else if (internalObject instanceof org.eclipse.wst.jsdt.internal.compiler.lookup.AnnotationBinding) { - return resolver.getAnnotationInstance((org.eclipse.wst.jsdt.internal.compiler.lookup.AnnotationBinding) internalObject); - } else if (internalObject instanceof org.eclipse.wst.jsdt.internal.compiler.lookup.FieldBinding) { - return resolver.getVariableBinding((org.eclipse.wst.jsdt.internal.compiler.lookup.FieldBinding) internalObject); - } else if (internalObject instanceof Object[]) { - Object[] elements = (Object[]) internalObject; - int length = elements.length; - Object[] values = length == 0 ? EmptyArray : new Object[length]; - for (int i = 0; i < length; i++) - values[i] = buildDOMValue(elements[i], resolver); - return values; - } - return null; - } - - MemberValuePairBinding(ElementValuePair pair, BindingResolver resolver) { - this.internalPair = pair; - this.bindingResolver = resolver; - } - - public IAnnotationBinding[] getAnnotations() { - return AnnotationBinding.NoAnnotations; - } - - public IJavaScriptElement getJavaElement() { - return null; - } - - public String getKey() { - // TODO when implementing, update spec in IBinding - return null; - } - - public int getKind() { - return IBinding.MEMBER_VALUE_PAIR; - } - - public IFunctionBinding getMethodBinding() { - return this.bindingResolver.getMethodBinding(this.internalPair.getMethodBinding()); - } - - public int getModifiers() { - return Modifier.NONE; - } - - public String getName() { - if (this.internalPair == null) - return null; - final char[] membername = this.internalPair.getName(); - return membername == null ? null : new String(membername); - } - - public Object getValue() { - if (value == null) - init(); - return value == NoValue ? null : this.value; - } - - private void init() { - this.value = buildDOMValue(this.internalPair.getValue(), this.bindingResolver); - if (this.value == null) - this.value = NoValue; - } - - char[] internalName() { - return this.internalPair == null ? null : this.internalPair.getName(); - } - - public boolean isDefault() { - Object value2 = getValue(); - Object defaultValue = getMethodBinding().getDefaultValue(); - if (value2 instanceof IBinding) { - if (defaultValue instanceof IBinding) { - return ((IBinding) value2).isEqualTo((IBinding) defaultValue); - } - return false; - } - if (defaultValue == null) return false; - return defaultValue.equals(value2); - } - - public boolean isDeprecated() { - MethodBinding methodBinding = this.internalPair.getMethodBinding(); - return methodBinding == null ? false : methodBinding.isDeprecated(); - } - - public boolean isEqualTo(IBinding binding) { - if (this == binding) - return true; - if (binding.getKind() != IBinding.MEMBER_VALUE_PAIR) - return false; - IMemberValuePairBinding other = (IMemberValuePairBinding) binding; - if (!getMethodBinding().isEqualTo(other.getMethodBinding())) { - return false; - } - Object otherValue = other.getValue(); - Object currentValue = getValue(); - if (currentValue == null) { - return otherValue == null; - } - if (currentValue instanceof IBinding) { - if (otherValue instanceof IBinding) { - return ((IBinding) currentValue).isEqualTo((IBinding) otherValue); - } - return false; - } - return currentValue.equals(otherValue); - } - - /* - * (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.IBinding#isRecovered() - */ - public boolean isRecovered() { - return false; - } - - public boolean isSynthetic() { - return false; - } - - public String toString() { - StringBuffer buffer = new StringBuffer(); - buffer.append(getName()); - buffer.append(" = "); //$NON-NLS-1$ - appendValue(getValue(), buffer); - return buffer.toString(); - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/NaiveASTFlattener.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/NaiveASTFlattener.java index a7e8bb1..ddc7a4e 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/NaiveASTFlattener.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/NaiveASTFlattener.java
@@ -133,49 +133,6 @@ } /* - * @see ASTVisitor#visit(AnnotationTypeDeclaration) - * @since 3.1 - */ - public boolean visit(AnnotationTypeDeclaration node) { - if (node.getJavadoc() != null) { - node.getJavadoc().accept(this); - } - printIndent(); - printModifiers(node.modifiers()); - this.buffer.append("@interface ");//$NON-NLS-1$ - node.getName().accept(this); - this.buffer.append(" {");//$NON-NLS-1$ - for (Iterator it = node.bodyDeclarations().iterator(); it.hasNext(); ) { - BodyDeclaration d = (BodyDeclaration) it.next(); - d.accept(this); - } - this.buffer.append("}\n");//$NON-NLS-1$ - return false; - } - - /* - * @see ASTVisitor#visit(AnnotationTypeMemberDeclaration) - * @since 3.1 - */ - public boolean visit(AnnotationTypeMemberDeclaration node) { - if (node.getJavadoc() != null) { - node.getJavadoc().accept(this); - } - printIndent(); - printModifiers(node.modifiers()); - node.getType().accept(this); - this.buffer.append(" ");//$NON-NLS-1$ - node.getName().accept(this); - this.buffer.append("()");//$NON-NLS-1$ - if (node.getDefault() != null) { - this.buffer.append(" default ");//$NON-NLS-1$ - node.getDefault().accept(this); - } - this.buffer.append(";\n");//$NON-NLS-1$ - return false; - } - - /* * @see ASTVisitor#visit(AnonymousClassDeclaration) */ public boolean visit(AnonymousClassDeclaration node) { @@ -529,79 +486,7 @@ return false; } - /* - * @see ASTVisitor#visit(EnumConstantDeclaration) - * @since 3.1 - */ - public boolean visit(EnumConstantDeclaration node) { - if (node.getJavadoc() != null) { - node.getJavadoc().accept(this); - } - printIndent(); - printModifiers(node.modifiers()); - node.getName().accept(this); - if (!node.arguments().isEmpty()) { - this.buffer.append("(");//$NON-NLS-1$ - for (Iterator it = node.arguments().iterator(); it.hasNext(); ) { - Expression e = (Expression) it.next(); - e.accept(this); - if (it.hasNext()) { - this.buffer.append(",");//$NON-NLS-1$ - } - } - this.buffer.append(")");//$NON-NLS-1$ - } - if (node.getAnonymousClassDeclaration() != null) { - node.getAnonymousClassDeclaration().accept(this); - } - return false; - } - /* - * @see ASTVisitor#visit(EnumDeclaration) - * @since 3.1 - */ - public boolean visit(EnumDeclaration node) { - if (node.getJavadoc() != null) { - node.getJavadoc().accept(this); - } - printIndent(); - printModifiers(node.modifiers()); - this.buffer.append("enum ");//$NON-NLS-1$ - node.getName().accept(this); - this.buffer.append(" ");//$NON-NLS-1$ - if (!node.superInterfaceTypes().isEmpty()) { - this.buffer.append("implements ");//$NON-NLS-1$ - for (Iterator it = node.superInterfaceTypes().iterator(); it.hasNext(); ) { - Type t = (Type) it.next(); - t.accept(this); - if (it.hasNext()) { - this.buffer.append(", ");//$NON-NLS-1$ - } - } - this.buffer.append(" ");//$NON-NLS-1$ - } - this.buffer.append("{");//$NON-NLS-1$ - for (Iterator it = node.enumConstants().iterator(); it.hasNext(); ) { - EnumConstantDeclaration d = (EnumConstantDeclaration) it.next(); - d.accept(this); - // enum constant declarations do not include punctuation - if (it.hasNext()) { - // enum constant declarations are separated by commas - this.buffer.append(", ");//$NON-NLS-1$ - } - } - if (!node.bodyDeclarations().isEmpty()) { - this.buffer.append("; ");//$NON-NLS-1$ - for (Iterator it = node.bodyDeclarations().iterator(); it.hasNext(); ) { - BodyDeclaration d = (BodyDeclaration) it.next(); - d.accept(this); - // other body declarations include trailing punctuation - } - } - this.buffer.append("}\n");//$NON-NLS-1$ - return false; - } /* * @see ASTVisitor#visit(ExpressionStatement) @@ -820,16 +705,6 @@ } /* - * @see ASTVisitor#visit(MarkerAnnotation) - * @since 3.1 - */ - public boolean visit(MarkerAnnotation node) { - this.buffer.append("@");//$NON-NLS-1$ - node.getTypeName().accept(this); - return false; - } - - /* * @see ASTVisitor#visit(MemberRef) * @since 3.0 */ @@ -842,16 +717,6 @@ return false; } - /* - * @see ASTVisitor#visit(MemberValuePair) - * @since 3.1 - */ - public boolean visit(MemberValuePair node) { - node.getName().accept(this); - this.buffer.append("=");//$NON-NLS-1$ - node.getValue().accept(this); - return false; - } /* * @see ASTVisitor#visit(FunctionRef) @@ -1012,25 +877,6 @@ } /* - * @see ASTVisitor#visit(NormalAnnotation) - * @since 3.1 - */ - public boolean visit(NormalAnnotation node) { - this.buffer.append("@");//$NON-NLS-1$ - node.getTypeName().accept(this); - this.buffer.append("(");//$NON-NLS-1$ - for (Iterator it = node.values().iterator(); it.hasNext(); ) { - MemberValuePair p = (MemberValuePair) it.next(); - p.accept(this); - if (it.hasNext()) { - this.buffer.append(",");//$NON-NLS-1$ - } - } - this.buffer.append(")");//$NON-NLS-1$ - return false; - } - - /* * @see ASTVisitor#visit(NullLiteral) */ public boolean visit(NullLiteral node) { @@ -1089,11 +935,6 @@ if (node.getJavadoc() != null) { node.getJavadoc().accept(this); } - for (Iterator it = node.annotations().iterator(); it.hasNext(); ) { - Annotation p = (Annotation) it.next(); - p.accept(this); - this.buffer.append(" ");//$NON-NLS-1$ - } } printIndent(); this.buffer.append("package ");//$NON-NLS-1$ @@ -1206,18 +1047,6 @@ return true; } - /* - * @see ASTVisitor#visit(SingleMemberAnnotation) - * @since 3.1 - */ - public boolean visit(SingleMemberAnnotation node) { - this.buffer.append("@");//$NON-NLS-1$ - node.getTypeName().accept(this); - this.buffer.append("(");//$NON-NLS-1$ - node.getValue().accept(this); - this.buffer.append(")");//$NON-NLS-1$ - return false; - } /* * @see ASTVisitor#visit(SingleVariableDeclaration)
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/NormalAnnotation.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/NormalAnnotation.java deleted file mode 100644 index b7c566d..0000000 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/NormalAnnotation.java +++ /dev/null
@@ -1,204 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.core.dom; - -import java.util.ArrayList; -import java.util.List; - -/** - * Normal annotation node (added in JLS3 API). - * <p> - * <pre> - * NormalAnnotation: - * <b>@</b> TypeName <b>(</b> [ MemberValuePair { <b>,</b> MemberValuePair } ] <b>)</b> - * </pre> - * </p> - * - * Provisional API: This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - */ -public final class NormalAnnotation extends Annotation { - - /** - * The "typeName" structural property of this node type. - */ - public static final ChildPropertyDescriptor TYPE_NAME_PROPERTY = - internalTypeNamePropertyFactory(NormalAnnotation.class); - - /** - * The "values" structural property of this node type. - */ - public static final ChildListPropertyDescriptor VALUES_PROPERTY = - new ChildListPropertyDescriptor(NormalAnnotation.class, "values", MemberValuePair.class, CYCLE_RISK); //$NON-NLS-1$ - - /** - * A list of property descriptors (element type: - * {@link StructuralPropertyDescriptor}), - * or null if uninitialized. - */ - private static final List PROPERTY_DESCRIPTORS; - - static { - List propertyList = new ArrayList(3); - createPropertyList(NormalAnnotation.class, propertyList); - addProperty(TYPE_NAME_PROPERTY, propertyList); - addProperty(VALUES_PROPERTY, propertyList); - PROPERTY_DESCRIPTORS = reapPropertyList(propertyList); - } - - /** - * Returns a list of structural property descriptors for this node type. - * Clients must not modify the result. - * - * @param apiLevel the API level; one of the AST.JLS* constants - * @return a list of property descriptors (element type: - * {@link StructuralPropertyDescriptor}) - */ - public static List propertyDescriptors(int apiLevel) { - return PROPERTY_DESCRIPTORS; - } - - /** - * The list of member value pairs (element type: - * <code MemberValuePair</code>). Defaults to an empty list. - */ - private ASTNode.NodeList values = - new ASTNode.NodeList(VALUES_PROPERTY); - - /** - * Creates a new unparented normal annotation node owned - * by the given AST. By default, the annotation has an - * unspecified type name and an empty list of member value - * pairs. - * <p> - * N.B. This constructor is package-private. - * </p> - * - * @param ast the AST that is to own this node - */ - NormalAnnotation(AST ast) { - super(ast); - unsupportedIn2(); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final List internalStructuralPropertiesForType(int apiLevel) { - return propertyDescriptors(apiLevel); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final ASTNode internalGetSetChildProperty(ChildPropertyDescriptor property, boolean get, ASTNode child) { - if (property == TYPE_NAME_PROPERTY) { - if (get) { - return getTypeName(); - } else { - setTypeName((Name) child); - return null; - } - } - // allow default implementation to flag the error - return super.internalGetSetChildProperty(property, get, child); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final List internalGetChildListProperty(ChildListPropertyDescriptor property) { - if (property == VALUES_PROPERTY) { - return values(); - } - // allow default implementation to flag the error - return super.internalGetChildListProperty(property); - } - - /* (omit javadoc for this method) - * Method declared on BodyDeclaration. - */ - final ChildPropertyDescriptor internalTypeNameProperty() { - return TYPE_NAME_PROPERTY; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final int getNodeType0() { - return NORMAL_ANNOTATION; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - ASTNode clone0(AST target) { - NormalAnnotation result = new NormalAnnotation(target); - result.setSourceRange(this.getStartPosition(), this.getLength()); - result.setTypeName((Name) ASTNode.copySubtree(target, getTypeName())); - result.values().addAll(ASTNode.copySubtrees(target, values())); - return result; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final boolean subtreeMatch0(ASTMatcher matcher, Object other) { - // dispatch to correct overloaded match method - return matcher.match(this, other); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - void accept0(ASTVisitor visitor) { - boolean visitChildren = visitor.visit(this); - if (visitChildren) { - // visit children in normal left to right reading order - acceptChild(visitor, getTypeName()); - acceptChildren(visitor, this.values); - } - visitor.endVisit(this); - } - - /** - * Returns the live list of member value pairs in this annotation. - * Adding and removing nodes from this list affects this node - * dynamically. All nodes in this list must be - * {@link MemberValuePair}s; attempts to add any other - * type of node will trigger an exception. - * - * @return the live list of member value pairs in this - * annotation (element type: <code>MemberValuePair</code>) - */ - public List values() { - return this.values; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - int memSize() { - return super.memSize() + 1 * 4; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - int treeSize() { - return - memSize() - + (this.typeName == null ? 0 : getTypeName().treeSize()) - + this.values.listSize(); - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/PackageBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/PackageBinding.java index 25b5db3..f1032fc 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/PackageBinding.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/PackageBinding.java
@@ -11,14 +11,7 @@ package org.eclipse.wst.jsdt.core.dom; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IJavaScriptElement; -import org.eclipse.wst.jsdt.core.IPackageFragment; -import org.eclipse.wst.jsdt.core.IPackageFragmentRoot; -import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.compiler.CharOperation; import org.eclipse.wst.jsdt.internal.compiler.env.INameEnvironment; import org.eclipse.wst.jsdt.internal.compiler.util.Util; @@ -44,80 +37,6 @@ // this.resolver = resolver; } - public IAnnotationBinding[] getAnnotations() { - try { - INameEnvironment nameEnvironment = this.binding.environment.nameEnvironment; - if (!(nameEnvironment instanceof SearchableEnvironment)) - return AnnotationBinding.NoAnnotations; - NameLookup nameLookup = ((SearchableEnvironment) nameEnvironment).nameLookup; - if (nameLookup == null) - return AnnotationBinding.NoAnnotations; - final String pkgName = getName(); - IPackageFragment[] pkgs = nameLookup.findPackageFragments(pkgName, false/*exact match*/); - if (pkgs == null) - return AnnotationBinding.NoAnnotations; - - for (int i = 0, len = pkgs.length; i < len; i++) { - int fragType = pkgs[i].getKind(); - switch(fragType) { - case IPackageFragmentRoot.K_SOURCE: - String unitName = "package-info.js"; //$NON-NLS-1$ - IJavaScriptUnit unit = pkgs[i].getJavaScriptUnit(unitName); - if (unit != null) { - ASTParser p = ASTParser.newParser(AST.JLS3); - p.setSource(unit); - p.setResolveBindings(true); - p.setUnitName(unitName); - p.setFocalPosition(0); - p.setKind(ASTParser.K_COMPILATION_UNIT); - JavaScriptUnit domUnit = (JavaScriptUnit) p.createAST(null); - PackageDeclaration pkgDecl = domUnit.getPackage(); - if (pkgDecl != null) { - List annos = pkgDecl.annotations(); - if (annos == null || annos.isEmpty()) - return AnnotationBinding.NoAnnotations; - IAnnotationBinding[] result = new IAnnotationBinding[annos.size()]; - int index=0; - for (Iterator it = annos.iterator(); it.hasNext(); index++) { - result[index] = ((Annotation) it.next()).resolveAnnotationBinding(); - // not resolving bindings - if (result[index] == null) - return AnnotationBinding.NoAnnotations; - } - return result; - } - } - break; - case IPackageFragmentRoot.K_BINARY: - -// unused code -// NameEnvironmentAnswer answer = -// nameEnvironment.findType(TypeConstants.PACKAGE_INFO_NAME, this.binding.compoundName); -// if (answer != null && answer.isBinaryType()) { -// IBinaryType type = answer.getBinaryType(); -// IBinaryAnnotation[] binaryAnnotations = type.getAnnotations(); -// org.eclipse.wst.jsdt.internal.compiler.lookup.AnnotationBinding[] binaryInstances = -// BinaryTypeBinding.createAnnotations(binaryAnnotations, this.binding.environment); -// org.eclipse.wst.jsdt.internal.compiler.lookup.AnnotationBinding[] allInstances = -// org.eclipse.wst.jsdt.internal.compiler.lookup.AnnotationBinding.addStandardAnnotations(binaryInstances, type.getTagBits(), this.binding.environment); -// int total = allInstances.length; -// IAnnotationBinding[] domInstances = new AnnotationBinding[total]; -// for (int a = 0; a < total; a++) { -// final IAnnotationBinding annotationInstance = this.resolver.getAnnotationInstance(allInstances[a]); -// if (annotationInstance == null) {// not resolving binding -// return AnnotationBinding.NoAnnotations; -// } -// domInstances[a] = annotationInstance; -// } -// return domInstances; -// } - } - } - } catch(JavaScriptModelException e) { - return AnnotationBinding.NoAnnotations; - } - return AnnotationBinding.NoAnnotations; - } /* * @see IBinding#getName()
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/PackageDeclaration.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/PackageDeclaration.java index 2e30096..a34e6e3 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/PackageDeclaration.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/PackageDeclaration.java
@@ -47,13 +47,6 @@ new ChildPropertyDescriptor(PackageDeclaration.class, "javadoc", JSdoc.class, OPTIONAL, NO_CYCLE_RISK); //$NON-NLS-1$ /** - * The "annotations" structural property of this node type (added in JLS3 API). - * @since 3.1 - */ - public static final ChildListPropertyDescriptor ANNOTATIONS_PROPERTY = - new ChildListPropertyDescriptor(PackageDeclaration.class, "annotations", Annotation.class, CYCLE_RISK); //$NON-NLS-1$ - - /** * The "name" structural property of this node type. * @since 3.0 */ @@ -85,7 +78,6 @@ propertyList = new ArrayList(4); createPropertyList(PackageDeclaration.class, propertyList); addProperty(JAVADOC_PROPERTY, propertyList); - addProperty(ANNOTATIONS_PROPERTY, propertyList); addProperty(NAME_PROPERTY, propertyList); PROPERTY_DESCRIPTORS_3_0 = reapPropertyList(propertyList); } @@ -144,9 +136,6 @@ */ PackageDeclaration(AST ast) { super(ast); - if (ast.apiLevel >= AST.JLS3) { - this.annotations = new ASTNode.NodeList(ANNOTATIONS_PROPERTY); - } } /* (omit javadoc for this method) @@ -184,9 +173,6 @@ * Method declared on ASTNode. */ final List internalGetChildListProperty(ChildListPropertyDescriptor property) { - if (property == ANNOTATIONS_PROPERTY) { - return annotations(); - } // allow default implementation to flag the error return super.internalGetChildListProperty(property); }
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/RecoveredTypeBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/RecoveredTypeBinding.java index 991b946..ecf8b50 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/RecoveredTypeBinding.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/RecoveredTypeBinding.java
@@ -488,12 +488,6 @@ return false; } - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.IBinding#getAnnotations() - */ - public IAnnotationBinding[] getAnnotations() { - return AnnotationBinding.NoAnnotations; - } /* (non-Javadoc) * @see org.eclipse.wst.jsdt.core.dom.IBinding#getJavaElement()
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/RecoveredVariableBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/RecoveredVariableBinding.java index 042125a..f9e1f33 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/RecoveredVariableBinding.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/RecoveredVariableBinding.java
@@ -83,10 +83,6 @@ return this.variableDeclaration instanceof SingleVariableDeclaration; } - public IAnnotationBinding[] getAnnotations() { - return AnnotationBinding.NoAnnotations; - } - public IJavaScriptElement getJavaElement() { return null; }
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/SimpleName.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/SimpleName.java index 55594fc..418bb93 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/SimpleName.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/SimpleName.java
@@ -259,21 +259,9 @@ if (parent instanceof VariableDeclarationFragment) { return (d == VariableDeclarationFragment.NAME_PROPERTY); } - if (parent instanceof EnumDeclaration) { - return (d == EnumDeclaration.NAME_PROPERTY); - } - if (parent instanceof EnumConstantDeclaration) { - return (d == EnumConstantDeclaration.NAME_PROPERTY); - } if (parent instanceof TypeParameter) { return (d == TypeParameter.NAME_PROPERTY); } - if (parent instanceof AnnotationTypeDeclaration) { - return (d == AnnotationTypeDeclaration.NAME_PROPERTY); - } - if (parent instanceof AnnotationTypeMemberDeclaration) { - return (d == AnnotationTypeMemberDeclaration.NAME_PROPERTY); - } return false; }
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/SingleMemberAnnotation.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/SingleMemberAnnotation.java deleted file mode 100644 index 91e5dca..0000000 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/SingleMemberAnnotation.java +++ /dev/null
@@ -1,229 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.core.dom; - -import java.util.ArrayList; -import java.util.List; - -/** - * Single member annotation node (added in JLS3 API). The single member annotation - * "@foo(bar)" is equivalent to the normal annotation "@foo(value=bar)". - * <p> - * <pre> - * SingleMemberAnnotation: - * <b>@</b> TypeName <b>(</b> Expression <b>)</b> - * </pre> - * Within annotations, only certain kinds of expressions are meaningful, - * including other annotations. - * </p> - * - * - * Provisional API: This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - */ -public final class SingleMemberAnnotation extends Annotation { - - /** - * The "typeName" structural property of this node type. - */ - public static final ChildPropertyDescriptor TYPE_NAME_PROPERTY = - internalTypeNamePropertyFactory(SingleMemberAnnotation.class); - - /** - * The "value" structural property of this node type. - */ - public static final ChildPropertyDescriptor VALUE_PROPERTY = - new ChildPropertyDescriptor(SingleMemberAnnotation.class, "value", Expression.class, MANDATORY, CYCLE_RISK); //$NON-NLS-1$ - - /** - * A list of property descriptors (element type: - * {@link StructuralPropertyDescriptor}), - * or null if uninitialized. - */ - private static final List PROPERTY_DESCRIPTORS; - - static { - List propertyList = new ArrayList(3); - createPropertyList(SingleMemberAnnotation.class, propertyList); - addProperty(TYPE_NAME_PROPERTY, propertyList); - addProperty(VALUE_PROPERTY, propertyList); - PROPERTY_DESCRIPTORS = reapPropertyList(propertyList); - } - - /** - * Returns a list of structural property descriptors for this node type. - * Clients must not modify the result. - * - * @param apiLevel the API level; one of the AST.JLS* constants - * @return a list of property descriptors (element type: - * {@link StructuralPropertyDescriptor}) - */ - public static List propertyDescriptors(int apiLevel) { - return PROPERTY_DESCRIPTORS; - } - - /** - * The value; lazily initialized; defaults to a unspecified, but legal, - * expression. - */ - private Expression value = null; - - /** - * Creates a new unparented normal annotation node owned - * by the given AST. By default, the annotation has an - * unspecified type name and an unspecified value. - * <p> - * N.B. This constructor is package-private. - * </p> - * - * @param ast the AST that is to own this node - */ - SingleMemberAnnotation(AST ast) { - super(ast); - unsupportedIn2(); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final List internalStructuralPropertiesForType(int apiLevel) { - return propertyDescriptors(apiLevel); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final ASTNode internalGetSetChildProperty(ChildPropertyDescriptor property, boolean get, ASTNode child) { - if (property == TYPE_NAME_PROPERTY) { - if (get) { - return getTypeName(); - } else { - setTypeName((Name) child); - return null; - } - } - if (property == VALUE_PROPERTY) { - if (get) { - return getValue(); - } else { - setValue((Expression) child); - return null; - } - } - // allow default implementation to flag the error - return super.internalGetSetChildProperty(property, get, child); - } - - /* (omit javadoc for this method) - * Method declared on BodyDeclaration. - */ - final ChildPropertyDescriptor internalTypeNameProperty() { - return TYPE_NAME_PROPERTY; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final int getNodeType0() { - return SINGLE_MEMBER_ANNOTATION; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - ASTNode clone0(AST target) { - SingleMemberAnnotation result = new SingleMemberAnnotation(target); - result.setSourceRange(this.getStartPosition(), this.getLength()); - result.setTypeName((Name) ASTNode.copySubtree(target, getTypeName())); - result.setValue((Expression) ASTNode.copySubtree(target, getValue())); - return result; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - final boolean subtreeMatch0(ASTMatcher matcher, Object other) { - // dispatch to correct overloaded match method - return matcher.match(this, other); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - void accept0(ASTVisitor visitor) { - boolean visitChildren = visitor.visit(this); - if (visitChildren) { - // visit children in normal left to right reading order - acceptChild(visitor, getTypeName()); - acceptChild(visitor, getValue()); - } - visitor.endVisit(this); - } - - /** - * Returns the value of this annotation. - * - * @return the value node - */ - public Expression getValue() { - if (this.value == null) { - // lazy init must be thread-safe for readers - synchronized (this) { - if (this.value == null) { - preLazyInit(); - this.value = new SimpleName(this.ast); - postLazyInit(this.value, VALUE_PROPERTY); - } - } - } - return this.value; - } - - /** - * Sets the value of this annotation. - * - * @param value the new value - * @exception IllegalArgumentException if: - * <ul> - * <li>the node belongs to a different AST</li> - * <li>the node already has a parent</li> - * <li>a cycle in would be created</li> - * </ul> - */ - public void setValue(Expression value) { - if (value == null) { - throw new IllegalArgumentException(); - } - ASTNode oldChild = this.value; - preReplaceChild(oldChild, value, VALUE_PROPERTY); - this.value = value; - postReplaceChild(oldChild, value, VALUE_PROPERTY); - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - int memSize() { - return super.memSize() + 1 * 4; - } - - /* (omit javadoc for this method) - * Method declared on ASTNode. - */ - int treeSize() { - return - memSize() - + (this.typeName == null ? 0 : getTypeName().treeSize()) - + (this.value == null ? 0 : getValue().treeSize()); - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/TypeBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/TypeBinding.java index 677659f..4d9afba 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/TypeBinding.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/TypeBinding.java
@@ -18,10 +18,10 @@ import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.Path; import org.eclipse.wst.jsdt.core.IClassFile; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; +import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IJavaScriptProject; -import org.eclipse.wst.jsdt.core.IFunction; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IPackageFragment; import org.eclipse.wst.jsdt.core.IPackageFragmentRoot; import org.eclipse.wst.jsdt.core.IType; @@ -70,7 +70,6 @@ private String key; private BindingResolver resolver; private IVariableBinding[] fields; - private IAnnotationBinding[] annotations; private IFunctionBinding[] methods; private ITypeBinding[] members; private ITypeBinding[] interfaces; @@ -92,29 +91,6 @@ return this.resolver.resolveArrayType(this, dimension); } - public IAnnotationBinding[] getAnnotations() { - if (this.annotations != null) { - return this.annotations; - } - if (this.binding.isAnnotationType() || this.binding.isClass() || this.binding.isEnum() || this.binding.isInterface()) { - org.eclipse.wst.jsdt.internal.compiler.lookup.ReferenceBinding refType = - (org.eclipse.wst.jsdt.internal.compiler.lookup.ReferenceBinding) this.binding; - org.eclipse.wst.jsdt.internal.compiler.lookup.AnnotationBinding[] internalAnnotations = refType.getAnnotations(); - int length = internalAnnotations == null ? 0 : internalAnnotations.length; - if (length != 0) { - IAnnotationBinding[] domInstances = new IAnnotationBinding[length]; - for (int i = 0; i < length; i++) { - final IAnnotationBinding annotationInstance = this.resolver.getAnnotationInstance(internalAnnotations[i]); - if (annotationInstance == null) { - return AnnotationBinding.NoAnnotations; - } - domInstances[i] = annotationInstance; - } - return this.annotations = domInstances; - } - } - return this.annotations = AnnotationBinding.NoAnnotations; - } /* * @see ITypeBinding#getBinaryName()
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/TypeDeclarationStatement.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/TypeDeclarationStatement.java index 28479c9..ec1ec81 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/TypeDeclarationStatement.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/TypeDeclarationStatement.java
@@ -334,8 +334,6 @@ AbstractTypeDeclaration d = getDeclaration(); if (d instanceof TypeDeclaration) { return ((TypeDeclaration) d).resolveBinding(); - } else if (d instanceof AnnotationTypeDeclaration) { - return ((AnnotationTypeDeclaration) d).resolveBinding(); } else { // shouldn't happen return null;
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/VariableBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/VariableBinding.java index 4eb63a7..4a1b404 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/VariableBinding.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/dom/VariableBinding.java
@@ -44,22 +44,6 @@ this.binding = binding; } - public IAnnotationBinding[] getAnnotations() { - org.eclipse.wst.jsdt.internal.compiler.lookup.AnnotationBinding[] internalAnnotations = this.binding.getAnnotations(); - // the variable is not an enum constant nor a field nor an argument. - int length = internalAnnotations == null ? 0 : internalAnnotations.length; - IAnnotationBinding[] domInstances = - length == 0 ? AnnotationBinding.NoAnnotations : new AnnotationBinding[length]; - for (int i = 0; i < length; i++) { - final IAnnotationBinding annotationInstance = this.resolver.getAnnotationInstance(internalAnnotations[i]); - if (annotationInstance == null) {// not resolving binding - return AnnotationBinding.NoAnnotations; - } - domInstances[i] = annotationInstance; - } - return domInstances; - } - /* (non-Javadoc) * @see IVariableBinding#getConstantValue() * @since 3.0
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/codeassist/CompletionEngine.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/codeassist/CompletionEngine.java index e99191f..5424bbe 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/codeassist/CompletionEngine.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/codeassist/CompletionEngine.java
@@ -20,8 +20,8 @@ import org.eclipse.wst.jsdt.core.CompletionRequestor; import org.eclipse.wst.jsdt.core.Flags; import org.eclipse.wst.jsdt.core.IAccessRule; -import org.eclipse.wst.jsdt.core.IJavaScriptProject; import org.eclipse.wst.jsdt.core.IFunction; +import org.eclipse.wst.jsdt.core.IJavaScriptProject; import org.eclipse.wst.jsdt.core.IType; import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.Signature; @@ -50,9 +50,7 @@ import org.eclipse.wst.jsdt.internal.codeassist.complete.CompletionOnJavadocTypeParamReference; import org.eclipse.wst.jsdt.internal.codeassist.complete.CompletionOnKeyword; import org.eclipse.wst.jsdt.internal.codeassist.complete.CompletionOnLocalName; -import org.eclipse.wst.jsdt.internal.codeassist.complete.CompletionOnMarkerAnnotationName; import org.eclipse.wst.jsdt.internal.codeassist.complete.CompletionOnMemberAccess; -import org.eclipse.wst.jsdt.internal.codeassist.complete.CompletionOnMemberValueName; import org.eclipse.wst.jsdt.internal.codeassist.complete.CompletionOnMessageSend; import org.eclipse.wst.jsdt.internal.codeassist.complete.CompletionOnMessageSendName; import org.eclipse.wst.jsdt.internal.codeassist.complete.CompletionOnMethodName; @@ -79,7 +77,6 @@ import org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration; import org.eclipse.wst.jsdt.internal.compiler.ast.AbstractVariableDeclaration; import org.eclipse.wst.jsdt.internal.compiler.ast.AllocationExpression; -import org.eclipse.wst.jsdt.internal.compiler.ast.Annotation; import org.eclipse.wst.jsdt.internal.compiler.ast.Argument; import org.eclipse.wst.jsdt.internal.compiler.ast.ArrayInitializer; import org.eclipse.wst.jsdt.internal.compiler.ast.ArrayReference; @@ -1996,85 +1993,85 @@ false, typesFound); } - } else if (astNode instanceof CompletionOnMarkerAnnotationName) { - CompletionOnMarkerAnnotationName annot = (CompletionOnMarkerAnnotationName) astNode; - CompletionOnAnnotationOfType fakeType = (CompletionOnAnnotationOfType)scope.parent.referenceContext(); - if (fakeType.annotations[0] == annot) { - // When the completion is inside a method body the annotation cannot be accuratly attached to the correct node by completion recovery. - // So 'targetedElement' is not computed in this case. - if (scope.parent.parent == null || !(scope.parent.parent instanceof MethodScope)) { - this.targetedElement = computeTargetedElement(fakeType); - } - - } - this.assistNodeIsAnnotation = true; - if (annot.type instanceof CompletionOnSingleTypeReference) { - CompletionOnSingleTypeReference type = (CompletionOnSingleTypeReference) annot.type; - this.completionToken = type.token; - setSourceRange(type.sourceStart, type.sourceEnd); - - findTypesAndPackages(this.completionToken, scope, new ObjectVector()); - } else if (annot.type instanceof CompletionOnQualifiedTypeReference) { - this.insideQualifiedReference = true; - - CompletionOnQualifiedTypeReference type = (CompletionOnQualifiedTypeReference) annot.type; - this.completionToken = type.completionIdentifier; - long completionPosition = type.sourcePositions[type.tokens.length]; - if (qualifiedBinding instanceof PackageBinding) { - - setSourceRange(astNode.sourceStart, (int) completionPosition); - // replace to the end of the completion identifier - findTypesAndSubpackages(this.completionToken, (PackageBinding) qualifiedBinding, scope); - } else { - setSourceRange((int) (completionPosition >>> 32), (int) completionPosition); - - findMemberTypes( - this.completionToken, - (ReferenceBinding) qualifiedBinding, - scope, - scope.enclosingSourceType(), - false, - false, - new ObjectVector()); - } - } - } else if (astNode instanceof CompletionOnMemberValueName) { - CompletionOnMemberValueName memberValuePair = (CompletionOnMemberValueName) astNode; - Annotation annotation = (Annotation) astNodeParent; - - this.completionToken = memberValuePair.name; - - ReferenceBinding annotationType = (ReferenceBinding)annotation.resolvedType; - - if (annotationType != null && annotationType.isAnnotationType()) { - if (!this.requestor.isIgnored(CompletionProposal.ANNOTATION_ATTRIBUTE_REF)) { - this.findAnnotationAttributes(this.completionToken, annotation.memberValuePairs(), annotationType); - } - if (this.assistNodeCanBeSingleMemberAnnotation) { - if (this.expectedTypesPtr > -1 && this.expectedTypes[0].isAnnotationType()) { - findTypesAndPackages(this.completionToken, scope, new ObjectVector()); - } else { - if (scope instanceof BlockScope && !this.requestor.isIgnored(CompletionProposal.LOCAL_VARIABLE_REF)) { - char[][] alreadyDefinedName = computeAlreadyDefinedName((BlockScope)scope, FakeInvocationSite); - - findUnresolvedReference( - memberValuePair.sourceStart, - memberValuePair.sourceEnd, - (BlockScope)scope, - alreadyDefinedName); - } - findVariablesAndMethods( - this.completionToken, - scope, - FakeInvocationSite, - scope, - insideTypeAnnotation, - true); - // can be the start of a qualified type name - findTypesAndPackages(this.completionToken, scope, new ObjectVector()); - } - } - } +// } else if (astNode instanceof CompletionOnMarkerAnnotationName) { +// CompletionOnMarkerAnnotationName annot = (CompletionOnMarkerAnnotationName) astNode; +// CompletionOnAnnotationOfType fakeType = (CompletionOnAnnotationOfType)scope.parent.referenceContext(); +// if (fakeType.annotations[0] == annot) { +// // When the completion is inside a method body the annotation cannot be accuratly attached to the correct node by completion recovery. +// // So 'targetedElement' is not computed in this case. +// if (scope.parent.parent == null || !(scope.parent.parent instanceof MethodScope)) { +// this.targetedElement = computeTargetedElement(fakeType); +// } +// +// } +// this.assistNodeIsAnnotation = true; +// if (annot.type instanceof CompletionOnSingleTypeReference) { +// CompletionOnSingleTypeReference type = (CompletionOnSingleTypeReference) annot.type; +// this.completionToken = type.token; +// setSourceRange(type.sourceStart, type.sourceEnd); +// +// findTypesAndPackages(this.completionToken, scope, new ObjectVector()); +// } else if (annot.type instanceof CompletionOnQualifiedTypeReference) { +// this.insideQualifiedReference = true; +// +// CompletionOnQualifiedTypeReference type = (CompletionOnQualifiedTypeReference) annot.type; +// this.completionToken = type.completionIdentifier; +// long completionPosition = type.sourcePositions[type.tokens.length]; +// if (qualifiedBinding instanceof PackageBinding) { +// +// setSourceRange(astNode.sourceStart, (int) completionPosition); +// // replace to the end of the completion identifier +// findTypesAndSubpackages(this.completionToken, (PackageBinding) qualifiedBinding, scope); +// } else { +// setSourceRange((int) (completionPosition >>> 32), (int) completionPosition); +// +// findMemberTypes( +// this.completionToken, +// (ReferenceBinding) qualifiedBinding, +// scope, +// scope.enclosingSourceType(), +// false, +// false, +// new ObjectVector()); +// } +// } +// } else if (astNode instanceof CompletionOnMemberValueName) { +// CompletionOnMemberValueName memberValuePair = (CompletionOnMemberValueName) astNode; +// Annotation annotation = (Annotation) astNodeParent; +// +// this.completionToken = memberValuePair.name; +// +// ReferenceBinding annotationType = (ReferenceBinding)annotation.resolvedType; +// +// if (annotationType != null && annotationType.isAnnotationType()) { +// if (!this.requestor.isIgnored(CompletionProposal.ANNOTATION_ATTRIBUTE_REF)) { +// this.findAnnotationAttributes(this.completionToken, annotation.memberValuePairs(), annotationType); +// } +// if (this.assistNodeCanBeSingleMemberAnnotation) { +// if (this.expectedTypesPtr > -1 && this.expectedTypes[0].isAnnotationType()) { +// findTypesAndPackages(this.completionToken, scope, new ObjectVector()); +// } else { +// if (scope instanceof BlockScope && !this.requestor.isIgnored(CompletionProposal.LOCAL_VARIABLE_REF)) { +// char[][] alreadyDefinedName = computeAlreadyDefinedName((BlockScope)scope, FakeInvocationSite); +// +// findUnresolvedReference( +// memberValuePair.sourceStart, +// memberValuePair.sourceEnd, +// (BlockScope)scope, +// alreadyDefinedName); +// } +// findVariablesAndMethods( +// this.completionToken, +// scope, +// FakeInvocationSite, +// scope, +// insideTypeAnnotation, +// true); +// // can be the start of a qualified type name +// findTypesAndPackages(this.completionToken, scope, new ObjectVector()); +// } +// } +// } } else if(astNode instanceof CompletionOnBrankStatementLabel) { if (!this.requestor.isIgnored(CompletionProposal.LABEL_REF)) { CompletionOnBrankStatementLabel label = (CompletionOnBrankStatementLabel) astNode;
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/ASTNode.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/ASTNode.java index 3127a28..ba4019c 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/ASTNode.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/ASTNode.java
@@ -14,12 +14,10 @@ import org.eclipse.wst.jsdt.core.ast.IASTNode; import org.eclipse.wst.jsdt.core.compiler.CharOperation; - import org.eclipse.wst.jsdt.internal.compiler.ASTVisitor; import org.eclipse.wst.jsdt.internal.compiler.DelegateASTVisitor; import org.eclipse.wst.jsdt.internal.compiler.classfmt.ClassFileConstants; import org.eclipse.wst.jsdt.internal.compiler.env.AccessRestriction; -import org.eclipse.wst.jsdt.internal.compiler.lookup.AnnotationBinding; import org.eclipse.wst.jsdt.internal.compiler.lookup.ArrayBinding; import org.eclipse.wst.jsdt.internal.compiler.lookup.Binding; import org.eclipse.wst.jsdt.internal.compiler.lookup.BlockScope; @@ -536,90 +534,90 @@ return output; } - /** - * Resolve annotations, and check duplicates, answers combined tagBits - * for recognized standard annotations - */ - public static void resolveAnnotations(BlockScope scope, Annotation[] annotations, Binding recipient) { - AnnotationBinding[] instances = null; - int length = annotations == null ? 0 : annotations.length; - if (recipient != null) { - switch (recipient.kind()) { - case Binding.PACKAGE : - PackageBinding packageBinding = (PackageBinding) recipient; - if ((packageBinding.tagBits & TagBits.AnnotationResolved) != 0) return; - packageBinding.tagBits |= (TagBits.AnnotationResolved | TagBits.DeprecatedAnnotationResolved); - break; - case Binding.TYPE : - case Binding.GENERIC_TYPE : - ReferenceBinding type = (ReferenceBinding) recipient; - if ((type.tagBits & TagBits.AnnotationResolved) != 0) return; - type.tagBits |= (TagBits.AnnotationResolved | TagBits.DeprecatedAnnotationResolved); - if (length > 0) { - instances = new AnnotationBinding[length]; - type.setAnnotations(instances); - } - break; - case Binding.METHOD : - MethodBinding method = (MethodBinding) recipient; - if ((method.tagBits & TagBits.AnnotationResolved) != 0) return; - method.tagBits |= (TagBits.AnnotationResolved | TagBits.DeprecatedAnnotationResolved); - if (length > 0) { - instances = new AnnotationBinding[length]; - method.setAnnotations(instances); - } - break; - case Binding.FIELD : - FieldBinding field = (FieldBinding) recipient; - if ((field.tagBits & TagBits.AnnotationResolved) != 0) return; - field.tagBits |= (TagBits.AnnotationResolved | TagBits.DeprecatedAnnotationResolved); - if (length > 0) { - instances = new AnnotationBinding[length]; - field.setAnnotations(instances); - } - break; - case Binding.LOCAL : - LocalVariableBinding local = (LocalVariableBinding) recipient; - if ((local.tagBits & TagBits.AnnotationResolved) != 0) return; - local.tagBits |= (TagBits.AnnotationResolved | TagBits.DeprecatedAnnotationResolved); - if (length > 0) { - instances = new AnnotationBinding[length]; - local.setAnnotations(instances); - } - break; - default : - return; - } - } - if (annotations == null) - return; - TypeBinding[] annotationTypes = new TypeBinding[length]; - for (int i = 0; i < length; i++) { - Annotation annotation = annotations[i]; - annotation.recipient = recipient; - annotationTypes[i] = annotation.resolveType(scope); - - // null if receiver is a package binding - if (instances != null) - instances[i] = annotation.getCompilerAnnotation(); - } - // check duplicate annotations - for (int i = 0; i < length; i++) { - TypeBinding annotationType = annotationTypes[i]; - if (annotationType == null) continue; - boolean foundDuplicate = false; - for (int j = i+1; j < length; j++) { - if (annotationTypes[j] == annotationType) { - foundDuplicate = true; - annotationTypes[j] = null; // report it only once - scope.problemReporter().duplicateAnnotation(annotations[j]); - } - } - if (foundDuplicate) { - scope.problemReporter().duplicateAnnotation(annotations[i]); - } - } - } +// /** +// * Resolve annotations, and check duplicates, answers combined tagBits +// * for recognized standard annotations +// */ +// public static void resolveAnnotations(BlockScope scope, Annotation[] annotations, Binding recipient) { +// AnnotationBinding[] instances = null; +// int length = annotations == null ? 0 : annotations.length; +// if (recipient != null) { +// switch (recipient.kind()) { +// case Binding.PACKAGE : +// PackageBinding packageBinding = (PackageBinding) recipient; +// if ((packageBinding.tagBits & TagBits.AnnotationResolved) != 0) return; +// packageBinding.tagBits |= (TagBits.AnnotationResolved | TagBits.DeprecatedAnnotationResolved); +// break; +// case Binding.TYPE : +// case Binding.GENERIC_TYPE : +// ReferenceBinding type = (ReferenceBinding) recipient; +// if ((type.tagBits & TagBits.AnnotationResolved) != 0) return; +// type.tagBits |= (TagBits.AnnotationResolved | TagBits.DeprecatedAnnotationResolved); +// if (length > 0) { +// instances = new AnnotationBinding[length]; +// type.setAnnotations(instances); +// } +// break; +// case Binding.METHOD : +// MethodBinding method = (MethodBinding) recipient; +// if ((method.tagBits & TagBits.AnnotationResolved) != 0) return; +// method.tagBits |= (TagBits.AnnotationResolved | TagBits.DeprecatedAnnotationResolved); +// if (length > 0) { +// instances = new AnnotationBinding[length]; +// method.setAnnotations(instances); +// } +// break; +// case Binding.FIELD : +// FieldBinding field = (FieldBinding) recipient; +// if ((field.tagBits & TagBits.AnnotationResolved) != 0) return; +// field.tagBits |= (TagBits.AnnotationResolved | TagBits.DeprecatedAnnotationResolved); +// if (length > 0) { +// instances = new AnnotationBinding[length]; +// field.setAnnotations(instances); +// } +// break; +// case Binding.LOCAL : +// LocalVariableBinding local = (LocalVariableBinding) recipient; +// if ((local.tagBits & TagBits.AnnotationResolved) != 0) return; +// local.tagBits |= (TagBits.AnnotationResolved | TagBits.DeprecatedAnnotationResolved); +// if (length > 0) { +// instances = new AnnotationBinding[length]; +// local.setAnnotations(instances); +// } +// break; +// default : +// return; +// } +// } +// if (annotations == null) +// return; +// TypeBinding[] annotationTypes = new TypeBinding[length]; +// for (int i = 0; i < length; i++) { +// Annotation annotation = annotations[i]; +// annotation.recipient = recipient; +// annotationTypes[i] = annotation.resolveType(scope); +// +// // null if receiver is a package binding +// if (instances != null) +// instances[i] = annotation.getCompilerAnnotation(); +// } +// // check duplicate annotations +// for (int i = 0; i < length; i++) { +// TypeBinding annotationType = annotationTypes[i]; +// if (annotationType == null) continue; +// boolean foundDuplicate = false; +// for (int j = i+1; j < length; j++) { +// if (annotationTypes[j] == annotationType) { +// foundDuplicate = true; +// annotationTypes[j] = null; // report it only once +// scope.problemReporter().duplicateAnnotation(annotations[j]); +// } +// } +// if (foundDuplicate) { +// scope.problemReporter().duplicateAnnotation(annotations[i]); +// } +// } +// } /** * Figures if @Deprecated annotation is specified, do not resolve entire annotations.
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/AbstractMethodDeclaration.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/AbstractMethodDeclaration.java index 7d5e119..e68c9da 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/AbstractMethodDeclaration.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/AbstractMethodDeclaration.java
@@ -140,12 +140,12 @@ for (int i = 0, length = this.arguments.length; i < length; i++) { IArgument argument = this.arguments[i]; argument.bind(this.scope, this.binding.parameters[i], used); - if (argument.getAnnotation() != null) { - this.binding.tagBits |= TagBits.HasParameterAnnotations; - if (paramAnnotations == null) - paramAnnotations = new AnnotationBinding[length][]; - paramAnnotations[i] = argument.getBinding().getAnnotations(); - } +// if (argument.getAnnotation() != null) { +// this.binding.tagBits |= TagBits.HasParameterAnnotations; +// if (paramAnnotations == null) +// paramAnnotations = new AnnotationBinding[length][]; +// paramAnnotations[i] = argument.getBinding().getAnnotations(); +// } } if (paramAnnotations != null) this.binding.setParameterAnnotations(paramAnnotations); @@ -376,8 +376,8 @@ if (JavaScriptCore.IS_ECMASCRIPT4) bindThrownExceptions(); resolveJavadoc(); - if (JavaScriptCore.IS_ECMASCRIPT4) - resolveAnnotations(scope, this.annotations, this.binding); +// if (JavaScriptCore.IS_ECMASCRIPT4) +// resolveAnnotations(scope, this.annotations, this.binding); resolveStatements(); // check @Deprecated annotation presence if (this.binding != null
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/Argument.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/Argument.java index 4282224..872bc89 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/Argument.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/Argument.java
@@ -10,7 +10,6 @@ *******************************************************************************/ package org.eclipse.wst.jsdt.internal.compiler.ast; -import org.eclipse.wst.jsdt.core.JavaScriptCore; import org.eclipse.wst.jsdt.core.ast.IASTNode; import org.eclipse.wst.jsdt.core.ast.IArgument; import org.eclipse.wst.jsdt.internal.compiler.ASTVisitor; @@ -74,8 +73,8 @@ this.binding = new LocalVariableBinding(this, typeBinding, this.modifiers, true); } scope.addLocalVariable( this.binding ); - if (JavaScriptCore.IS_ECMASCRIPT4) - resolveAnnotations(scope, this.annotations, this.binding); +// if (JavaScriptCore.IS_ECMASCRIPT4) +// resolveAnnotations(scope, this.annotations, this.binding); //true stand for argument instead of just local this.binding.declaration = this; this.binding.useFlag = used ? LocalVariableBinding.USED : LocalVariableBinding.UNUSED; @@ -153,7 +152,7 @@ } this.binding = new LocalVariableBinding(this, exceptionType, modifiers, false); // argument decl, but local var (where isArgument = false) - resolveAnnotations(scope, this.annotations, this.binding); +// resolveAnnotations(scope, this.annotations, this.binding); scope.addLocalVariable(binding); binding.setConstant(Constant.NotAConstant);
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/CompilationUnitDeclaration.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/CompilationUnitDeclaration.java index 979c7fa..c087f1c 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/CompilationUnitDeclaration.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/CompilationUnitDeclaration.java
@@ -393,9 +393,9 @@ } syntheticTypeDeclaration.resolve(this.scope); // resolve annotations if any - if (this.currentPackage!= null && this.currentPackage.annotations != null) { - resolveAnnotations(syntheticTypeDeclaration.staticInitializerScope, this.currentPackage.annotations, this.scope.getDefaultPackage()); - } +// if (this.currentPackage!= null && this.currentPackage.annotations != null) { +// resolveAnnotations(syntheticTypeDeclaration.staticInitializerScope, this.currentPackage.annotations, this.scope.getDefaultPackage()); +// } // resolve javadoc package if any if (this.javadoc != null) { this.javadoc.resolve(syntheticTypeDeclaration.staticInitializerScope);
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/FieldDeclaration.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/FieldDeclaration.java index abaecb0..2a3534c 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/FieldDeclaration.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/FieldDeclaration.java
@@ -168,7 +168,7 @@ initializationScope.initializedField = this.binding; initializationScope.lastVisibleFieldID = this.binding.id; - resolveAnnotations(initializationScope, this.annotations, this.binding); +// resolveAnnotations(initializationScope, this.annotations, this.binding); // check @Deprecated annotation presence if ((this.binding.getAnnotationTagBits() & TagBits.AnnotationDeprecated) == 0 && (this.binding.modifiers & ClassFileConstants.AccDeprecated) != 0
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/LocalDeclaration.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/LocalDeclaration.java index b1dae4b..b6ca27e 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/LocalDeclaration.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/LocalDeclaration.java
@@ -10,7 +10,6 @@ *******************************************************************************/ package org.eclipse.wst.jsdt.internal.compiler.ast; -import org.eclipse.wst.jsdt.core.JavaScriptCore; import org.eclipse.wst.jsdt.core.ast.IASTNode; import org.eclipse.wst.jsdt.core.ast.ILocalDeclaration; import org.eclipse.wst.jsdt.internal.compiler.ASTVisitor; @@ -298,8 +297,8 @@ } // only resolve annotation at the end, for constant to be positionned before (96991) - if (JavaScriptCore.IS_ECMASCRIPT4) - resolveAnnotations(scope, this.annotations, this.binding); +// if (JavaScriptCore.IS_ECMASCRIPT4) +// resolveAnnotations(scope, this.annotations, this.binding); } public StringBuffer printStatement(int indent, StringBuffer output) { if (this.javadoc != null) {
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/TypeDeclaration.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/TypeDeclaration.java index 38d9f32..5692b4f 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/TypeDeclaration.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/TypeDeclaration.java
@@ -856,12 +856,12 @@ } try { boolean old = this.staticInitializerScope.insideTypeAnnotation; - try { - this.staticInitializerScope.insideTypeAnnotation = true; - resolveAnnotations(this.staticInitializerScope, this.annotations, sourceType); - } finally { - this.staticInitializerScope.insideTypeAnnotation = old; - } +// try { +// this.staticInitializerScope.insideTypeAnnotation = true; +// resolveAnnotations(this.staticInitializerScope, this.annotations, sourceType); +// } finally { +// this.staticInitializerScope.insideTypeAnnotation = old; +// } // check @Deprecated annotation if ((sourceType.getAnnotationTagBits() & TagBits.AnnotationDeprecated) == 0 && (sourceType.modifiers & ClassFileConstants.AccDeprecated) != 0
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/ClassScope.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/ClassScope.java index af58dfb..a6358ec 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/ClassScope.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/ClassScope.java
@@ -291,10 +291,10 @@ MethodBinding[] methodBindings = new MethodBinding[(clinitIndex == -1 ? size : size - 1) + count]; // create special methods for enums SourceTypeBinding sourceType = getReferenceBinding(); - if (isEnum) { - methodBindings[0] = sourceType.addSyntheticEnumMethod(TypeConstants.VALUES); // add <EnumType>[] values() - methodBindings[1] = sourceType.addSyntheticEnumMethod(TypeConstants.VALUEOF); // add <EnumType> valueOf() - } +// if (isEnum) { +// methodBindings[0] = sourceType.addSyntheticEnumMethod(TypeConstants.VALUES); // add <EnumType>[] values() +// methodBindings[1] = sourceType.addSyntheticEnumMethod(TypeConstants.VALUEOF); // add <EnumType> valueOf() +// } // create bindings for source methods for (int i = 0; i < size; i++) { if (i != clinitIndex) {
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/FieldBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/FieldBinding.java index e7bbca5..78ecf4c 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/FieldBinding.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/FieldBinding.java
@@ -13,7 +13,6 @@ import org.eclipse.wst.jsdt.core.JavaScriptCore; import org.eclipse.wst.jsdt.core.compiler.CharOperation; import org.eclipse.wst.jsdt.core.infer.InferredAttribute; -import org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode; import org.eclipse.wst.jsdt.internal.compiler.ast.AbstractVariableDeclaration; import org.eclipse.wst.jsdt.internal.compiler.ast.FieldDeclaration; import org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration; @@ -39,7 +38,6 @@ super(initialFieldBinding.name, initialFieldBinding.type, initialFieldBinding.modifiers, initialFieldBinding.constant()); this.declaringClass = declaringClass; this.id = initialFieldBinding.id; - setAnnotations(initialFieldBinding.getAnnotations()); } /* API * Answer the receiver's binding type from Binding.BindingID. @@ -249,33 +247,25 @@ this.tagBits |= (TagBits.AnnotationResolved | TagBits.DeprecatedAnnotationResolved); return 0; } - TypeDeclaration typeDecl = scope.referenceContext; - FieldDeclaration fieldDecl = typeDecl.declarationOf(originalField); - if (fieldDecl != null) { - MethodScope initializationScope = isStatic() ? typeDecl.staticInitializerScope : typeDecl.initializerScope; - FieldBinding previousField = initializationScope.initializedField; - int previousFieldID = initializationScope.lastVisibleFieldID; - try { - initializationScope.initializedField = originalField; - initializationScope.lastVisibleFieldID = originalField.id; - ASTNode.resolveAnnotations(initializationScope, fieldDecl.annotations, originalField); - } finally { - initializationScope.initializedField = previousField; - initializationScope.lastVisibleFieldID = previousFieldID; - } - } +// TypeDeclaration typeDecl = scope.referenceContext; +// FieldDeclaration fieldDecl = typeDecl.declarationOf(originalField); +// if (fieldDecl != null) { +// MethodScope initializationScope = isStatic() ? typeDecl.staticInitializerScope : typeDecl.initializerScope; +// FieldBinding previousField = initializationScope.initializedField; +// int previousFieldID = initializationScope.lastVisibleFieldID; +// try { +// initializationScope.initializedField = originalField; +// initializationScope.lastVisibleFieldID = originalField.id; +// ASTNode.resolveAnnotations(initializationScope, fieldDecl.annotations, originalField); +// } finally { +// initializationScope.initializedField = previousField; +// initializationScope.lastVisibleFieldID = previousFieldID; +// } +// } } return originalField.tagBits; } -public AnnotationBinding[] getAnnotations() { - FieldBinding originalField = this.original(); - ReferenceBinding declaringClassBinding = originalField.declaringClass; - if (declaringClassBinding == null) { - return Binding.NO_ANNOTATIONS; - } - return declaringClassBinding.retrieveAnnotations(originalField); -} /* Answer true if the receiver has default visibility */
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/LocalVariableBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/LocalVariableBinding.java index ca2a711..ee16be2 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/LocalVariableBinding.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/LocalVariableBinding.java
@@ -10,10 +10,8 @@ *******************************************************************************/ package org.eclipse.wst.jsdt.internal.compiler.lookup; -import org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode; import org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration; import org.eclipse.wst.jsdt.internal.compiler.ast.AbstractVariableDeclaration; -import org.eclipse.wst.jsdt.internal.compiler.ast.Annotation; import org.eclipse.wst.jsdt.internal.compiler.ast.CompilationUnitDeclaration; import org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration; import org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration; @@ -115,51 +113,51 @@ return uniqueKey; } - public AnnotationBinding[] getAnnotations() { - if (this.declaringScope == null) { - if ((this.tagBits & TagBits.AnnotationResolved) != 0) { - // annotation are already resolved - if (this.declaringScope == null) - if (this.declaration == null) { - return Binding.NO_ANNOTATIONS; - } - Annotation[] annotations = this.declaration.annotations; - if (annotations != null) { - int length = annotations.length; - AnnotationBinding[] annotationBindings = new AnnotationBinding[length]; - for (int i = 0; i < length; i++) { - AnnotationBinding compilerAnnotation = annotations[i].getCompilerAnnotation(); - if (compilerAnnotation == null) { - return Binding.NO_ANNOTATIONS; - } - annotationBindings[i] = compilerAnnotation; - } - return annotationBindings; - } - } - return Binding.NO_ANNOTATIONS; - } - SourceTypeBinding sourceType = this.declaringScope.enclosingSourceType(); - if (sourceType == null) - return Binding.NO_ANNOTATIONS; - - AnnotationBinding[] annotations = sourceType.retrieveAnnotations(this); - if ((this.tagBits & TagBits.AnnotationResolved) == 0) { - if (((this.tagBits & TagBits.IsArgument) != 0) && this.declaration != null) { - Annotation[] annotationNodes = declaration.annotations; - if (annotationNodes != null) { - int length = annotationNodes.length; - ASTNode.resolveAnnotations(this.declaringScope, annotationNodes, this); - annotations = new AnnotationBinding[length]; - for (int i = 0; i < length; i++) - annotations[i] = new AnnotationBinding(annotationNodes[i]); - setAnnotations(annotations); - } - } - } - return annotations; - } - +// public AnnotationBinding[] getAnnotations() { +// if (this.declaringScope == null) { +// if ((this.tagBits & TagBits.AnnotationResolved) != 0) { +// // annotation are already resolved +// if (this.declaringScope == null) +// if (this.declaration == null) { +// return Binding.NO_ANNOTATIONS; +// } +// Annotation[] annotations = this.declaration.annotations; +// if (annotations != null) { +// int length = annotations.length; +// AnnotationBinding[] annotationBindings = new AnnotationBinding[length]; +// for (int i = 0; i < length; i++) { +// AnnotationBinding compilerAnnotation = annotations[i].getCompilerAnnotation(); +// if (compilerAnnotation == null) { +// return Binding.NO_ANNOTATIONS; +// } +// annotationBindings[i] = compilerAnnotation; +// } +// return annotationBindings; +// } +// } +// return Binding.NO_ANNOTATIONS; +// } +// SourceTypeBinding sourceType = this.declaringScope.enclosingSourceType(); +// if (sourceType == null) +// return Binding.NO_ANNOTATIONS; +// +// AnnotationBinding[] annotations = sourceType.retrieveAnnotations(this); +// if ((this.tagBits & TagBits.AnnotationResolved) == 0) { +// if (((this.tagBits & TagBits.IsArgument) != 0) && this.declaration != null) { +// Annotation[] annotationNodes = declaration.annotations; +// if (annotationNodes != null) { +// int length = annotationNodes.length; +// ASTNode.resolveAnnotations(this.declaringScope, annotationNodes, this); +// annotations = new AnnotationBinding[length]; +// for (int i = 0; i < length; i++) +// annotations[i] = new AnnotationBinding(annotationNodes[i]); +// setAnnotations(annotations); +// } +// } +// } +// return annotations; +// } +// private void getScopeKey(BlockScope scope, StringBuffer buffer) { int scopeIndex = scope.scopeIndex(); if (scopeIndex != -1) {
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/MethodBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/MethodBinding.java index d943496..ac1acf6 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/MethodBinding.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/MethodBinding.java
@@ -11,9 +11,7 @@ package org.eclipse.wst.jsdt.internal.compiler.lookup; import org.eclipse.wst.jsdt.core.compiler.CharOperation; -import org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode; import org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration; -import org.eclipse.wst.jsdt.internal.compiler.ast.TypeDeclaration; import org.eclipse.wst.jsdt.internal.compiler.classfmt.ClassFileConstants; import org.eclipse.wst.jsdt.internal.oaametadata.Method; @@ -440,16 +438,16 @@ MethodBinding originalMethod = this.original(); return originalMethod.declaringClass.retrieveAnnotations(originalMethod); } -/** - * @param index the index of the parameter of interest - * @return the annotations on the <code>index</code>th parameter - * @throws ArrayIndexOutOfBoundsException when <code>index</code> is not valid - */ -public AnnotationBinding[] getParameterAnnotations(int index) { - MethodBinding originalMethod = this.original(); - AnnotationHolder holder = originalMethod.declaringClass.retrieveAnnotationHolder(originalMethod, true); - return holder == null ? Binding.NO_ANNOTATIONS : holder.getParameterAnnotations(index); -} +///** +// * @param index the index of the parameter of interest +// * @return the annotations on the <code>index</code>th parameter +// * @throws ArrayIndexOutOfBoundsException when <code>index</code> is not valid +// */ +//public AnnotationBinding[] getParameterAnnotations(int index) { +// MethodBinding originalMethod = this.original(); +// AnnotationHolder holder = originalMethod.declaringClass.retrieveAnnotationHolder(originalMethod, true); +// return holder == null ? Binding.NO_ANNOTATIONS : holder.getParameterAnnotations(index); +//} public final int getAccessFlags() { return modifiers & ExtraCompilerModifiers.AccJustFlag; } @@ -461,15 +459,15 @@ */ public long getAnnotationTagBits() { MethodBinding originalMethod = this.original(); - if ((originalMethod.tagBits & TagBits.AnnotationResolved) == 0 && originalMethod.declaringClass instanceof SourceTypeBinding) { - ClassScope scope = ((SourceTypeBinding) originalMethod.declaringClass).classScope; - if (scope != null) { - TypeDeclaration typeDecl = scope.referenceContext; - AbstractMethodDeclaration methodDecl = typeDecl.declarationOf(originalMethod); - if (methodDecl != null) - ASTNode.resolveAnnotations(methodDecl.scope, methodDecl.annotations, originalMethod); - } - } +// if ((originalMethod.tagBits & TagBits.AnnotationResolved) == 0 && originalMethod.declaringClass instanceof SourceTypeBinding) { +// ClassScope scope = ((SourceTypeBinding) originalMethod.declaringClass).classScope; +// if (scope != null) { +// TypeDeclaration typeDecl = scope.referenceContext; +// AbstractMethodDeclaration methodDecl = typeDecl.declarationOf(originalMethod); +// if (methodDecl != null) +// ASTNode.resolveAnnotations(methodDecl.scope, methodDecl.annotations, originalMethod); +// } +// } return originalMethod.tagBits; } /**
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/ReferenceBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/ReferenceBinding.java index d3c1c65..2117447 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/ReferenceBinding.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/ReferenceBinding.java
@@ -616,12 +616,6 @@ return this.modifiers & ExtraCompilerModifiers.AccJustFlag; } /** - * @return the JSR 175 annotations for this type. - */ -public AnnotationBinding[] getAnnotations() { - return retrieveAnnotations(this); -} -/** * @see org.eclipse.wst.jsdt.internal.compiler.lookup.Binding#getAnnotationTagBits() */ public long getAnnotationTagBits() {
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/SourceTypeBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/SourceTypeBinding.java index d4d6233..fb1a2f3 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/SourceTypeBinding.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/SourceTypeBinding.java
@@ -20,7 +20,6 @@ import org.eclipse.wst.jsdt.core.infer.InferredAttribute; import org.eclipse.wst.jsdt.core.infer.InferredMethod; import org.eclipse.wst.jsdt.core.infer.InferredType; -import org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode; import org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration; import org.eclipse.wst.jsdt.internal.compiler.ast.Argument; import org.eclipse.wst.jsdt.internal.compiler.ast.FieldDeclaration; @@ -832,18 +831,18 @@ * @see org.eclipse.wst.jsdt.internal.compiler.lookup.Binding#getAnnotationTagBits() */ public long getAnnotationTagBits() { - if ((this.tagBits & TagBits.AnnotationResolved) == 0 && this.scope != null) { - TypeDeclaration typeDecl = this.classScope.referenceContext; - boolean old = typeDecl.staticInitializerScope.insideTypeAnnotation; - try { - typeDecl.staticInitializerScope.insideTypeAnnotation = true; - ASTNode.resolveAnnotations(typeDecl.staticInitializerScope, typeDecl.annotations, this); - } finally { - typeDecl.staticInitializerScope.insideTypeAnnotation = old; - } - if ((this.tagBits & TagBits.AnnotationDeprecated) != 0) - this.modifiers |= ClassFileConstants.AccDeprecated; - } +// if ((this.tagBits & TagBits.AnnotationResolved) == 0 && this.scope != null) { +// TypeDeclaration typeDecl = this.classScope.referenceContext; +// boolean old = typeDecl.staticInitializerScope.insideTypeAnnotation; +// try { +// typeDecl.staticInitializerScope.insideTypeAnnotation = true; +// ASTNode.resolveAnnotations(typeDecl.staticInitializerScope, typeDecl.annotations, this); +// } finally { +// typeDecl.staticInitializerScope.insideTypeAnnotation = old; +// } +// if ((this.tagBits & TagBits.AnnotationDeprecated) != 0) +// this.modifiers |= ClassFileConstants.AccDeprecated; +// } return this.tagBits; } public MethodBinding[] getDefaultAbstractMethods() {
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/VariableBinding.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/VariableBinding.java index 2750c3f..f646ec8 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/VariableBinding.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/lookup/VariableBinding.java
@@ -34,7 +34,6 @@ return this.constant; } - public abstract AnnotationBinding[] getAnnotations(); public final boolean isBlankFinal(){ return (modifiers & ExtraCompilerModifiers.AccBlankFinal) != 0;
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/CreateTypeMemberOperation.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/CreateTypeMemberOperation.java index 9f922f2..057d611 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/CreateTypeMemberOperation.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/CreateTypeMemberOperation.java
@@ -15,20 +15,18 @@ import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.TextUtilities; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IJavaScriptModelStatus; import org.eclipse.wst.jsdt.core.IJavaScriptModelStatusConstants; import org.eclipse.wst.jsdt.core.IJavaScriptProject; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IType; import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.dom.AST; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTParser; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.SimpleName; import org.eclipse.wst.jsdt.core.dom.StructuralPropertyDescriptor; import org.eclipse.wst.jsdt.core.dom.TypeDeclaration; @@ -72,10 +70,6 @@ return JavaScriptUnit.TYPES_PROPERTY; else return JavaScriptUnit.STATEMENTS_PROPERTY; - case ASTNode.ENUM_DECLARATION: - return EnumDeclaration.BODY_DECLARATIONS_PROPERTY; - case ASTNode.ANNOTATION_TYPE_DECLARATION: - return AnnotationTypeDeclaration.BODY_DECLARATIONS_PROPERTY; default: return TypeDeclaration.BODY_DECLARATIONS_PROPERTY; }
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/SortElementsOperation.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/SortElementsOperation.java index 2abe564..7a2bc2b 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/SortElementsOperation.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/SortElementsOperation.java
@@ -23,21 +23,18 @@ import org.eclipse.text.edits.TextEdit; import org.eclipse.text.edits.TextEditGroup; import org.eclipse.wst.jsdt.core.IBuffer; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IJavaScriptModelStatus; import org.eclipse.wst.jsdt.core.IJavaScriptModelStatusConstants; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.compiler.CharOperation; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTParser; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.TypeDeclaration; import org.eclipse.wst.jsdt.core.dom.rewrite.ASTRewrite; import org.eclipse.wst.jsdt.core.dom.rewrite.ListRewrite; @@ -197,15 +194,6 @@ } return true; } - public boolean visit(AnnotationTypeDeclaration annotationTypeDeclaration) { - List bodyDeclarations = annotationTypeDeclaration.bodyDeclarations(); - for (Iterator iter = bodyDeclarations.iterator(); iter.hasNext();) { - BodyDeclaration bodyDeclaration = (BodyDeclaration) iter.next(); - bodyDeclaration.setProperty(JavaScriptUnitSorter.RELATIVE_ORDER, new Integer(bodyDeclaration.getStartPosition())); - annotationTypeDeclaration.setProperty(CONTAINS_MALFORMED_NODES, Boolean.valueOf(isMalformed(bodyDeclaration))); - } - return true; - } public boolean visit(AnonymousClassDeclaration anonymousClassDeclaration) { List bodyDeclarations = anonymousClassDeclaration.bodyDeclarations(); @@ -227,21 +215,6 @@ return true; } - public boolean visit(EnumDeclaration enumDeclaration) { - List bodyDeclarations = enumDeclaration.bodyDeclarations(); - for (Iterator iter = bodyDeclarations.iterator(); iter.hasNext();) { - BodyDeclaration bodyDeclaration = (BodyDeclaration) iter.next(); - bodyDeclaration.setProperty(JavaScriptUnitSorter.RELATIVE_ORDER, new Integer(bodyDeclaration.getStartPosition())); - enumDeclaration.setProperty(CONTAINS_MALFORMED_NODES, Boolean.valueOf(isMalformed(bodyDeclaration))); - } - List enumConstants = enumDeclaration.enumConstants(); - for (Iterator iter = enumConstants.iterator(); iter.hasNext();) { - EnumConstantDeclaration enumConstantDeclaration = (EnumConstantDeclaration) iter.next(); - enumConstantDeclaration.setProperty(JavaScriptUnitSorter.RELATIVE_ORDER, new Integer(enumConstantDeclaration.getStartPosition())); - enumDeclaration.setProperty(CONTAINS_MALFORMED_NODES, Boolean.valueOf(isMalformed(enumConstantDeclaration))); - } - return true; - } }); final ASTRewrite rewriter= ASTRewrite.create(ast.getAST()); @@ -276,14 +249,6 @@ return true; } - public boolean visit(AnnotationTypeDeclaration annotationTypeDeclaration) { - if (checkMalformedNodes(annotationTypeDeclaration)) { - return true; // abort sorting of current element - } - - sortElements(annotationTypeDeclaration.bodyDeclarations(), rewriter.getListRewrite(annotationTypeDeclaration, AnnotationTypeDeclaration.BODY_DECLARATIONS_PROPERTY)); - return true; - } public boolean visit(AnonymousClassDeclaration anonymousClassDeclaration) { if (checkMalformedNodes(anonymousClassDeclaration)) { @@ -303,15 +268,6 @@ return true; } - public boolean visit(EnumDeclaration enumDeclaration) { - if (checkMalformedNodes(enumDeclaration)) { - return true; // abort sorting of current element - } - - sortElements(enumDeclaration.bodyDeclarations(), rewriter.getListRewrite(enumDeclaration, EnumDeclaration.BODY_DECLARATIONS_PROPERTY)); - sortElements(enumDeclaration.enumConstants(), rewriter.getListRewrite(enumDeclaration, EnumDeclaration.ENUM_CONSTANTS_PROPERTY)); - return true; - } }); if (!hasChanges[0])
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/SourceField.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/SourceField.java index 6746b20..f1c1fe7 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/SourceField.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/SourceField.java
@@ -42,9 +42,6 @@ // For enum constant declaration, we return the node directly ASTNode node = super.findNode(ast); if (node == null) return null; - if (node.getNodeType() == ASTNode.ENUM_CONSTANT_DECLARATION) { - return node; - } return node.getParent(); } /**
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.java index 422e29e..68c97af 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.java
@@ -35,9 +35,6 @@ import org.eclipse.wst.jsdt.core.dom.AST; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; -import org.eclipse.wst.jsdt.core.dom.Annotation; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.ArrayAccess; import org.eclipse.wst.jsdt.core.dom.ArrayCreation; @@ -54,38 +51,33 @@ import org.eclipse.wst.jsdt.core.dom.ChildListPropertyDescriptor; import org.eclipse.wst.jsdt.core.dom.ChildPropertyDescriptor; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.ConditionalExpression; import org.eclipse.wst.jsdt.core.dom.ConstructorInvocation; import org.eclipse.wst.jsdt.core.dom.ContinueStatement; import org.eclipse.wst.jsdt.core.dom.DoStatement; import org.eclipse.wst.jsdt.core.dom.EmptyStatement; import org.eclipse.wst.jsdt.core.dom.EnhancedForStatement; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.ExpressionStatement; import org.eclipse.wst.jsdt.core.dom.FieldAccess; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; import org.eclipse.wst.jsdt.core.dom.ForInStatement; import org.eclipse.wst.jsdt.core.dom.ForStatement; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.FunctionExpression; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.FunctionRef; +import org.eclipse.wst.jsdt.core.dom.FunctionRefParameter; import org.eclipse.wst.jsdt.core.dom.IfStatement; import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; import org.eclipse.wst.jsdt.core.dom.InfixExpression; import org.eclipse.wst.jsdt.core.dom.Initializer; import org.eclipse.wst.jsdt.core.dom.InstanceofExpression; import org.eclipse.wst.jsdt.core.dom.JSdoc; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.LabeledStatement; import org.eclipse.wst.jsdt.core.dom.ListExpression; -import org.eclipse.wst.jsdt.core.dom.MarkerAnnotation; import org.eclipse.wst.jsdt.core.dom.MemberRef; -import org.eclipse.wst.jsdt.core.dom.MemberValuePair; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; -import org.eclipse.wst.jsdt.core.dom.FunctionRef; -import org.eclipse.wst.jsdt.core.dom.FunctionRefParameter; import org.eclipse.wst.jsdt.core.dom.Modifier; -import org.eclipse.wst.jsdt.core.dom.NormalAnnotation; import org.eclipse.wst.jsdt.core.dom.NullLiteral; import org.eclipse.wst.jsdt.core.dom.NumberLiteral; import org.eclipse.wst.jsdt.core.dom.ObjectLiteral; @@ -102,7 +94,6 @@ import org.eclipse.wst.jsdt.core.dom.ReturnStatement; import org.eclipse.wst.jsdt.core.dom.SimpleName; import org.eclipse.wst.jsdt.core.dom.SimpleType; -import org.eclipse.wst.jsdt.core.dom.SingleMemberAnnotation; import org.eclipse.wst.jsdt.core.dom.SingleVariableDeclaration; import org.eclipse.wst.jsdt.core.dom.StringLiteral; import org.eclipse.wst.jsdt.core.dom.StructuralPropertyDescriptor; @@ -1277,9 +1268,6 @@ */ protected String getSeparatorString(int nodeIndex) { ASTNode curr= getNewNode(nodeIndex); - if (curr instanceof Annotation) { - return this.annotationSeparation.getPrefix(getNodeIndent(nodeIndex + 1)); - } return super.getSeparatorString(nodeIndex); } } @@ -2564,7 +2552,6 @@ } if (node.getAST().apiLevel() >= AST.JLS3) { int pos= rewriteJavadoc(node, PackageDeclaration.JAVADOC_PROPERTY); - rewriteNodeList(node, PackageDeclaration.ANNOTATIONS_PROPERTY, pos, "", " "); //$NON-NLS-1$ //$NON-NLS-2$ } rewriteRequiredNode(node, PackageDeclaration.NAME_PROPERTY); @@ -3183,46 +3170,6 @@ } - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration) - */ - public boolean visit(AnnotationTypeDeclaration node) { - if (!hasChildrenChanges(node)) { - return doVisitUnchangedChildren(node); - } - int pos= rewriteJavadoc(node, AnnotationTypeDeclaration.JAVADOC_PROPERTY); - rewriteModifiers2(node, AnnotationTypeDeclaration.MODIFIERS2_PROPERTY, pos); - pos= rewriteRequiredNode(node, AnnotationTypeDeclaration.NAME_PROPERTY); - - int startIndent= getIndent(node.getStartPosition()) + 1; - int startPos= getPosAfterLeftBrace(pos); - rewriteParagraphList(node, AnnotationTypeDeclaration.BODY_DECLARATIONS_PROPERTY, startPos, startIndent, -1, 2); - return false; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration) - */ - public boolean visit(AnnotationTypeMemberDeclaration node) { - if (!hasChildrenChanges(node)) { - return doVisitUnchangedChildren(node); - } - int pos= rewriteJavadoc(node, AnnotationTypeMemberDeclaration.JAVADOC_PROPERTY); - rewriteModifiers2(node, AnnotationTypeMemberDeclaration.MODIFIERS2_PROPERTY, pos); - rewriteRequiredNode(node, AnnotationTypeMemberDeclaration.TYPE_PROPERTY); - pos= rewriteRequiredNode(node, AnnotationTypeMemberDeclaration.NAME_PROPERTY); - - try { - int changeKind= getChangeKind(node, AnnotationTypeMemberDeclaration.DEFAULT_PROPERTY); - if (changeKind == RewriteEvent.INSERTED || changeKind == RewriteEvent.REMOVED) { - pos= getScanner().getTokenEndOffset(ITerminalSymbols.TokenNameRPAREN, pos); - } - rewriteNode(node, AnnotationTypeMemberDeclaration.DEFAULT_PROPERTY, pos, this.formatter.ANNOT_MEMBER_DEFAULT); - } catch (CoreException e) { - handleException(e); - } - return false; - } /* (non-Javadoc) * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.EnhancedForStatement) @@ -3249,120 +3196,6 @@ return false; } - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration) - */ - public boolean visit(EnumConstantDeclaration node) { - if (!hasChildrenChanges(node)) { - return doVisitUnchangedChildren(node); - } - int pos= rewriteJavadoc(node, EnumConstantDeclaration.JAVADOC_PROPERTY); - rewriteModifiers2(node, EnumConstantDeclaration.MODIFIERS2_PROPERTY, pos); - pos= rewriteRequiredNode(node, EnumConstantDeclaration.NAME_PROPERTY); - RewriteEvent argsEvent= getEvent(node, EnumConstantDeclaration.ARGUMENTS_PROPERTY); - if (argsEvent != null && argsEvent.getChangeKind() != RewriteEvent.UNCHANGED) { - RewriteEvent[] children= argsEvent.getChildren(); - try { - int nextTok= getScanner().readNext(pos, true); - boolean hasParents= (nextTok == ITerminalSymbols.TokenNameLPAREN); - boolean isAllRemoved= hasParents && isAllOfKind(children, RewriteEvent.REMOVED); - String prefix= ""; //$NON-NLS-1$ - if (!hasParents) { - prefix= "("; //$NON-NLS-1$ - } else if (!isAllRemoved) { - pos= getScanner().getCurrentEndOffset(); - } - pos= rewriteNodeList(node, EnumConstantDeclaration.ARGUMENTS_PROPERTY, pos, prefix, ", "); //$NON-NLS-1$ - - if (!hasParents) { - doTextInsert(pos, ")", getEditGroup(children[children.length - 1])); //$NON-NLS-1$ - } else if (isAllRemoved) { - int afterClosing= getScanner().getNextEndOffset(pos, true); - doTextRemove(pos, afterClosing - pos, getEditGroup(children[children.length - 1])); - pos= afterClosing; - } - } catch (CoreException e) { - handleException(e); - } - } else { - pos= doVisit(node, EnumConstantDeclaration.ARGUMENTS_PROPERTY, pos); - } - - if (isChanged(node, EnumConstantDeclaration.ANONYMOUS_CLASS_DECLARATION_PROPERTY)) { - int kind= getChangeKind(node, EnumConstantDeclaration.ANONYMOUS_CLASS_DECLARATION_PROPERTY); - if (kind == RewriteEvent.REMOVED) { - try { - // 'pos' can be before brace - pos= getScanner().getPreviousTokenEndOffset(ITerminalSymbols.TokenNameLBRACE, pos); - } catch (CoreException e) { - handleException(e); - } - } else { - pos= node.getStartPosition() + node.getLength(); // insert pos - } - rewriteNode(node, EnumConstantDeclaration.ANONYMOUS_CLASS_DECLARATION_PROPERTY, pos, ASTRewriteFormatter.SPACE); - } - return false; - } - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.EnumDeclaration) - */ - public boolean visit(EnumDeclaration node) { - if (!hasChildrenChanges(node)) { - return doVisitUnchangedChildren(node); - } - int pos= rewriteJavadoc(node, EnumDeclaration.JAVADOC_PROPERTY); - rewriteModifiers2(node, EnumDeclaration.MODIFIERS2_PROPERTY, pos); - pos= rewriteRequiredNode(node, EnumDeclaration.NAME_PROPERTY); - pos= rewriteNodeList(node, EnumDeclaration.SUPER_INTERFACE_TYPES_PROPERTY, pos, " implements ", ", "); //$NON-NLS-1$ //$NON-NLS-2$ - - pos= getPosAfterLeftBrace(pos); - - String leadString= ""; //$NON-NLS-1$ - RewriteEvent constEvent= getEvent(node, EnumDeclaration.ENUM_CONSTANTS_PROPERTY); - - if (constEvent != null && constEvent.getChangeKind() != RewriteEvent.UNCHANGED) { - RewriteEvent[] events= constEvent.getChildren(); - if (isAllOfKind(events, RewriteEvent.INSERTED)) { - leadString= this.formatter.FIRST_ENUM_CONST.getPrefix(getIndent(node.getStartPosition())); - } - } - pos= rewriteNodeList(node, EnumDeclaration.ENUM_CONSTANTS_PROPERTY, pos, leadString, ", "); //$NON-NLS-1$ - - RewriteEvent bodyEvent= getEvent(node, EnumDeclaration.BODY_DECLARATIONS_PROPERTY); - int indent= 0; - if (bodyEvent != null && bodyEvent.getChangeKind() != RewriteEvent.UNCHANGED) { - boolean hasConstants= !((List) getNewValue(node, EnumDeclaration.ENUM_CONSTANTS_PROPERTY)).isEmpty(); - - RewriteEvent[] children= bodyEvent.getChildren(); - try { - if (hasConstants) { - indent= getIndent(pos); - } else { - indent= getIndent(node.getStartPosition()) + 1; - } - int token= getScanner().readNext(pos, true); - boolean hasSemicolon= token == ITerminalSymbols.TokenNameSEMICOLON; - if (!hasSemicolon && isAllOfKind(children, RewriteEvent.INSERTED)) { - if (!hasConstants) { - String str= this.formatter.FIRST_ENUM_CONST.getPrefix(indent - 1); - doTextInsert(pos, str, getEditGroup(children[0])); - } - doTextInsert(pos, ";", getEditGroup(children[0])); //$NON-NLS-1$ - } else if (hasSemicolon) { - int endPos= getScanner().getCurrentEndOffset(); - if (isAllOfKind(children, RewriteEvent.REMOVED)) { - doTextRemove(pos, endPos - pos, getEditGroup(children[0])); - } - pos= endPos; - } - } catch (CoreException e) { - handleException(e); - } - } - rewriteParagraphList(node, EnumDeclaration.BODY_DECLARATIONS_PROPERTY, pos, indent, -1, 2); - return false; - } public boolean visit(ListExpression node) { if (!hasChildrenChanges(node)) { @@ -3375,28 +3208,6 @@ } /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.MarkerAnnotation) - */ - public boolean visit(MarkerAnnotation node) { - if (!hasChildrenChanges(node)) { - return doVisitUnchangedChildren(node); - } - rewriteRequiredNode(node, MarkerAnnotation.TYPE_NAME_PROPERTY); - return false; - } - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.MemberValuePair) - */ - public boolean visit(MemberValuePair node) { - if (!hasChildrenChanges(node)) { - return doVisitUnchangedChildren(node); - } - rewriteRequiredNode(node, MemberValuePair.NAME_PROPERTY); - rewriteRequiredNode(node, MemberValuePair.VALUE_PROPERTY); - - return false; - } - /* (non-Javadoc) * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.Modifier) */ public boolean visit(Modifier node) { @@ -3409,27 +3220,6 @@ return false; } /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.NormalAnnotation) - */ - public boolean visit(NormalAnnotation node) { - if (!hasChildrenChanges(node)) { - return doVisitUnchangedChildren(node); - } - int pos= rewriteRequiredNode(node, NormalAnnotation.TYPE_NAME_PROPERTY); - if (isChanged(node, NormalAnnotation.VALUES_PROPERTY)) { - // eval position after opening parent - try { - int startOffset= getScanner().getTokenEndOffset(ITerminalSymbols.TokenNameLPAREN, pos); - rewriteNodeList(node, NormalAnnotation.VALUES_PROPERTY, startOffset, "", ", "); //$NON-NLS-1$ //$NON-NLS-2$ - } catch (CoreException e) { - handleException(e); - } - } else { - voidVisit(node, NormalAnnotation.VALUES_PROPERTY); - } - return false; - } - /* (non-Javadoc) * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.ParameterizedType) */ public boolean visit(ParameterizedType node) { @@ -3461,17 +3251,6 @@ rewriteRequiredNode(node, QualifiedType.NAME_PROPERTY); return false; } - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.SingleMemberAnnotation) - */ - public boolean visit(SingleMemberAnnotation node) { - if (!hasChildrenChanges(node)) { - return doVisitUnchangedChildren(node); - } - rewriteRequiredNode(node, SingleMemberAnnotation.TYPE_NAME_PROPERTY); - rewriteRequiredNode(node, SingleMemberAnnotation.VALUE_PROPERTY); - return false; - } public boolean visit(UndefinedLiteral node) { if (!hasChildrenChanges(node)) { return doVisitUnchangedChildren(node);
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/dom/rewrite/ASTRewriteFlattener.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/dom/rewrite/ASTRewriteFlattener.java index b7ab126..1295b3f 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/dom/rewrite/ASTRewriteFlattener.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/dom/rewrite/ASTRewriteFlattener.java
@@ -15,8 +15,6 @@ import org.eclipse.wst.jsdt.core.dom.AST; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.ArrayAccess; import org.eclipse.wst.jsdt.core.dom.ArrayCreation; @@ -34,39 +32,34 @@ import org.eclipse.wst.jsdt.core.dom.ChildListPropertyDescriptor; import org.eclipse.wst.jsdt.core.dom.ChildPropertyDescriptor; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.ConditionalExpression; import org.eclipse.wst.jsdt.core.dom.ConstructorInvocation; import org.eclipse.wst.jsdt.core.dom.ContinueStatement; import org.eclipse.wst.jsdt.core.dom.DoStatement; import org.eclipse.wst.jsdt.core.dom.EmptyStatement; import org.eclipse.wst.jsdt.core.dom.EnhancedForStatement; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.ExpressionStatement; import org.eclipse.wst.jsdt.core.dom.FieldAccess; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; import org.eclipse.wst.jsdt.core.dom.ForInStatement; import org.eclipse.wst.jsdt.core.dom.ForStatement; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.FunctionExpression; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.FunctionRef; +import org.eclipse.wst.jsdt.core.dom.FunctionRefParameter; import org.eclipse.wst.jsdt.core.dom.IfStatement; import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; import org.eclipse.wst.jsdt.core.dom.InfixExpression; import org.eclipse.wst.jsdt.core.dom.Initializer; import org.eclipse.wst.jsdt.core.dom.InstanceofExpression; import org.eclipse.wst.jsdt.core.dom.JSdoc; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.LabeledStatement; import org.eclipse.wst.jsdt.core.dom.LineComment; import org.eclipse.wst.jsdt.core.dom.ListExpression; -import org.eclipse.wst.jsdt.core.dom.MarkerAnnotation; import org.eclipse.wst.jsdt.core.dom.MemberRef; -import org.eclipse.wst.jsdt.core.dom.MemberValuePair; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; -import org.eclipse.wst.jsdt.core.dom.FunctionRef; -import org.eclipse.wst.jsdt.core.dom.FunctionRefParameter; import org.eclipse.wst.jsdt.core.dom.Modifier; -import org.eclipse.wst.jsdt.core.dom.NormalAnnotation; import org.eclipse.wst.jsdt.core.dom.NullLiteral; import org.eclipse.wst.jsdt.core.dom.NumberLiteral; import org.eclipse.wst.jsdt.core.dom.ObjectLiteral; @@ -83,7 +76,6 @@ import org.eclipse.wst.jsdt.core.dom.ReturnStatement; import org.eclipse.wst.jsdt.core.dom.SimpleName; import org.eclipse.wst.jsdt.core.dom.SimpleType; -import org.eclipse.wst.jsdt.core.dom.SingleMemberAnnotation; import org.eclipse.wst.jsdt.core.dom.SingleVariableDeclaration; import org.eclipse.wst.jsdt.core.dom.StringLiteral; import org.eclipse.wst.jsdt.core.dom.StructuralPropertyDescriptor; @@ -822,7 +814,6 @@ if (javadoc != null) { javadoc.accept(this); } - visitList(node, PackageDeclaration.ANNOTATIONS_PROPERTY, String.valueOf(' ')); } this.result.append("package "); //$NON-NLS-1$ getChildNode(node, PackageDeclaration.NAME_PROPERTY).accept(this); @@ -1288,46 +1279,6 @@ this.result.append(getAttribute(node, TextElement.TEXT_PROPERTY)); return false; } - /* - * @see ASTVisitor#visit(AnnotationTypeDeclaration) - * @since 3.0 - */ - public boolean visit(AnnotationTypeDeclaration node) { - ASTNode javadoc= getChildNode(node, AnnotationTypeDeclaration.JAVADOC_PROPERTY); - if (javadoc != null) { - javadoc.accept(this); - } - visitList(node, AnnotationTypeDeclaration.MODIFIERS2_PROPERTY, String.valueOf(' '), Util.EMPTY_STRING, String.valueOf(' ')); - this.result.append("@interface ");//$NON-NLS-1$ - getChildNode(node, AnnotationTypeDeclaration.NAME_PROPERTY).accept(this); - this.result.append('{'); - visitList(node, AnnotationTypeDeclaration.BODY_DECLARATIONS_PROPERTY, Util.EMPTY_STRING); - this.result.append('}'); - return false; - } - - /* - * @see ASTVisitor#visit(AnnotationTypeMemberDeclaration) - * @since 3.0 - */ - public boolean visit(AnnotationTypeMemberDeclaration node) { - ASTNode javadoc= getChildNode(node, AnnotationTypeMemberDeclaration.JAVADOC_PROPERTY); - if (javadoc != null) { - javadoc.accept(this); - } - visitList(node, AnnotationTypeMemberDeclaration.MODIFIERS2_PROPERTY, String.valueOf(' '), Util.EMPTY_STRING, String.valueOf(' ')); - getChildNode(node, AnnotationTypeMemberDeclaration.TYPE_PROPERTY).accept(this); - this.result.append(' '); - getChildNode(node, AnnotationTypeMemberDeclaration.NAME_PROPERTY).accept(this); - this.result.append("()");//$NON-NLS-1$ - ASTNode def= getChildNode(node, AnnotationTypeMemberDeclaration.DEFAULT_PROPERTY); - if (def != null) { - this.result.append(" default ");//$NON-NLS-1$ - def.accept(this); - } - this.result.append(';'); - return false; - } /* * @see ASTVisitor#visit(EnhancedForStatement) @@ -1343,67 +1294,8 @@ return false; } - /* - * @see ASTVisitor#visit(EnumConstantDeclaration) - * @since 3.0 - */ - public boolean visit(EnumConstantDeclaration node) { - ASTNode javadoc= getChildNode(node, EnumConstantDeclaration.JAVADOC_PROPERTY); - if (javadoc != null) { - javadoc.accept(this); - } - visitList(node, EnumConstantDeclaration.MODIFIERS2_PROPERTY, String.valueOf(' '), Util.EMPTY_STRING, String.valueOf(' ')); - getChildNode(node, EnumConstantDeclaration.NAME_PROPERTY).accept(this); - visitList(node, EnumConstantDeclaration.ARGUMENTS_PROPERTY, String.valueOf(','), String.valueOf('('), String.valueOf(')')); - ASTNode classDecl= getChildNode(node, EnumConstantDeclaration.ANONYMOUS_CLASS_DECLARATION_PROPERTY); - if (classDecl != null) { - classDecl.accept(this); - } - return false; - } /* - * @see ASTVisitor#visit(EnumDeclaration) - * @since 3.0 - */ - public boolean visit(EnumDeclaration node) { - ASTNode javadoc= getChildNode(node, EnumDeclaration.JAVADOC_PROPERTY); - if (javadoc != null) { - javadoc.accept(this); - } - visitList(node, EnumDeclaration.MODIFIERS2_PROPERTY, String.valueOf(' '), Util.EMPTY_STRING, String.valueOf(' ')); - this.result.append("enum ");//$NON-NLS-1$ - getChildNode(node, EnumDeclaration.NAME_PROPERTY).accept(this); - this.result.append(' '); - visitList(node, EnumDeclaration.SUPER_INTERFACE_TYPES_PROPERTY, String.valueOf(','), "implements ", Util.EMPTY_STRING); //$NON-NLS-1$ - - this.result.append('{'); - visitList(node, EnumDeclaration.ENUM_CONSTANTS_PROPERTY, String.valueOf(','), Util.EMPTY_STRING, Util.EMPTY_STRING); - visitList(node, EnumDeclaration.BODY_DECLARATIONS_PROPERTY, Util.EMPTY_STRING, String.valueOf(';'), Util.EMPTY_STRING); - this.result.append('}'); - return false; - } - /* - * @see ASTVisitor#visit(MarkerAnnotation) - * @since 3.0 - */ - public boolean visit(MarkerAnnotation node) { - this.result.append('@'); - getChildNode(node, MarkerAnnotation.TYPE_NAME_PROPERTY).accept(this); - return false; - } - - /* - * @see ASTVisitor#visit(MemberValuePair) - * @since 3.0 - */ - public boolean visit(MemberValuePair node) { - getChildNode(node, MemberValuePair.NAME_PROPERTY).accept(this); - this.result.append('='); - getChildNode(node, MemberValuePair.VALUE_PROPERTY).accept(this); - return false; - } - /* * @see ASTVisitor#visit(Modifier) * @since 3.0 */ @@ -1413,18 +1305,6 @@ } /* - * @see ASTVisitor#visit(NormalAnnotation) - * @since 3.0 - */ - public boolean visit(NormalAnnotation node) { - this.result.append('@'); - getChildNode(node, NormalAnnotation.TYPE_NAME_PROPERTY).accept(this); - this.result.append('('); - visitList(node, NormalAnnotation.VALUES_PROPERTY, ", "); //$NON-NLS-1$ - this.result.append(')'); - return false; - } - /* * @see ASTVisitor#visit(ParameterizedType) * @since 3.0 */ @@ -1447,17 +1327,6 @@ return false; } - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.SingleMemberAnnotation) - */ - public boolean visit(SingleMemberAnnotation node) { - this.result.append('@'); - getChildNode(node, SingleMemberAnnotation.TYPE_NAME_PROPERTY).accept(this); - this.result.append('('); - getChildNode(node, SingleMemberAnnotation.VALUE_PROPERTY).accept(this); - this.result.append(')'); - return false; - } /* (non-Javadoc) * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.TypeParameter)
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/dom/rewrite/ASTRewriteFormatter.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/dom/rewrite/ASTRewriteFormatter.java index dbd68e7..21eab1f 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/dom/rewrite/ASTRewriteFormatter.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/dom/rewrite/ASTRewriteFormatter.java
@@ -313,11 +313,6 @@ suffix= ";"; //$NON-NLS-1$ code= CodeFormatter.K_STATEMENTS; break; - case ASTNode.MEMBER_VALUE_PAIR: - prefix= "@Author("; //$NON-NLS-1$ - suffix= ") class x {}"; //$NON-NLS-1$ - code= CodeFormatter.K_JAVASCRIPT_UNIT; - break; case ASTNode.MODIFIER: suffix= " class x {}"; //$NON-NLS-1$ code= CodeFormatter.K_JAVASCRIPT_UNIT;
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/util/DOMFinder.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/util/DOMFinder.java index 50e7f01..4570f28 100644 --- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/util/DOMFinder.java +++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/util/DOMFinder.java
@@ -16,17 +16,13 @@ import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; import org.eclipse.wst.jsdt.core.dom.Initializer; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.PackageDeclaration; import org.eclipse.wst.jsdt.core.dom.TypeDeclaration; import org.eclipse.wst.jsdt.core.dom.TypeParameter; @@ -69,18 +65,6 @@ return this.foundNode; } - public boolean visit(AnnotationTypeDeclaration node) { - if (found(node, node.getName()) && this.resolveBinding) - this.foundBinding = node.resolveBinding(); - return true; - } - - public boolean visit(AnnotationTypeMemberDeclaration node) { - if (found(node, node.getName()) && this.resolveBinding) - this.foundBinding = node.resolveBinding(); - return true; - } - public boolean visit(AnonymousClassDeclaration node) { ASTNode name; ASTNode parent = node.getParent(); @@ -88,9 +72,6 @@ case ASTNode.CLASS_INSTANCE_CREATION: name = ((ClassInstanceCreation) parent).getType(); break; - case ASTNode.ENUM_CONSTANT_DECLARATION: - name = ((EnumConstantDeclaration) parent).getName(); - break; default: return true; } @@ -99,18 +80,6 @@ return true; } - public boolean visit(EnumConstantDeclaration node) { - if (found(node, node.getName()) && this.resolveBinding) - this.foundBinding = node.resolveVariable(); - return true; - } - - public boolean visit(EnumDeclaration node) { - if (found(node, node.getName()) && this.resolveBinding) - this.foundBinding = node.resolveBinding(); - return true; - } - public boolean visit(ImportDeclaration node) { if (found(node, node) && this.resolveBinding) this.foundBinding = node.resolveBinding();
diff --git a/bundles/org.eclipse.wst.jsdt.ui/plugin.xml b/bundles/org.eclipse.wst.jsdt.ui/plugin.xml index db7e723..f5dc683 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/plugin.xml +++ b/bundles/org.eclipse.wst.jsdt.ui/plugin.xml
@@ -1801,6 +1801,7 @@ class="org.eclipse.wst.jsdt.internal.ui.compare.JavaStructureCreator" id="org.eclipse.wst.jsdt.internal.ui.compare.JavaStructureCreator"> </structureCreator> +<!-- <structureCreator class="org.eclipse.wst.jsdt.internal.ui.compare.PropertiesStructureCreator" id="org.eclipse.wst.jsdt.internal.ui.compare.PropertiesStructureCreator"> @@ -1809,6 +1810,7 @@ contentTypeId="org.eclipse.wst.jsdt.core.javaProperties" structureCreatorId="org.eclipse.wst.jsdt.internal.ui.compare.PropertiesStructureCreator"> </contentTypeBinding> +--> </extension> <extension point="org.eclipse.compare.contentViewers">
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/AddCustomConstructorOperation.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/AddCustomConstructorOperation.java index 9b12f1b..b692c5e 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/AddCustomConstructorOperation.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/AddCustomConstructorOperation.java
@@ -29,24 +29,19 @@ import org.eclipse.jface.text.IDocument; import org.eclipse.ltk.core.refactoring.Change; import org.eclipse.text.edits.TextEdit; -import org.eclipse.wst.jsdt.core.Flags; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; -import org.eclipse.wst.jsdt.core.IField; -import org.eclipse.wst.jsdt.core.IJavaScriptElement; -import org.eclipse.wst.jsdt.core.IMember; import org.eclipse.wst.jsdt.core.IFunction; -import org.eclipse.wst.jsdt.core.ISourceReference; +import org.eclipse.wst.jsdt.core.IJavaScriptElement; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IType; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.rewrite.ListRewrite; import org.eclipse.wst.jsdt.internal.corext.dom.ASTNodes; import org.eclipse.wst.jsdt.internal.corext.dom.NodeFinder; @@ -180,17 +175,6 @@ ListRewrite rewriter= null; if (fType.isAnonymous()) { final IJavaScriptElement parent= fType.getParent(); - if (parent instanceof IField && Flags.isEnum(((IMember) parent).getFlags())) { - final EnumConstantDeclaration constant= (EnumConstantDeclaration) NodeFinder.perform(rewrite.getRoot(), ((ISourceReference) parent).getSourceRange()); - if (constant != null) { - final AnonymousClassDeclaration declaration= constant.getAnonymousClassDeclaration(); - if (declaration != null) { - binding= declaration.resolveBinding(); - if (binding != null) - rewriter= rewrite.getASTRewrite().getListRewrite(declaration, AnonymousClassDeclaration.BODY_DECLARATIONS_PROPERTY); - } - } - } else { final ClassInstanceCreation creation= (ClassInstanceCreation) ASTNodes.getParent(NodeFinder.perform(rewrite.getRoot(), fType.getNameRange()), ClassInstanceCreation.class); if (creation != null) { binding= creation.resolveTypeBinding(); @@ -198,7 +182,6 @@ if (declaration != null) rewriter= rewrite.getASTRewrite().getListRewrite(declaration, AnonymousClassDeclaration.BODY_DECLARATIONS_PROPERTY); } - } } else { final AbstractTypeDeclaration declaration= (AbstractTypeDeclaration) ASTNodes.getParent(NodeFinder.perform(rewrite.getRoot(), fType.getNameRange()), AbstractTypeDeclaration.class); if (declaration != null) {
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/AddDelegateMethodsOperation.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/AddDelegateMethodsOperation.java index 934fdc6..990fa7c 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/AddDelegateMethodsOperation.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/AddDelegateMethodsOperation.java
@@ -28,23 +28,18 @@ import org.eclipse.jface.text.IDocument; import org.eclipse.ltk.core.refactoring.Change; import org.eclipse.text.edits.TextEdit; -import org.eclipse.wst.jsdt.core.Flags; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; -import org.eclipse.wst.jsdt.core.IField; -import org.eclipse.wst.jsdt.core.IJavaScriptElement; -import org.eclipse.wst.jsdt.core.IMember; import org.eclipse.wst.jsdt.core.IFunction; -import org.eclipse.wst.jsdt.core.ISourceReference; +import org.eclipse.wst.jsdt.core.IJavaScriptElement; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IType; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.rewrite.ListRewrite; import org.eclipse.wst.jsdt.internal.corext.dom.ASTNodes; import org.eclipse.wst.jsdt.internal.corext.dom.NodeFinder; @@ -166,17 +161,6 @@ ListRewrite rewriter= null; if (fType.isAnonymous()) { final IJavaScriptElement parent= fType.getParent(); - if (parent instanceof IField && Flags.isEnum(((IMember) parent).getFlags())) { - final EnumConstantDeclaration constant= (EnumConstantDeclaration) NodeFinder.perform(rewrite.getRoot(), ((ISourceReference) parent).getSourceRange()); - if (constant != null) { - final AnonymousClassDeclaration declaration= constant.getAnonymousClassDeclaration(); - if (declaration != null) { - binding= declaration.resolveBinding(); - if (binding != null) - rewriter= rewrite.getASTRewrite().getListRewrite(declaration, AnonymousClassDeclaration.BODY_DECLARATIONS_PROPERTY); - } - } - } else { final ClassInstanceCreation creation= (ClassInstanceCreation) ASTNodes.getParent(NodeFinder.perform(rewrite.getRoot(), fType.getNameRange()), ClassInstanceCreation.class); if (creation != null) { binding= creation.resolveTypeBinding(); @@ -184,7 +168,6 @@ if (declaration != null) rewriter= rewrite.getASTRewrite().getListRewrite(declaration, AnonymousClassDeclaration.BODY_DECLARATIONS_PROPERTY); } - } } else { final AbstractTypeDeclaration declaration= (AbstractTypeDeclaration) ASTNodes.getParent(NodeFinder.perform(rewrite.getRoot(), fType.getNameRange()), AbstractTypeDeclaration.class); if (declaration != null) {
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/AddImportsOperation.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/AddImportsOperation.java index b858956..9f388ad 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/AddImportsOperation.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/AddImportsOperation.java
@@ -28,19 +28,17 @@ import org.eclipse.text.edits.TextEdit; import org.eclipse.wst.jsdt.core.Flags; import org.eclipse.wst.jsdt.core.IBuffer; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IJavaScriptElement; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.Signature; import org.eclipse.wst.jsdt.core.dom.ASTNode; -import org.eclipse.wst.jsdt.core.dom.Annotation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; -import org.eclipse.wst.jsdt.core.dom.MarkerAnnotation; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.Name; import org.eclipse.wst.jsdt.core.dom.QualifiedName; @@ -163,9 +161,7 @@ SimpleName nameNode= null; if (root != null) { // got an AST ASTNode node= NodeFinder.perform(root, offset, length); - if (node instanceof MarkerAnnotation) { - node= ((Annotation) node).getTypeName(); - } + if (node instanceof QualifiedName) { nameNode= ((QualifiedName) node).getName(); } else if (node instanceof SimpleName) {
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/ImportReferencesCollector.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/ImportReferencesCollector.java index a449485..3227177 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/ImportReferencesCollector.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/ImportReferencesCollector.java
@@ -20,28 +20,25 @@ import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ArrayType; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Expression; import org.eclipse.wst.jsdt.core.dom.FieldAccess; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.FunctionRef; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; -import org.eclipse.wst.jsdt.core.dom.MarkerAnnotation; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.MemberRef; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; -import org.eclipse.wst.jsdt.core.dom.FunctionRef; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.Name; -import org.eclipse.wst.jsdt.core.dom.NormalAnnotation; import org.eclipse.wst.jsdt.core.dom.PackageDeclaration; import org.eclipse.wst.jsdt.core.dom.QualifiedName; import org.eclipse.wst.jsdt.core.dom.QualifiedType; import org.eclipse.wst.jsdt.core.dom.SimpleName; import org.eclipse.wst.jsdt.core.dom.SimpleType; -import org.eclipse.wst.jsdt.core.dom.SingleMemberAnnotation; import org.eclipse.wst.jsdt.core.dom.SuperConstructorInvocation; import org.eclipse.wst.jsdt.core.dom.TagElement; import org.eclipse.wst.jsdt.core.dom.ThisExpression; @@ -317,31 +314,7 @@ return false; } - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.internal.corext.dom.GenericVisitor#visit(org.eclipse.wst.jsdt.core.dom.MarkerAnnotation) - */ - public boolean visit(MarkerAnnotation node) { - typeRefFound(node.getTypeName()); - return false; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.internal.corext.dom.GenericVisitor#visit(org.eclipse.wst.jsdt.core.dom.MarkerAnnotation) - */ - public boolean visit(NormalAnnotation node) { - typeRefFound(node.getTypeName()); - doVisitChildren(node.values()); - return false; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.internal.corext.dom.GenericVisitor#visit(org.eclipse.wst.jsdt.core.dom.MarkerAnnotation) - */ - public boolean visit(SingleMemberAnnotation node) { - typeRefFound(node.getTypeName()); - doVisitNode(node.getValue()); - return false; - } + /* * @see ASTVisitor#visit(TypeDeclaration)
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/SortMembersOperation.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/SortMembersOperation.java index 073d14b..bc4d476 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/SortMembersOperation.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/SortMembersOperation.java
@@ -22,12 +22,10 @@ import org.eclipse.wst.jsdt.core.dom.AST; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; -import org.eclipse.wst.jsdt.core.dom.Initializer; import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.Initializer; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.SingleVariableDeclaration; import org.eclipse.wst.jsdt.core.dom.Type; @@ -95,13 +93,7 @@ return getMemberCategory(MembersOrderPreferenceCache.INIT_INDEX); } case ASTNode.TYPE_DECLARATION : - case ASTNode.ENUM_DECLARATION : - case ASTNode.ANNOTATION_TYPE_DECLARATION : return getMemberCategory(MembersOrderPreferenceCache.TYPE_INDEX); - case ASTNode.ENUM_CONSTANT_DECLARATION : - return getMemberCategory(MembersOrderPreferenceCache.ENUM_CONSTANTS_INDEX); - case ASTNode.ANNOTATION_TYPE_MEMBER_DECLARATION: - return getMemberCategory(MembersOrderPreferenceCache.METHOD_INDEX); // reusing the method index } return 0; // should never happen @@ -198,8 +190,6 @@ return preserveRelativeOrder(bodyDeclaration1, bodyDeclaration2); } case ASTNode.TYPE_DECLARATION : - case ASTNode.ENUM_DECLARATION : - case ASTNode.ANNOTATION_TYPE_DECLARATION : { AbstractTypeDeclaration type1= (AbstractTypeDeclaration) bodyDeclaration1; AbstractTypeDeclaration type2= (AbstractTypeDeclaration) bodyDeclaration2; @@ -210,32 +200,6 @@ // typedeclarations are sorted by name return compareNames(bodyDeclaration1, bodyDeclaration2, name1, name2); } - case ASTNode.ENUM_CONSTANT_DECLARATION : - { - if (!fDoNotSortFields) { - EnumConstantDeclaration decl1= (EnumConstantDeclaration) bodyDeclaration1; - EnumConstantDeclaration decl2= (EnumConstantDeclaration) bodyDeclaration2; - - String name1= decl1.getName().getIdentifier(); - String name2= decl2.getName().getIdentifier(); - - // enum constants declarations are sorted by name - return compareNames(bodyDeclaration1, bodyDeclaration2, name1, name2); - } else { - return preserveRelativeOrder(bodyDeclaration1, bodyDeclaration2); - } - } - case ASTNode.ANNOTATION_TYPE_MEMBER_DECLARATION : - { - AnnotationTypeMemberDeclaration decl1= (AnnotationTypeMemberDeclaration) bodyDeclaration1; - AnnotationTypeMemberDeclaration decl2= (AnnotationTypeMemberDeclaration) bodyDeclaration2; - - String name1= decl1.getName().getIdentifier(); - String name2= decl2.getName().getIdentifier(); - - // enum constants declarations are sorted by name - return compareNames(bodyDeclaration1, bodyDeclaration2, name1, name2); - } } return 0; }
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/StubUtility2.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/StubUtility2.java index 5613e3b..2316687 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/StubUtility2.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/codemanipulation/StubUtility2.java
@@ -25,19 +25,18 @@ import org.eclipse.wst.jsdt.core.NamingConventions; import org.eclipse.wst.jsdt.core.dom.AST; import org.eclipse.wst.jsdt.core.dom.ASTNode; -import org.eclipse.wst.jsdt.core.dom.Annotation; import org.eclipse.wst.jsdt.core.dom.Assignment; import org.eclipse.wst.jsdt.core.dom.Block; import org.eclipse.wst.jsdt.core.dom.Expression; import org.eclipse.wst.jsdt.core.dom.FieldAccess; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.IPackageBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; import org.eclipse.wst.jsdt.core.dom.JSdoc; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.ParameterizedType; import org.eclipse.wst.jsdt.core.dom.PrimitiveType; @@ -69,11 +68,6 @@ public static void addOverrideAnnotation(ASTRewrite rewrite, FunctionDeclaration decl, IFunctionBinding binding) { String version= binding.getJavaElement().getJavaScriptProject().getOption(JavaScriptCore.COMPILER_COMPLIANCE, true); - if (!binding.getDeclaringClass().isInterface() || !JavaModelUtil.isVersionLessThan(version, JavaScriptCore.VERSION_1_6)) { - final Annotation marker= rewrite.getAST().newMarkerAnnotation(); - marker.setTypeName(rewrite.getAST().newSimpleName("Override")); //$NON-NLS-1$ - rewrite.getListRewrite(decl, FunctionDeclaration.MODIFIERS2_PROPERTY).insertFirst(marker, null); - } } public static FunctionDeclaration createConstructorStub(IJavaScriptUnit unit, ASTRewrite rewrite, ImportRewrite imports, IFunctionBinding binding, String type, int modifiers, boolean omitSuperForDefConst, boolean todo, CodeGenerationSettings settings) throws CoreException {
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/ASTFlattener.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/ASTFlattener.java index 0b7952d..9d166a1 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/ASTFlattener.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/ASTFlattener.java
@@ -14,7 +14,96 @@ import java.util.List; import org.eclipse.core.runtime.Assert; -import org.eclipse.wst.jsdt.core.dom.*; +import org.eclipse.wst.jsdt.core.dom.AST; +import org.eclipse.wst.jsdt.core.dom.ASTNode; +import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; +import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; +import org.eclipse.wst.jsdt.core.dom.ArrayAccess; +import org.eclipse.wst.jsdt.core.dom.ArrayCreation; +import org.eclipse.wst.jsdt.core.dom.ArrayInitializer; +import org.eclipse.wst.jsdt.core.dom.ArrayType; +import org.eclipse.wst.jsdt.core.dom.AssertStatement; +import org.eclipse.wst.jsdt.core.dom.Assignment; +import org.eclipse.wst.jsdt.core.dom.Block; +import org.eclipse.wst.jsdt.core.dom.BlockComment; +import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; +import org.eclipse.wst.jsdt.core.dom.BooleanLiteral; +import org.eclipse.wst.jsdt.core.dom.BreakStatement; +import org.eclipse.wst.jsdt.core.dom.CastExpression; +import org.eclipse.wst.jsdt.core.dom.CatchClause; +import org.eclipse.wst.jsdt.core.dom.CharacterLiteral; +import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; +import org.eclipse.wst.jsdt.core.dom.ConditionalExpression; +import org.eclipse.wst.jsdt.core.dom.ConstructorInvocation; +import org.eclipse.wst.jsdt.core.dom.ContinueStatement; +import org.eclipse.wst.jsdt.core.dom.DoStatement; +import org.eclipse.wst.jsdt.core.dom.EmptyStatement; +import org.eclipse.wst.jsdt.core.dom.EnhancedForStatement; +import org.eclipse.wst.jsdt.core.dom.Expression; +import org.eclipse.wst.jsdt.core.dom.ExpressionStatement; +import org.eclipse.wst.jsdt.core.dom.FieldAccess; +import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; +import org.eclipse.wst.jsdt.core.dom.ForInStatement; +import org.eclipse.wst.jsdt.core.dom.ForStatement; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionExpression; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.FunctionRef; +import org.eclipse.wst.jsdt.core.dom.FunctionRefParameter; +import org.eclipse.wst.jsdt.core.dom.IfStatement; +import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; +import org.eclipse.wst.jsdt.core.dom.InfixExpression; +import org.eclipse.wst.jsdt.core.dom.Initializer; +import org.eclipse.wst.jsdt.core.dom.InstanceofExpression; +import org.eclipse.wst.jsdt.core.dom.JSdoc; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; +import org.eclipse.wst.jsdt.core.dom.LabeledStatement; +import org.eclipse.wst.jsdt.core.dom.LineComment; +import org.eclipse.wst.jsdt.core.dom.ListExpression; +import org.eclipse.wst.jsdt.core.dom.MemberRef; +import org.eclipse.wst.jsdt.core.dom.Modifier; +import org.eclipse.wst.jsdt.core.dom.Name; +import org.eclipse.wst.jsdt.core.dom.NullLiteral; +import org.eclipse.wst.jsdt.core.dom.NumberLiteral; +import org.eclipse.wst.jsdt.core.dom.ObjectLiteral; +import org.eclipse.wst.jsdt.core.dom.ObjectLiteralField; +import org.eclipse.wst.jsdt.core.dom.PackageDeclaration; +import org.eclipse.wst.jsdt.core.dom.ParameterizedType; +import org.eclipse.wst.jsdt.core.dom.ParenthesizedExpression; +import org.eclipse.wst.jsdt.core.dom.PostfixExpression; +import org.eclipse.wst.jsdt.core.dom.PrefixExpression; +import org.eclipse.wst.jsdt.core.dom.PrimitiveType; +import org.eclipse.wst.jsdt.core.dom.QualifiedName; +import org.eclipse.wst.jsdt.core.dom.QualifiedType; +import org.eclipse.wst.jsdt.core.dom.RegularExpressionLiteral; +import org.eclipse.wst.jsdt.core.dom.ReturnStatement; +import org.eclipse.wst.jsdt.core.dom.SimpleName; +import org.eclipse.wst.jsdt.core.dom.SimpleType; +import org.eclipse.wst.jsdt.core.dom.SingleVariableDeclaration; +import org.eclipse.wst.jsdt.core.dom.Statement; +import org.eclipse.wst.jsdt.core.dom.StringLiteral; +import org.eclipse.wst.jsdt.core.dom.SuperConstructorInvocation; +import org.eclipse.wst.jsdt.core.dom.SuperFieldAccess; +import org.eclipse.wst.jsdt.core.dom.SuperMethodInvocation; +import org.eclipse.wst.jsdt.core.dom.SwitchCase; +import org.eclipse.wst.jsdt.core.dom.SwitchStatement; +import org.eclipse.wst.jsdt.core.dom.TagElement; +import org.eclipse.wst.jsdt.core.dom.TextElement; +import org.eclipse.wst.jsdt.core.dom.ThisExpression; +import org.eclipse.wst.jsdt.core.dom.ThrowStatement; +import org.eclipse.wst.jsdt.core.dom.TryStatement; +import org.eclipse.wst.jsdt.core.dom.Type; +import org.eclipse.wst.jsdt.core.dom.TypeDeclaration; +import org.eclipse.wst.jsdt.core.dom.TypeDeclarationStatement; +import org.eclipse.wst.jsdt.core.dom.TypeLiteral; +import org.eclipse.wst.jsdt.core.dom.TypeParameter; +import org.eclipse.wst.jsdt.core.dom.UndefinedLiteral; +import org.eclipse.wst.jsdt.core.dom.VariableDeclarationExpression; +import org.eclipse.wst.jsdt.core.dom.VariableDeclarationFragment; +import org.eclipse.wst.jsdt.core.dom.VariableDeclarationStatement; +import org.eclipse.wst.jsdt.core.dom.WhileStatement; +import org.eclipse.wst.jsdt.core.dom.WildcardType; +import org.eclipse.wst.jsdt.core.dom.WithStatement; /** * @@ -124,47 +213,6 @@ } /* - * @see ASTVisitor#visit(AnnotationTypeDeclaration) - * @since 3.0 - */ - public boolean visit(AnnotationTypeDeclaration node) { - if (node.getJavadoc() != null) { - node.getJavadoc().accept(this); - } - printModifiers(node.modifiers()); - this.fBuffer.append("@interface ");//$NON-NLS-1$ - node.getName().accept(this); - this.fBuffer.append(" {");//$NON-NLS-1$ - for (Iterator it= node.bodyDeclarations().iterator(); it.hasNext();) { - BodyDeclaration d= (BodyDeclaration) it.next(); - d.accept(this); - } - this.fBuffer.append("}");//$NON-NLS-1$ - return false; - } - - /* - * @see ASTVisitor#visit(AnnotationTypeMemberDeclaration) - * @since 3.0 - */ - public boolean visit(AnnotationTypeMemberDeclaration node) { - if (node.getJavadoc() != null) { - node.getJavadoc().accept(this); - } - printModifiers(node.modifiers()); - node.getType().accept(this); - this.fBuffer.append(" ");//$NON-NLS-1$ - node.getName().accept(this); - this.fBuffer.append("()");//$NON-NLS-1$ - if (node.getDefault() != null) { - this.fBuffer.append(" default ");//$NON-NLS-1$ - node.getDefault().accept(this); - } - this.fBuffer.append(";");//$NON-NLS-1$ - return false; - } - - /* * @see ASTVisitor#visit(AnonymousClassDeclaration) */ public boolean visit(AnonymousClassDeclaration node) { @@ -518,77 +566,6 @@ return false; } - /* - * @see ASTVisitor#visit(EnumConstantDeclaration) - * @since 3.0 - */ - public boolean visit(EnumConstantDeclaration node) { - if (node.getJavadoc() != null) { - node.getJavadoc().accept(this); - } - printModifiers(node.modifiers()); - node.getName().accept(this); - if (!node.arguments().isEmpty()) { - this.fBuffer.append("(");//$NON-NLS-1$ - for (Iterator it= node.arguments().iterator(); it.hasNext();) { - Expression e= (Expression) it.next(); - e.accept(this); - if (it.hasNext()) { - this.fBuffer.append(",");//$NON-NLS-1$ - } - } - this.fBuffer.append(")");//$NON-NLS-1$ - } - if (node.getAnonymousClassDeclaration() != null) { - node.getAnonymousClassDeclaration().accept(this); - } - return false; - } - - /* - * @see ASTVisitor#visit(EnumDeclaration) - * @since 3.0 - */ - public boolean visit(EnumDeclaration node) { - if (node.getJavadoc() != null) { - node.getJavadoc().accept(this); - } - printModifiers(node.modifiers()); - this.fBuffer.append("enum ");//$NON-NLS-1$ - node.getName().accept(this); - this.fBuffer.append(" ");//$NON-NLS-1$ - if (!node.superInterfaceTypes().isEmpty()) { - this.fBuffer.append("implements ");//$NON-NLS-1$ - for (Iterator it= node.superInterfaceTypes().iterator(); it.hasNext();) { - Type t= (Type) it.next(); - t.accept(this); - if (it.hasNext()) { - this.fBuffer.append(", ");//$NON-NLS-1$ - } - } - this.fBuffer.append(" ");//$NON-NLS-1$ - } - this.fBuffer.append("{");//$NON-NLS-1$ - for (Iterator it = node.enumConstants().iterator(); it.hasNext(); ) { - EnumConstantDeclaration d = (EnumConstantDeclaration) it.next(); - d.accept(this); - // enum constant declarations do not include punctuation - if (it.hasNext()) { - // enum constant declarations are separated by commas - this.fBuffer.append(", ");//$NON-NLS-1$ - } - } - if (!node.bodyDeclarations().isEmpty()) { - this.fBuffer.append("; ");//$NON-NLS-1$ - for (Iterator it = node.bodyDeclarations().iterator(); it.hasNext(); ) { - BodyDeclaration d = (BodyDeclaration) it.next(); - d.accept(this); - // other body declarations include trailing punctuation - } - } - this.fBuffer.append("}");//$NON-NLS-1$ - return false; - } /* * @see ASTVisitor#visit(ExpressionStatement) @@ -799,15 +776,6 @@ return false; } - /* - * @see ASTVisitor#visit(MarkerAnnotation) - * @since 3.0 - */ - public boolean visit(MarkerAnnotation node) { - this.fBuffer.append("@");//$NON-NLS-1$ - node.getTypeName().accept(this); - return false; - } /* * @see ASTVisitor#visit(MemberRef) @@ -822,16 +790,6 @@ return false; } - /* - * @see ASTVisitor#visit(MemberValuePair) - * @since 3.0 - */ - public boolean visit(MemberValuePair node) { - node.getName().accept(this); - this.fBuffer.append("=");//$NON-NLS-1$ - node.getValue().accept(this); - return false; - } /* * @see ASTVisitor#visit(FunctionRef) @@ -988,24 +946,6 @@ return false; } - /* - * @see ASTVisitor#visit(NormalAnnotation) - * @since 3.0 - */ - public boolean visit(NormalAnnotation node) { - this.fBuffer.append("@");//$NON-NLS-1$ - node.getTypeName().accept(this); - this.fBuffer.append("(");//$NON-NLS-1$ - for (Iterator it= node.values().iterator(); it.hasNext();) { - MemberValuePair p= (MemberValuePair) it.next(); - p.accept(this); - if (it.hasNext()) { - this.fBuffer.append(",");//$NON-NLS-1$ - } - } - this.fBuffer.append(")");//$NON-NLS-1$ - return false; - } /* * @see ASTVisitor#visit(NullLiteral) @@ -1036,11 +976,6 @@ if (node.getJavadoc() != null) { node.getJavadoc().accept(this); } - for (Iterator it= node.annotations().iterator(); it.hasNext();) { - Annotation p= (Annotation) it.next(); - p.accept(this); - this.fBuffer.append(" ");//$NON-NLS-1$ - } } this.fBuffer.append("package ");//$NON-NLS-1$ node.getName().accept(this); @@ -1152,19 +1087,6 @@ } /* - * @see ASTVisitor#visit(SingleMemberAnnotation) - * @since 3.0 - */ - public boolean visit(SingleMemberAnnotation node) { - this.fBuffer.append("@");//$NON-NLS-1$ - node.getTypeName().accept(this); - this.fBuffer.append("(");//$NON-NLS-1$ - node.getValue().accept(this); - this.fBuffer.append(")");//$NON-NLS-1$ - return false; - } - - /* * @see ASTVisitor#visit(SingleVariableDeclaration) */ public boolean visit(SingleVariableDeclaration node) { @@ -1470,17 +1392,6 @@ BodyDeclaration prev= null; for (Iterator it= node.bodyDeclarations().iterator(); it.hasNext();) { BodyDeclaration d= (BodyDeclaration) it.next(); - if (prev instanceof EnumConstantDeclaration) { - // enum constant declarations do not include punctuation - if (d instanceof EnumConstantDeclaration) { - // enum constant declarations are separated by commas - this.fBuffer.append(", ");//$NON-NLS-1$ - } else { - // semicolon separates last enum constant declaration from - // first class body declarations - this.fBuffer.append("; ");//$NON-NLS-1$ - } - } d.accept(this); } this.fBuffer.append("}");//$NON-NLS-1$
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/ASTNodes.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/ASTNodes.java index 2ec52a1..755aec6 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/ASTNodes.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/ASTNodes.java
@@ -22,11 +22,7 @@ import org.eclipse.core.runtime.Assert; import org.eclipse.text.edits.TextEdit; -import org.eclipse.wst.jsdt.core.Flags; -import org.eclipse.wst.jsdt.core.IField; import org.eclipse.wst.jsdt.core.IJavaScriptElement; -import org.eclipse.wst.jsdt.core.IMember; -import org.eclipse.wst.jsdt.core.ISourceReference; import org.eclipse.wst.jsdt.core.IType; import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.compiler.IProblem; @@ -39,23 +35,22 @@ import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; import org.eclipse.wst.jsdt.core.dom.ChildListPropertyDescriptor; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.DoStatement; import org.eclipse.wst.jsdt.core.dom.EnhancedForStatement; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; import org.eclipse.wst.jsdt.core.dom.Expression; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; import org.eclipse.wst.jsdt.core.dom.ForInStatement; import org.eclipse.wst.jsdt.core.dom.ForStatement; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; import org.eclipse.wst.jsdt.core.dom.IfStatement; import org.eclipse.wst.jsdt.core.dom.InfixExpression; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Message; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.Name; import org.eclipse.wst.jsdt.core.dom.ParameterizedType; @@ -631,8 +626,6 @@ switch (memberType) { case ASTNode.TYPE_DECLARATION: - case ASTNode.ENUM_DECLARATION : - case ASTNode.ANNOTATION_TYPE_DECLARATION : return store.getCategoryIndex(MembersOrderPreferenceCache.TYPE_INDEX) * 2; case ASTNode.FIELD_DECLARATION: if (Modifier.isStatic(modifiers)) { @@ -648,8 +641,6 @@ return store.getCategoryIndex(MembersOrderPreferenceCache.STATIC_INIT_INDEX) * 2; } return store.getCategoryIndex(MembersOrderPreferenceCache.INIT_INDEX) * 2; - case ASTNode.ANNOTATION_TYPE_MEMBER_DECLARATION: - return store.getCategoryIndex(MembersOrderPreferenceCache.METHOD_INDEX) * 2; case ASTNode.FUNCTION_DECLARATION: if (Modifier.isStatic(modifiers)) { return store.getCategoryIndex(MembersOrderPreferenceCache.STATIC_METHODS_INDEX) * 2; @@ -808,18 +799,9 @@ public static ITypeBinding getTypeBinding(JavaScriptUnit root, IType type) throws JavaScriptModelException { if (type.isAnonymous()) { final IJavaScriptElement parent= type.getParent(); - if (parent instanceof IField && Flags.isEnum(((IMember) parent).getFlags())) { - final EnumConstantDeclaration constant= (EnumConstantDeclaration) NodeFinder.perform(root, ((ISourceReference) parent).getSourceRange()); - if (constant != null) { - final AnonymousClassDeclaration declaration= constant.getAnonymousClassDeclaration(); - if (declaration != null) - return declaration.resolveBinding(); - } - } else { final ClassInstanceCreation creation= (ClassInstanceCreation) getParent(NodeFinder.perform(root, type.getNameRange()), ClassInstanceCreation.class); if (creation != null) return creation.resolveTypeBinding(); - } } else { final AbstractTypeDeclaration declaration= (AbstractTypeDeclaration) getParent(NodeFinder.perform(root, type.getNameRange()), AbstractTypeDeclaration.class); if (declaration != null)
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/Bindings.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/Bindings.java index f392c01..881b792 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/Bindings.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/Bindings.java
@@ -20,10 +20,10 @@ import java.util.Set; import org.eclipse.core.runtime.Assert; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; +import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IJavaScriptProject; -import org.eclipse.wst.jsdt.core.IFunction; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IType; import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.Signature; @@ -32,8 +32,6 @@ import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.Assignment; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.Expression; import org.eclipse.wst.jsdt.core.dom.FieldAccess; import org.eclipse.wst.jsdt.core.dom.IBinding; @@ -41,6 +39,7 @@ import org.eclipse.wst.jsdt.core.dom.IPackageBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.QualifiedName; import org.eclipse.wst.jsdt.core.dom.SimpleName; @@ -1022,8 +1021,6 @@ AbstractTypeDeclaration decl= (AbstractTypeDeclaration) node; if (lastLocation == decl.getBodyDeclarationsProperty()) { return decl.resolveBinding(); - } else if (decl instanceof EnumDeclaration && lastLocation == EnumDeclaration.ENUM_CONSTANTS_PROPERTY) { - return decl.resolveBinding(); } } else if (node instanceof AnonymousClassDeclaration) { return ((AnonymousClassDeclaration) node).resolveBinding();
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/GenericVisitor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/GenericVisitor.java index 4be10ca..23c1060 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/GenericVisitor.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/GenericVisitor.java
@@ -12,8 +12,6 @@ import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.ArrayAccess; import org.eclipse.wst.jsdt.core.dom.ArrayCreation; @@ -29,39 +27,34 @@ import org.eclipse.wst.jsdt.core.dom.CatchClause; import org.eclipse.wst.jsdt.core.dom.CharacterLiteral; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.ConditionalExpression; import org.eclipse.wst.jsdt.core.dom.ConstructorInvocation; import org.eclipse.wst.jsdt.core.dom.ContinueStatement; import org.eclipse.wst.jsdt.core.dom.DoStatement; import org.eclipse.wst.jsdt.core.dom.EmptyStatement; import org.eclipse.wst.jsdt.core.dom.EnhancedForStatement; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.ExpressionStatement; import org.eclipse.wst.jsdt.core.dom.FieldAccess; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; import org.eclipse.wst.jsdt.core.dom.ForInStatement; import org.eclipse.wst.jsdt.core.dom.ForStatement; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.FunctionExpression; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.FunctionRef; +import org.eclipse.wst.jsdt.core.dom.FunctionRefParameter; import org.eclipse.wst.jsdt.core.dom.IfStatement; import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; import org.eclipse.wst.jsdt.core.dom.InfixExpression; import org.eclipse.wst.jsdt.core.dom.Initializer; import org.eclipse.wst.jsdt.core.dom.InstanceofExpression; import org.eclipse.wst.jsdt.core.dom.JSdoc; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.LabeledStatement; import org.eclipse.wst.jsdt.core.dom.LineComment; import org.eclipse.wst.jsdt.core.dom.ListExpression; -import org.eclipse.wst.jsdt.core.dom.MarkerAnnotation; import org.eclipse.wst.jsdt.core.dom.MemberRef; -import org.eclipse.wst.jsdt.core.dom.MemberValuePair; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; -import org.eclipse.wst.jsdt.core.dom.FunctionRef; -import org.eclipse.wst.jsdt.core.dom.FunctionRefParameter; import org.eclipse.wst.jsdt.core.dom.Modifier; -import org.eclipse.wst.jsdt.core.dom.NormalAnnotation; import org.eclipse.wst.jsdt.core.dom.NullLiteral; import org.eclipse.wst.jsdt.core.dom.NumberLiteral; import org.eclipse.wst.jsdt.core.dom.ObjectLiteral; @@ -78,7 +71,6 @@ import org.eclipse.wst.jsdt.core.dom.ReturnStatement; import org.eclipse.wst.jsdt.core.dom.SimpleName; import org.eclipse.wst.jsdt.core.dom.SimpleType; -import org.eclipse.wst.jsdt.core.dom.SingleMemberAnnotation; import org.eclipse.wst.jsdt.core.dom.SingleVariableDeclaration; import org.eclipse.wst.jsdt.core.dom.StringLiteral; import org.eclipse.wst.jsdt.core.dom.SuperConstructorInvocation; @@ -349,18 +341,6 @@ } /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration) - */ - public boolean visit(AnnotationTypeDeclaration node) { - return visitNode(node); - } - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration) - */ - public boolean visit(AnnotationTypeMemberDeclaration node) { - return visitNode(node); - } - /* (non-Javadoc) * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.BlockComment) */ public boolean visit(BlockComment node) { @@ -373,42 +353,18 @@ return visitNode(node); } /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration) - */ - public boolean visit(EnumConstantDeclaration node) { - return visitNode(node); - } - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.EnumDeclaration) - */ - public boolean visit(EnumDeclaration node) { - return visitNode(node); - } - /* (non-Javadoc) * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.LineComment) */ public boolean visit(LineComment node) { return visitNode(node); } /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.MarkerAnnotation) - */ - public boolean visit(MarkerAnnotation node) { - return visitNode(node); - } - /* (non-Javadoc) * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.MemberRef) */ public boolean visit(MemberRef node) { return visitNode(node); } /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.MemberValuePair) - */ - public boolean visit(MemberValuePair node) { - return visitNode(node); - } - /* (non-Javadoc) * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.FunctionRef) */ public boolean visit(FunctionRef node) { @@ -427,12 +383,6 @@ return visitNode(node); } /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.NormalAnnotation) - */ - public boolean visit(NormalAnnotation node) { - return visitNode(node); - } - /* (non-Javadoc) * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.ParameterizedType) */ public boolean visit(ParameterizedType node) { @@ -445,12 +395,6 @@ return visitNode(node); } /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.SingleMemberAnnotation) - */ - public boolean visit(SingleMemberAnnotation node) { - return visitNode(node); - } - /* (non-Javadoc) * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.TagElement) */ public boolean visit(TagElement node) { @@ -688,18 +632,6 @@ /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#endVisit(org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration) - */ - public void endVisit(AnnotationTypeDeclaration node) { - endVisitNode(node); - } - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#endVisit(org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration) - */ - public void endVisit(AnnotationTypeMemberDeclaration node) { - endVisitNode(node); - } - /* (non-Javadoc) * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#endVisit(org.eclipse.wst.jsdt.core.dom.BlockComment) */ public void endVisit(BlockComment node) { @@ -712,42 +644,18 @@ endVisitNode(node); } /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#endVisit(org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration) - */ - public void endVisit(EnumConstantDeclaration node) { - endVisitNode(node); - } - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#endVisit(org.eclipse.wst.jsdt.core.dom.EnumDeclaration) - */ - public void endVisit(EnumDeclaration node) { - endVisitNode(node); - } - /* (non-Javadoc) * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#endVisit(org.eclipse.wst.jsdt.core.dom.LineComment) */ public void endVisit(LineComment node) { endVisitNode(node); } /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#endVisit(org.eclipse.wst.jsdt.core.dom.MarkerAnnotation) - */ - public void endVisit(MarkerAnnotation node) { - endVisitNode(node); - } - /* (non-Javadoc) * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#endVisit(org.eclipse.wst.jsdt.core.dom.MemberRef) */ public void endVisit(MemberRef node) { endVisitNode(node); } /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#endVisit(org.eclipse.wst.jsdt.core.dom.MemberValuePair) - */ - public void endVisit(MemberValuePair node) { - endVisitNode(node); - } - /* (non-Javadoc) * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#endVisit(org.eclipse.wst.jsdt.core.dom.FunctionRef) */ public void endVisit(FunctionRef node) { @@ -766,12 +674,6 @@ endVisitNode(node); } /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#endVisit(org.eclipse.wst.jsdt.core.dom.NormalAnnotation) - */ - public void endVisit(NormalAnnotation node) { - endVisitNode(node); - } - /* (non-Javadoc) * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#endVisit(org.eclipse.wst.jsdt.core.dom.ParameterizedType) */ public void endVisit(ParameterizedType node) { @@ -784,12 +686,6 @@ endVisitNode(node); } /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#endVisit(org.eclipse.wst.jsdt.core.dom.SingleMemberAnnotation) - */ - public void endVisit(SingleMemberAnnotation node) { - endVisitNode(node); - } - /* (non-Javadoc) * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#endVisit(org.eclipse.wst.jsdt.core.dom.TagElement) */ public void endVisit(TagElement node) {
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/HierarchicalASTVisitor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/HierarchicalASTVisitor.java index 68c54fc..6bcec87 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/HierarchicalASTVisitor.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/HierarchicalASTVisitor.java
@@ -10,7 +10,98 @@ *******************************************************************************/ package org.eclipse.wst.jsdt.internal.corext.dom; -import org.eclipse.wst.jsdt.core.dom.*; +import org.eclipse.wst.jsdt.core.dom.ASTNode; +import org.eclipse.wst.jsdt.core.dom.ASTVisitor; +import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; +import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; +import org.eclipse.wst.jsdt.core.dom.ArrayAccess; +import org.eclipse.wst.jsdt.core.dom.ArrayCreation; +import org.eclipse.wst.jsdt.core.dom.ArrayInitializer; +import org.eclipse.wst.jsdt.core.dom.ArrayType; +import org.eclipse.wst.jsdt.core.dom.AssertStatement; +import org.eclipse.wst.jsdt.core.dom.Assignment; +import org.eclipse.wst.jsdt.core.dom.Block; +import org.eclipse.wst.jsdt.core.dom.BlockComment; +import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; +import org.eclipse.wst.jsdt.core.dom.BooleanLiteral; +import org.eclipse.wst.jsdt.core.dom.BreakStatement; +import org.eclipse.wst.jsdt.core.dom.CastExpression; +import org.eclipse.wst.jsdt.core.dom.CatchClause; +import org.eclipse.wst.jsdt.core.dom.CharacterLiteral; +import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; +import org.eclipse.wst.jsdt.core.dom.Comment; +import org.eclipse.wst.jsdt.core.dom.ConditionalExpression; +import org.eclipse.wst.jsdt.core.dom.ConstructorInvocation; +import org.eclipse.wst.jsdt.core.dom.ContinueStatement; +import org.eclipse.wst.jsdt.core.dom.DoStatement; +import org.eclipse.wst.jsdt.core.dom.EmptyStatement; +import org.eclipse.wst.jsdt.core.dom.EnhancedForStatement; +import org.eclipse.wst.jsdt.core.dom.Expression; +import org.eclipse.wst.jsdt.core.dom.ExpressionStatement; +import org.eclipse.wst.jsdt.core.dom.FieldAccess; +import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; +import org.eclipse.wst.jsdt.core.dom.ForInStatement; +import org.eclipse.wst.jsdt.core.dom.ForStatement; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionExpression; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.FunctionRef; +import org.eclipse.wst.jsdt.core.dom.FunctionRefParameter; +import org.eclipse.wst.jsdt.core.dom.IfStatement; +import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; +import org.eclipse.wst.jsdt.core.dom.InfixExpression; +import org.eclipse.wst.jsdt.core.dom.Initializer; +import org.eclipse.wst.jsdt.core.dom.InstanceofExpression; +import org.eclipse.wst.jsdt.core.dom.JSdoc; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; +import org.eclipse.wst.jsdt.core.dom.LabeledStatement; +import org.eclipse.wst.jsdt.core.dom.LineComment; +import org.eclipse.wst.jsdt.core.dom.ListExpression; +import org.eclipse.wst.jsdt.core.dom.MemberRef; +import org.eclipse.wst.jsdt.core.dom.Modifier; +import org.eclipse.wst.jsdt.core.dom.Name; +import org.eclipse.wst.jsdt.core.dom.NullLiteral; +import org.eclipse.wst.jsdt.core.dom.NumberLiteral; +import org.eclipse.wst.jsdt.core.dom.ObjectLiteral; +import org.eclipse.wst.jsdt.core.dom.ObjectLiteralField; +import org.eclipse.wst.jsdt.core.dom.PackageDeclaration; +import org.eclipse.wst.jsdt.core.dom.ParameterizedType; +import org.eclipse.wst.jsdt.core.dom.ParenthesizedExpression; +import org.eclipse.wst.jsdt.core.dom.PostfixExpression; +import org.eclipse.wst.jsdt.core.dom.PrefixExpression; +import org.eclipse.wst.jsdt.core.dom.PrimitiveType; +import org.eclipse.wst.jsdt.core.dom.QualifiedName; +import org.eclipse.wst.jsdt.core.dom.QualifiedType; +import org.eclipse.wst.jsdt.core.dom.RegularExpressionLiteral; +import org.eclipse.wst.jsdt.core.dom.ReturnStatement; +import org.eclipse.wst.jsdt.core.dom.SimpleName; +import org.eclipse.wst.jsdt.core.dom.SimpleType; +import org.eclipse.wst.jsdt.core.dom.SingleVariableDeclaration; +import org.eclipse.wst.jsdt.core.dom.Statement; +import org.eclipse.wst.jsdt.core.dom.StringLiteral; +import org.eclipse.wst.jsdt.core.dom.SuperConstructorInvocation; +import org.eclipse.wst.jsdt.core.dom.SuperFieldAccess; +import org.eclipse.wst.jsdt.core.dom.SuperMethodInvocation; +import org.eclipse.wst.jsdt.core.dom.SwitchCase; +import org.eclipse.wst.jsdt.core.dom.SwitchStatement; +import org.eclipse.wst.jsdt.core.dom.TagElement; +import org.eclipse.wst.jsdt.core.dom.TextElement; +import org.eclipse.wst.jsdt.core.dom.ThisExpression; +import org.eclipse.wst.jsdt.core.dom.ThrowStatement; +import org.eclipse.wst.jsdt.core.dom.TryStatement; +import org.eclipse.wst.jsdt.core.dom.Type; +import org.eclipse.wst.jsdt.core.dom.TypeDeclaration; +import org.eclipse.wst.jsdt.core.dom.TypeDeclarationStatement; +import org.eclipse.wst.jsdt.core.dom.TypeLiteral; +import org.eclipse.wst.jsdt.core.dom.TypeParameter; +import org.eclipse.wst.jsdt.core.dom.UndefinedLiteral; +import org.eclipse.wst.jsdt.core.dom.VariableDeclaration; +import org.eclipse.wst.jsdt.core.dom.VariableDeclarationExpression; +import org.eclipse.wst.jsdt.core.dom.VariableDeclarationFragment; +import org.eclipse.wst.jsdt.core.dom.VariableDeclarationStatement; +import org.eclipse.wst.jsdt.core.dom.WhileStatement; +import org.eclipse.wst.jsdt.core.dom.WildcardType; +import org.eclipse.wst.jsdt.core.dom.WithStatement; /** * <p>This class provides a convenient behaviour-only @@ -98,19 +189,6 @@ endVisit((BodyDeclaration) node); } - public boolean visit(AnnotationTypeDeclaration node) { - return visit((AbstractTypeDeclaration) node); - } - public void endVisit(AnnotationTypeDeclaration node) { - endVisit((AbstractTypeDeclaration) node); - } - - public boolean visit(EnumDeclaration node) { - return visit((AbstractTypeDeclaration) node); - } - public void endVisit(EnumDeclaration node) { - endVisit((AbstractTypeDeclaration) node); - } public boolean visit(TypeDeclaration node) { return visit((AbstractTypeDeclaration) node); @@ -120,19 +198,7 @@ } //---- End AbstractTypeDeclaration Hierarchy --------------------------- - public boolean visit(AnnotationTypeMemberDeclaration node) { - return visit((BodyDeclaration) node); - } - public void endVisit(AnnotationTypeMemberDeclaration node) { - endVisit((BodyDeclaration) node); - } - - public boolean visit(EnumConstantDeclaration node) { - return visit((BodyDeclaration) node); - } - public void endVisit(EnumConstantDeclaration node) { - endVisit((BodyDeclaration) node); - } + public boolean visit(FieldDeclaration node) { return visit((BodyDeclaration) node); @@ -213,36 +279,7 @@ endVisit((ASTNode) node); } - //---- Begin Annotation Hierarchy ---------------------------------- - public boolean visit(Annotation node) { - return visit((Expression) node); - } - public void endVisit(Annotation node) { - endVisit((Expression) node); - } - - public boolean visit(MarkerAnnotation node) { - return visit((Annotation) node); - } - public void endVisit(MarkerAnnotation node) { - endVisit((Annotation) node); - } - - public boolean visit(NormalAnnotation node) { - return visit((Annotation) node); - } - public void endVisit(NormalAnnotation node) { - endVisit((Annotation) node); - } - - public boolean visit(SingleMemberAnnotation node) { - return visit((Annotation) node); - } - public void endVisit(SingleMemberAnnotation node) { - endVisit((Annotation) node); - } - - //---- End Annotation Hierarchy ----------------------------- + public boolean visit(ArrayAccess node) { return visit((Expression) node); @@ -491,12 +528,6 @@ endVisit((ASTNode) node); } -public boolean visit(MemberValuePair node) { - return visit((ASTNode) node); -} -public void endVisit(MemberValuePair node) { - endVisit((ASTNode) node); -} public boolean visit(FunctionRef node) { return visit((ASTNode) node);
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/LinkedNodeFinder.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/LinkedNodeFinder.java index 97c8a70..3b7d87a 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/LinkedNodeFinder.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/LinkedNodeFinder.java
@@ -16,17 +16,15 @@ import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.BreakStatement; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.ContinueStatement; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.LabeledStatement; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.SimpleName; import org.eclipse.wst.jsdt.core.dom.TypeDeclaration; @@ -248,20 +246,6 @@ return true; } - public boolean visit(EnumDeclaration node) { - if (fBinding.getKind() == IBinding.METHOD) { - IFunctionBinding binding= (IFunctionBinding) fBinding; - if (binding.isConstructor() && binding.getDeclaringClass() == node.resolveBinding()) { - fResult.add(node.getName()); - } - } - return true; - } - - public boolean visit(AnnotationTypeDeclaration node) { - // annotation types can not have a constructor - return true; - } public boolean visit(SimpleName node) { IBinding binding= node.resolveBinding();
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/ModifierRewrite.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/ModifierRewrite.java index b76b623..420e6ff 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/ModifierRewrite.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/dom/ModifierRewrite.java
@@ -14,10 +14,6 @@ import org.eclipse.text.edits.TextEditGroup; import org.eclipse.wst.jsdt.core.dom.ASTNode; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.Modifier; @@ -65,14 +61,6 @@ return rewrite.getListRewrite(declNode, SingleVariableDeclaration.MODIFIERS2_PROPERTY); case ASTNode.TYPE_DECLARATION: return rewrite.getListRewrite(declNode, TypeDeclaration.MODIFIERS2_PROPERTY); - case ASTNode.ENUM_DECLARATION: - return rewrite.getListRewrite(declNode, EnumDeclaration.MODIFIERS2_PROPERTY); - case ASTNode.ANNOTATION_TYPE_DECLARATION: - return rewrite.getListRewrite(declNode, AnnotationTypeDeclaration.MODIFIERS2_PROPERTY); - case ASTNode.ENUM_CONSTANT_DECLARATION: - return rewrite.getListRewrite(declNode, EnumConstantDeclaration.MODIFIERS2_PROPERTY); - case ASTNode.ANNOTATION_TYPE_MEMBER_DECLARATION: - return rewrite.getListRewrite(declNode, AnnotationTypeMemberDeclaration.MODIFIERS2_PROPERTY); default: throw new IllegalArgumentException("node has no modifiers: " + declNode.getClass().getName()); //$NON-NLS-1$ }
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/TypeContextChecker.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/TypeContextChecker.java index bd2c698..ae391a6 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/TypeContextChecker.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/TypeContextChecker.java
@@ -26,9 +26,9 @@ import org.eclipse.jface.text.IDocument; import org.eclipse.ltk.core.refactoring.RefactoringStatus; import org.eclipse.wst.jsdt.core.Flags; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; -import org.eclipse.wst.jsdt.core.IJavaScriptProject; import org.eclipse.wst.jsdt.core.IFunction; +import org.eclipse.wst.jsdt.core.IJavaScriptProject; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IPackageFragment; import org.eclipse.wst.jsdt.core.ISourceRange; import org.eclipse.wst.jsdt.core.IType; @@ -41,19 +41,16 @@ import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTParser; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.ArrayType; import org.eclipse.wst.jsdt.core.dom.Block; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.IExtendedModifier; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.Name; import org.eclipse.wst.jsdt.core.dom.PackageDeclaration; @@ -187,8 +184,6 @@ for (int i= 0; i < parameterCount; i++) typeNodes[i]= ((SingleVariableDeclaration) parameters.get(i)).getType(); - } else if (method instanceof AnnotationTypeMemberDeclaration) { - typeNodes[0]= ((AnnotationTypeMemberDeclaration) method).getType(); } for (int i= 0; i < types.length; i++) { @@ -598,22 +593,9 @@ List superInterfaces= type.superInterfaceTypes(); appendSuperInterfaces(buf, superInterfaces); - } else if (decl instanceof AnnotationTypeDeclaration) { - AnnotationTypeDeclaration annotation= (AnnotationTypeDeclaration) decl; - buf.append("@interface "); //$NON-NLS-1$ - buf.append(annotation.getName().getIdentifier()); - - } else if (decl instanceof EnumDeclaration) { - EnumDeclaration enumDecl= (EnumDeclaration) decl; - buf.append("enum "); //$NON-NLS-1$ - buf.append(enumDecl.getName().getIdentifier()); - List superInterfaces= enumDecl.superInterfaceTypes(); - appendSuperInterfaces(buf, superInterfaces); } buf.append("{\n"); //$NON-NLS-1$ - if (decl instanceof EnumDeclaration) - buf.append(";\n"); //$NON-NLS-1$ fillWithTypeStubs(bufBefore, bufAfter, focalPosition, decl.bodyDeclarations()); buf= decl.getStartPosition() + decl.getLength() < focalPosition ? bufBefore : bufAfter; buf.append("}\n"); //$NON-NLS-1$
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/AstMatchingNodeFinder.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/AstMatchingNodeFinder.java index 6f23db6..31c7d32 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/AstMatchingNodeFinder.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/AstMatchingNodeFinder.java
@@ -16,8 +16,6 @@ import org.eclipse.wst.jsdt.core.dom.ASTMatcher; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.ArrayAccess; import org.eclipse.wst.jsdt.core.dom.ArrayCreation; @@ -33,39 +31,34 @@ import org.eclipse.wst.jsdt.core.dom.CatchClause; import org.eclipse.wst.jsdt.core.dom.CharacterLiteral; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.ConditionalExpression; import org.eclipse.wst.jsdt.core.dom.ConstructorInvocation; import org.eclipse.wst.jsdt.core.dom.ContinueStatement; import org.eclipse.wst.jsdt.core.dom.DoStatement; import org.eclipse.wst.jsdt.core.dom.EmptyStatement; import org.eclipse.wst.jsdt.core.dom.EnhancedForStatement; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.ExpressionStatement; import org.eclipse.wst.jsdt.core.dom.FieldAccess; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; import org.eclipse.wst.jsdt.core.dom.ForInStatement; import org.eclipse.wst.jsdt.core.dom.ForStatement; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.FunctionExpression; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.FunctionRef; +import org.eclipse.wst.jsdt.core.dom.FunctionRefParameter; import org.eclipse.wst.jsdt.core.dom.IfStatement; import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; import org.eclipse.wst.jsdt.core.dom.InfixExpression; import org.eclipse.wst.jsdt.core.dom.Initializer; import org.eclipse.wst.jsdt.core.dom.InstanceofExpression; import org.eclipse.wst.jsdt.core.dom.JSdoc; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.LabeledStatement; import org.eclipse.wst.jsdt.core.dom.LineComment; import org.eclipse.wst.jsdt.core.dom.ListExpression; -import org.eclipse.wst.jsdt.core.dom.MarkerAnnotation; import org.eclipse.wst.jsdt.core.dom.MemberRef; -import org.eclipse.wst.jsdt.core.dom.MemberValuePair; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; -import org.eclipse.wst.jsdt.core.dom.FunctionRef; -import org.eclipse.wst.jsdt.core.dom.FunctionRefParameter; import org.eclipse.wst.jsdt.core.dom.Modifier; -import org.eclipse.wst.jsdt.core.dom.NormalAnnotation; import org.eclipse.wst.jsdt.core.dom.NullLiteral; import org.eclipse.wst.jsdt.core.dom.NumberLiteral; import org.eclipse.wst.jsdt.core.dom.ObjectLiteral; @@ -82,7 +75,6 @@ import org.eclipse.wst.jsdt.core.dom.ReturnStatement; import org.eclipse.wst.jsdt.core.dom.SimpleName; import org.eclipse.wst.jsdt.core.dom.SimpleType; -import org.eclipse.wst.jsdt.core.dom.SingleMemberAnnotation; import org.eclipse.wst.jsdt.core.dom.SingleVariableDeclaration; import org.eclipse.wst.jsdt.core.dom.StringLiteral; import org.eclipse.wst.jsdt.core.dom.SuperConstructorInvocation; @@ -556,18 +548,6 @@ return super.visit(node); } - public boolean visit(AnnotationTypeDeclaration node) { - if (node.subtreeMatch(fMatcher, fNodeToMatch)) - return matches(node); - return super.visit(node); - } - - public boolean visit(AnnotationTypeMemberDeclaration node) { - if (node.subtreeMatch(fMatcher, fNodeToMatch)) - return matches(node); - return super.visit(node); - } - public boolean visit(BlockComment node) { if (node.subtreeMatch(fMatcher, fNodeToMatch)) return matches(node); @@ -580,42 +560,18 @@ return super.visit(node); } - public boolean visit(EnumConstantDeclaration node) { - if (node.subtreeMatch(fMatcher, fNodeToMatch)) - return matches(node); - return super.visit(node); - } - - public boolean visit(EnumDeclaration node) { - if (node.subtreeMatch(fMatcher, fNodeToMatch)) - return matches(node); - return super.visit(node); - } - public boolean visit(LineComment node) { if (node.subtreeMatch(fMatcher, fNodeToMatch)) return matches(node); return super.visit(node); } - public boolean visit(MarkerAnnotation node) { - if (node.subtreeMatch(fMatcher, fNodeToMatch)) - return matches(node); - return super.visit(node); - } - public boolean visit(MemberRef node) { if (node.subtreeMatch(fMatcher, fNodeToMatch)) return matches(node); return super.visit(node); } - public boolean visit(MemberValuePair node) { - if (node.subtreeMatch(fMatcher, fNodeToMatch)) - return matches(node); - return super.visit(node); - } - public boolean visit(FunctionRef node) { if (node.subtreeMatch(fMatcher, fNodeToMatch)) return matches(node); @@ -634,12 +590,6 @@ return super.visit(node); } - public boolean visit(NormalAnnotation node) { - if (node.subtreeMatch(fMatcher, fNodeToMatch)) - return matches(node); - return super.visit(node); - } - public boolean visit(ParameterizedType node) { if (node.subtreeMatch(fMatcher, fNodeToMatch)) return matches(node); @@ -652,12 +602,6 @@ return super.visit(node); } - public boolean visit(SingleMemberAnnotation node) { - if (node.subtreeMatch(fMatcher, fNodeToMatch)) - return matches(node); - return super.visit(node); - } - public boolean visit(TagElement node) { if (node.subtreeMatch(fMatcher, fNodeToMatch)) return matches(node);
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/ExtractMethodRefactoring.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/ExtractMethodRefactoring.java index d1ea89c..ecb5142 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/ExtractMethodRefactoring.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/ExtractMethodRefactoring.java
@@ -44,31 +44,29 @@ import org.eclipse.text.edits.MultiTextEdit; import org.eclipse.text.edits.TextEdit; import org.eclipse.text.edits.TextEditGroup; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IJavaScriptProject; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.dom.AST; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.Assignment; import org.eclipse.wst.jsdt.core.dom.Block; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; import org.eclipse.wst.jsdt.core.dom.ChildListPropertyDescriptor; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.Expression; import org.eclipse.wst.jsdt.core.dom.ExpressionStatement; import org.eclipse.wst.jsdt.core.dom.FieldAccess; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; import org.eclipse.wst.jsdt.core.dom.JSdoc; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.QualifiedName; import org.eclipse.wst.jsdt.core.dom.ReturnStatement; @@ -194,12 +192,6 @@ public boolean visit(TypeDeclaration node) { return visitType(node); } - public boolean visit(AnnotationTypeDeclaration node) { - return visitType(node); - } - public boolean visit(EnumDeclaration node) { - return visitType(node); - } private boolean visitType(AbstractTypeDeclaration node) { result.add(node.getName().getIdentifier()); // don't dive into type declaration since they open a new
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/InlineConstantRefactoring.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/InlineConstantRefactoring.java index 37b1297..4b36263 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/InlineConstantRefactoring.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/InlineConstantRefactoring.java
@@ -38,10 +38,10 @@ import org.eclipse.text.edits.TextEdit; import org.eclipse.text.edits.TextEditGroup; import org.eclipse.wst.jsdt.core.Flags; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IField; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IJavaScriptProject; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.ISourceRange; import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.dom.AST; @@ -54,17 +54,16 @@ import org.eclipse.wst.jsdt.core.dom.ArrayType; import org.eclipse.wst.jsdt.core.dom.Assignment; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; import org.eclipse.wst.jsdt.core.dom.Expression; import org.eclipse.wst.jsdt.core.dom.FieldAccess; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.Name; import org.eclipse.wst.jsdt.core.dom.ParenthesizedExpression; @@ -616,8 +615,6 @@ return null; if (node instanceof FieldAccess) node= ((FieldAccess) node).getName(); - if (node.getParent() instanceof EnumConstantDeclaration) - return null; if (!(node instanceof Name)) return null; Name name= (Name) node;
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/LocalTypeAnalyzer.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/LocalTypeAnalyzer.java index 050d54f..b2e09b8 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/LocalTypeAnalyzer.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/LocalTypeAnalyzer.java
@@ -17,9 +17,7 @@ import org.eclipse.ltk.core.refactoring.RefactoringStatus; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.SimpleName; @@ -63,14 +61,6 @@ return visitType(node); } - public boolean visit(AnnotationTypeDeclaration node) { - return visitType(node); - } - - public boolean visit(EnumDeclaration node) { - return visitType(node); - } - private boolean visitType(AbstractTypeDeclaration node) { int mode= fSelection.getVisitSelectionMode(node); switch (mode) {
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/SnippetFinder.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/SnippetFinder.java index 59222e6..81b6c92 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/SnippetFinder.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/SnippetFinder.java
@@ -20,14 +20,12 @@ import org.eclipse.wst.jsdt.core.dom.ASTMatcher; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.Assignment; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.SimpleName; import org.eclipse.wst.jsdt.core.dom.TypeDeclaration; import org.eclipse.wst.jsdt.internal.corext.dom.ASTNodes; @@ -178,28 +176,6 @@ super.endVisit(node); } - public boolean visit(EnumDeclaration node) { - if (++fTypes > 1) - return false; - return super.visit(node); - } - - public void endVisit(EnumDeclaration node) { - --fTypes; - super.endVisit(node); - } - - public boolean visit(AnnotationTypeDeclaration node) { - if (++fTypes > 1) - return false; - return super.visit(node); - } - - public void endVisit(AnnotationTypeDeclaration node) { - --fTypes; - super.endVisit(node); - } - protected boolean visitNode(ASTNode node) { if (matches(node)) { return false;
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/SourceAnalyzer.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/SourceAnalyzer.java index 25efffb..9ef3d0f 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/SourceAnalyzer.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/SourceAnalyzer.java
@@ -29,20 +29,18 @@ import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.ArrayAccess; import org.eclipse.wst.jsdt.core.dom.Block; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.Expression; import org.eclipse.wst.jsdt.core.dom.FieldAccess; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.Name; import org.eclipse.wst.jsdt.core.dom.ReturnStatement; @@ -93,12 +91,6 @@ } return true; } - public boolean visit(EnumDeclaration node) { - return false; - } - public boolean visit(AnnotationTypeDeclaration node) { - return false; - } public boolean visit(TypeDeclaration node) { return false; } @@ -159,18 +151,6 @@ public void endVisit(TypeDeclaration node) { fTypeCounter--; } - public boolean visit(EnumDeclaration node) { - return visitType(node); - } - public void endVisit(EnumDeclaration node) { - fTypeCounter--; - } - public boolean visit(AnnotationTypeDeclaration node) { - return visitType(node); - } - public void endVisit(AnnotationTypeDeclaration node) { - fTypeCounter--; - } private boolean visitType(AbstractTypeDeclaration node) { if (fTypeCounter++ == 0) { addNameReference(node.getName());
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/TargetProvider.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/TargetProvider.java index 38b7faa..21d2437 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/TargetProvider.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/TargetProvider.java
@@ -24,27 +24,25 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.SubProgressMonitor; import org.eclipse.ltk.core.refactoring.RefactoringStatus; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; -import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IFunction; +import org.eclipse.wst.jsdt.core.IJavaScriptElement; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IType; import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.dom.AST; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; import org.eclipse.wst.jsdt.core.dom.ConstructorInvocation; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.Initializer; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.SuperMethodInvocation; import org.eclipse.wst.jsdt.core.dom.TypeDeclaration; import org.eclipse.wst.jsdt.core.search.IJavaScriptSearchConstants; @@ -264,18 +262,7 @@ public void endVisit(TypeDeclaration node) { endVisitType(); } - public boolean visit(EnumDeclaration node) { - return visitType(); - } - public void endVisit(EnumDeclaration node) { - endVisitType(); - } - public boolean visit(AnnotationTypeDeclaration node) { - return visitType(); - } - public void endVisit(AnnotationTypeDeclaration node) { - endVisitType(); - } + private boolean visitType() { fBodies.add(fCurrent); fCurrent= null;
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/flow/FlowAnalyzer.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/flow/FlowAnalyzer.java index f49fe82..dfa5814 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/flow/FlowAnalyzer.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/code/flow/FlowAnalyzer.java
@@ -18,8 +18,6 @@ import org.eclipse.jface.text.IRegion; import org.eclipse.jface.text.Region; import org.eclipse.wst.jsdt.core.dom.ASTNode; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.ArrayAccess; import org.eclipse.wst.jsdt.core.dom.ArrayCreation; @@ -34,21 +32,20 @@ import org.eclipse.wst.jsdt.core.dom.CatchClause; import org.eclipse.wst.jsdt.core.dom.CharacterLiteral; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.ConditionalExpression; import org.eclipse.wst.jsdt.core.dom.ConstructorInvocation; import org.eclipse.wst.jsdt.core.dom.ContinueStatement; import org.eclipse.wst.jsdt.core.dom.DoStatement; import org.eclipse.wst.jsdt.core.dom.EmptyStatement; import org.eclipse.wst.jsdt.core.dom.EnhancedForStatement; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.Expression; import org.eclipse.wst.jsdt.core.dom.ExpressionStatement; import org.eclipse.wst.jsdt.core.dom.FieldAccess; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; import org.eclipse.wst.jsdt.core.dom.ForInStatement; import org.eclipse.wst.jsdt.core.dom.ForStatement; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; @@ -59,14 +56,10 @@ import org.eclipse.wst.jsdt.core.dom.Initializer; import org.eclipse.wst.jsdt.core.dom.InstanceofExpression; import org.eclipse.wst.jsdt.core.dom.JSdoc; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.LabeledStatement; import org.eclipse.wst.jsdt.core.dom.ListExpression; -import org.eclipse.wst.jsdt.core.dom.MarkerAnnotation; -import org.eclipse.wst.jsdt.core.dom.MemberValuePair; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.Name; -import org.eclipse.wst.jsdt.core.dom.NormalAnnotation; import org.eclipse.wst.jsdt.core.dom.NullLiteral; import org.eclipse.wst.jsdt.core.dom.NumberLiteral; import org.eclipse.wst.jsdt.core.dom.PackageDeclaration; @@ -80,7 +73,6 @@ import org.eclipse.wst.jsdt.core.dom.ReturnStatement; import org.eclipse.wst.jsdt.core.dom.SimpleName; import org.eclipse.wst.jsdt.core.dom.SimpleType; -import org.eclipse.wst.jsdt.core.dom.SingleMemberAnnotation; import org.eclipse.wst.jsdt.core.dom.SingleVariableDeclaration; import org.eclipse.wst.jsdt.core.dom.Statement; import org.eclipse.wst.jsdt.core.dom.StringLiteral; @@ -376,20 +368,6 @@ //---- concret endVisit methods --------------------------------------------------- - public void endVisit(AnnotationTypeDeclaration node) { - if (skipNode(node)) - return; - GenericSequentialFlowInfo info= processSequential(node, node.bodyDeclarations()); - info.setNoReturn(); - } - - public void endVisit(AnnotationTypeMemberDeclaration node) { - if (skipNode(node)) - return; - GenericSequentialFlowInfo info= processSequential(node, node.getType(), node.getDefault()); - info.setNoReturn(); - } - public void endVisit(AnonymousClassDeclaration node) { if (skipNode(node)) return; @@ -553,21 +531,6 @@ forInfo.removeLabel(null); } - public void endVisit(EnumConstantDeclaration node) { - if (skipNode(node)) - return; - GenericSequentialFlowInfo info= processSequential(node, node.arguments()); - process(info, node.getAnonymousClassDeclaration()); - } - - public void endVisit(EnumDeclaration node) { - if (skipNode(node)) - return; - GenericSequentialFlowInfo info= processSequential(node, node.superInterfaceTypes()); - process(info, node.enumConstants()); - process(info, node.bodyDeclarations()); - info.setNoReturn(); - } public void endVisit(ExpressionStatement node) { if (skipNode(node)) @@ -664,26 +627,7 @@ processSequential(node, node.expressions()); } - public void endVisit(MarkerAnnotation node) { - // nothing to do for marker annotations; - } - - public void endVisit(MemberValuePair node) { - if (skipNode(node)) - return; - FlowInfo name= getFlowInfo(node.getName()); - FlowInfo value= getFlowInfo(node.getValue()); - if (name instanceof LocalFlowInfo) { - LocalFlowInfo llhs= (LocalFlowInfo)name; - llhs.setWriteAccess(fFlowContext); - } - GenericSequentialFlowInfo info= createSequential(node); - // first process value and then name. - info.merge(value, fFlowContext); - info.merge(name, fFlowContext); - - } public void endVisit(FunctionDeclaration node) { if (skipNode(node)) @@ -697,13 +641,7 @@ public void endVisit(FunctionInvocation node) { endVisitMethodInvocation(node, node.getExpression(), node.arguments(), getMethodBinding(node.getName())); } - - public void endVisit(NormalAnnotation node) { - if (skipNode(node)) - return; - GenericSequentialFlowInfo info= processSequential(node, node.getTypeName()); - process(info, node.values()); - } + public void endVisit(NullLiteral node) { // Leaf node. @@ -800,11 +738,6 @@ assignFlowInfo(node, node.getName()); } - public void endVisit(SingleMemberAnnotation node) { - if (skipNode(node)) - return; - assignFlowInfo(node, node.getValue()); - } public void endVisit(SingleVariableDeclaration node) { if (skipNode(node))
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/rename/RenameTypeParameterProcessor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/rename/RenameTypeParameterProcessor.java index 99a1251..3a3e61e 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/rename/RenameTypeParameterProcessor.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/rename/RenameTypeParameterProcessor.java
@@ -22,21 +22,19 @@ import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext; import org.eclipse.ltk.core.refactoring.participants.RefactoringArguments; import org.eclipse.ltk.core.refactoring.participants.RenameArguments; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; +import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IJavaScriptProject; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IMember; -import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.ISourceRange; import org.eclipse.wst.jsdt.core.IType; import org.eclipse.wst.jsdt.core.ITypeParameter; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.SimpleName; import org.eclipse.wst.jsdt.core.dom.TypeDeclaration; import org.eclipse.wst.jsdt.core.refactoring.IJavaScriptRefactorings; @@ -118,23 +116,6 @@ return fRewrite.createChange(); } - public final boolean visit(final AnnotationTypeDeclaration node) { - final String name= node.getName().getIdentifier(); - if (name.equals(getNewElementName())) { - fStatus.addError(Messages.format(RefactoringCoreMessages.RenameTypeParameterRefactoring_type_parameter_inner_class_clash, new String[] { name}), JavaStatusContext.create(fTypeParameter.getDeclaringMember().getJavaScriptUnit(), new SourceRange(node))); - return false; - } - return true; - } - - public final boolean visit(final EnumDeclaration node) { - final String name= node.getName().getIdentifier(); - if (name.equals(getNewElementName())) { - fStatus.addError(Messages.format(RefactoringCoreMessages.RenameTypeParameterRefactoring_type_parameter_inner_class_clash, new String[] { name}), JavaStatusContext.create(fTypeParameter.getDeclaringMember().getJavaScriptUnit(), new SourceRange(node))); - return false; - } - return true; - } public final boolean visit(final SimpleName node) { final ITypeBinding binding= node.resolveTypeBinding();
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/reorg/ASTNodeDeleteUtil.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/reorg/ASTNodeDeleteUtil.java index 5a904f0..ec82343 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/reorg/ASTNodeDeleteUtil.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/reorg/ASTNodeDeleteUtil.java
@@ -24,23 +24,19 @@ import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.VariableDeclarationFragment; import org.eclipse.wst.jsdt.core.dom.VariableDeclarationStatement; import org.eclipse.wst.jsdt.internal.corext.dom.GenericVisitor; import org.eclipse.wst.jsdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; import org.eclipse.wst.jsdt.internal.corext.refactoring.structure.CompilationUnitRewrite; -import org.eclipse.wst.jsdt.internal.corext.util.JdtFlags; public class ASTNodeDeleteUtil { private static ASTNode[] getNodesToDelete(IJavaScriptElement element, JavaScriptUnit cuNode) throws JavaScriptModelException { // fields are different because you don't delete the whole declaration but only a fragment of it if (element.getElementType() == IJavaScriptElement.FIELD) { - if (JdtFlags.isEnum((IField) element)) - return new ASTNode[] { ASTNodeSearchUtil.getEnumConstantDeclaration((IField) element, cuNode)}; - else return new ASTNode[] { ASTNodeSearchUtil.getFieldDeclarationFragmentNode((IField) element, cuNode)}; } if (element.getElementType() == IJavaScriptElement.TYPE && ((IType) element).isLocal()) {
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/reorg/ReorgPolicyFactory.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/reorg/ReorgPolicyFactory.java index 1059ff6..01e6f62 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/reorg/ReorgPolicyFactory.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/reorg/ReorgPolicyFactory.java
@@ -56,16 +56,16 @@ import org.eclipse.ltk.core.refactoring.participants.SharableParticipants; import org.eclipse.ltk.core.refactoring.participants.ValidateEditChecker; import org.eclipse.wst.jsdt.core.IClassFile; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IField; +import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IImportContainer; import org.eclipse.wst.jsdt.core.IImportDeclaration; import org.eclipse.wst.jsdt.core.IInitializer; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IJavaScriptModel; import org.eclipse.wst.jsdt.core.IJavaScriptProject; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IMember; -import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IOpenable; import org.eclipse.wst.jsdt.core.IPackageDeclaration; import org.eclipse.wst.jsdt.core.IPackageFragment; @@ -81,14 +81,11 @@ import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; import org.eclipse.wst.jsdt.core.dom.JSdoc; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.PackageDeclaration; -import org.eclipse.wst.jsdt.core.dom.SimpleName; import org.eclipse.wst.jsdt.core.dom.Type; import org.eclipse.wst.jsdt.core.dom.VariableDeclarationFragment; import org.eclipse.wst.jsdt.core.dom.rewrite.ASTRewrite; @@ -2898,9 +2895,6 @@ if (destinationContainer != null) { ListRewrite listRewrite; if (destinationContainer instanceof AbstractTypeDeclaration) { - if (newMember instanceof EnumConstantDeclaration && destinationContainer instanceof EnumDeclaration) - listRewrite= targetRewriter.getASTRewrite().getListRewrite(destinationContainer, EnumDeclaration.ENUM_CONSTANTS_PROPERTY); - else listRewrite= targetRewriter.getASTRewrite().getListRewrite(destinationContainer, ((AbstractTypeDeclaration) destinationContainer).getBodyDeclarationsProperty()); } else listRewrite= targetRewriter.getASTRewrite().getListRewrite(destinationContainer, AnonymousClassDeclaration.BODY_DECLARATIONS_PROPERTY); @@ -2991,14 +2985,6 @@ VariableDeclarationFragment copiedFragment= (VariableDeclarationFragment) ASTNode.copySubtree(targetAst, originalFragment); newDeclaration= targetAst.newFieldDeclaration(copiedFragment); ((FieldDeclaration) newDeclaration).setType((Type) ASTNode.copySubtree(targetAst, fieldDeclaration.getType())); - } else if (bodyDeclaration instanceof EnumConstantDeclaration) { - EnumConstantDeclaration constantDeclaration= (EnumConstantDeclaration) bodyDeclaration; - EnumConstantDeclaration newConstDeclaration= targetAst.newEnumConstantDeclaration(); - newConstDeclaration.setName((SimpleName) ASTNode.copySubtree(targetAst, constantDeclaration.getName())); - AnonymousClassDeclaration anonymousDeclaration= constantDeclaration.getAnonymousClassDeclaration(); - if (anonymousDeclaration != null) - newConstDeclaration.setAnonymousClassDeclaration((AnonymousClassDeclaration) rewrite.createStringPlaceholder(document.get(anonymousDeclaration.getStartPosition(), anonymousDeclaration.getLength()), ASTNode.ANONYMOUS_CLASS_DECLARATION)); - newDeclaration= newConstDeclaration; } else Assert.isTrue(false); if (newDeclaration != null) {
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/ASTNodeSearchUtil.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/ASTNodeSearchUtil.java index ba510e3..3f11a94 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/ASTNodeSearchUtil.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/ASTNodeSearchUtil.java
@@ -15,31 +15,27 @@ import org.eclipse.core.runtime.Assert; import org.eclipse.wst.jsdt.core.IField; +import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IImportContainer; import org.eclipse.wst.jsdt.core.IImportDeclaration; import org.eclipse.wst.jsdt.core.IInitializer; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IMember; -import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IPackageDeclaration; import org.eclipse.wst.jsdt.core.ISourceRange; import org.eclipse.wst.jsdt.core.IType; import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration; import org.eclipse.wst.jsdt.core.dom.Block; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.ConstructorInvocation; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; import org.eclipse.wst.jsdt.core.dom.Initializer; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.PackageDeclaration; import org.eclipse.wst.jsdt.core.dom.SimpleName; import org.eclipse.wst.jsdt.core.dom.SuperConstructorInvocation; @@ -50,7 +46,6 @@ import org.eclipse.wst.jsdt.internal.corext.dom.NodeFinder; import org.eclipse.wst.jsdt.internal.corext.dom.Selection; import org.eclipse.wst.jsdt.internal.corext.dom.SelectionAnalyzer; -import org.eclipse.wst.jsdt.internal.corext.util.JdtFlags; public class ASTNodeSearchUtil { @@ -118,10 +113,6 @@ return (FunctionDeclaration)ASTNodes.getParent(getNameNode(iMethod, cuNode), FunctionDeclaration.class); } - public static AnnotationTypeMemberDeclaration getAnnotationTypeMemberDeclarationNode(IFunction iMethod, JavaScriptUnit cuNode) throws JavaScriptModelException { - return (AnnotationTypeMemberDeclaration) ASTNodes.getParent(getNameNode(iMethod, cuNode), AnnotationTypeMemberDeclaration.class); - } - public static BodyDeclaration getMethodOrAnnotationTypeMemberDeclarationNode(IFunction iMethod, JavaScriptUnit cuNode) throws JavaScriptModelException { // if (JdtFlags.isAnnotation(iMethod.getDeclaringType())) // return getAnnotationTypeMemberDeclarationNode(iMethod, cuNode); @@ -140,24 +131,11 @@ return (FieldDeclaration) ASTNodes.getParent(getNameNode(iField, cuNode), FieldDeclaration.class); } - public static EnumConstantDeclaration getEnumConstantDeclaration(IField iField, JavaScriptUnit cuNode) throws JavaScriptModelException { - return (EnumConstantDeclaration) ASTNodes.getParent(getNameNode(iField, cuNode), EnumConstantDeclaration.class); - } public static BodyDeclaration getFieldOrEnumConstantDeclaration(IField iField, JavaScriptUnit cuNode) throws JavaScriptModelException { - if (JdtFlags.isEnum(iField)) - return getEnumConstantDeclaration(iField, cuNode); - else return getFieldDeclarationNode(iField, cuNode); } - public static EnumDeclaration getEnumDeclarationNode(IType iType, JavaScriptUnit cuNode) throws JavaScriptModelException { - return (EnumDeclaration) ASTNodes.getParent(getNameNode(iType, cuNode), EnumDeclaration.class); - } - - public static AnnotationTypeDeclaration getAnnotationTypeDeclarationNode(IType iType, JavaScriptUnit cuNode) throws JavaScriptModelException { - return (AnnotationTypeDeclaration) ASTNodes.getParent(getNameNode(iType, cuNode), AnnotationTypeDeclaration.class); - } public static BodyDeclaration getBodyDeclarationNode(IMember iMember, JavaScriptUnit cuNode) throws JavaScriptModelException { return (BodyDeclaration) ASTNodes.getParent(getNameNode(iMember, cuNode), BodyDeclaration.class);
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/ChangeSignatureRefactoring.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/ChangeSignatureRefactoring.java index 759e621..5c6bd20 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/ChangeSignatureRefactoring.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/ChangeSignatureRefactoring.java
@@ -37,10 +37,10 @@ import org.eclipse.ltk.core.refactoring.participants.RefactoringArguments; import org.eclipse.text.edits.TextEditGroup; import org.eclipse.wst.jsdt.core.Flags; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; +import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IJavaScriptProject; -import org.eclipse.wst.jsdt.core.IFunction; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IType; import org.eclipse.wst.jsdt.core.ITypeHierarchy; import org.eclipse.wst.jsdt.core.JavaScriptCore; @@ -54,20 +54,18 @@ import org.eclipse.wst.jsdt.core.dom.Block; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.ConstructorInvocation; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.Expression; -import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; -import org.eclipse.wst.jsdt.core.dom.ITypeBinding; -import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; -import org.eclipse.wst.jsdt.core.dom.JSdoc; -import org.eclipse.wst.jsdt.core.dom.MemberRef; import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.FunctionRef; import org.eclipse.wst.jsdt.core.dom.FunctionRefParameter; +import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; +import org.eclipse.wst.jsdt.core.dom.ITypeBinding; +import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; +import org.eclipse.wst.jsdt.core.dom.JSdoc; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; +import org.eclipse.wst.jsdt.core.dom.MemberRef; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.Name; import org.eclipse.wst.jsdt.core.dom.PrimitiveType; @@ -1509,8 +1507,6 @@ private static final boolean BUG_89686= true; //see bug 83693: Search for References to methods/constructors: do ranges include parameter lists? private OccurrenceUpdate createOccurrenceUpdate(ASTNode node, CompilationUnitRewrite cuRewrite, RefactoringStatus result) { - if (BUG_89686 && node instanceof SimpleName && node.getParent() instanceof EnumConstantDeclaration) - node= node.getParent(); if (isReferenceNode(node)) return new ReferenceUpdate(node, cuRewrite, result); @@ -1535,7 +1531,6 @@ case ASTNode.CLASS_INSTANCE_CREATION : case ASTNode.CONSTRUCTOR_INVOCATION : case ASTNode.SUPER_CONSTRUCTOR_INVOCATION : - case ASTNode.ENUM_CONSTANT_DECLARATION : return true; default : @@ -1780,8 +1775,6 @@ if (fNode instanceof SuperConstructorInvocation) return getASTRewrite().getListRewrite(fNode, SuperConstructorInvocation.ARGUMENTS_PROPERTY); - if (fNode instanceof EnumConstantDeclaration) - return getASTRewrite().getListRewrite(fNode, EnumConstantDeclaration.ARGUMENTS_PROPERTY); return null; } @@ -1839,10 +1832,6 @@ return false; //Constructors don't override -> enclosing has not been changed -> no recursion } - if (fNode instanceof EnumConstantDeclaration) { - return false; //cannot define enum constant inside enum constructor - } - Assert.isTrue(false); return false; } @@ -2350,9 +2339,6 @@ } else if (node instanceof ClassInstanceCreation) { ClassInstanceCreation cic= (ClassInstanceCreation) node; return Messages.format(RefactoringCoreMessages.ChangeSignatureRefactoring_anonymous_subclass, new String[]{ASTNodes.asString(cic.getType())}); - } else if (node instanceof EnumConstantDeclaration) { - EnumDeclaration ed= (EnumDeclaration) node.getParent(); - return Messages.format(RefactoringCoreMessages.ChangeSignatureRefactoring_anonymous_subclass, new String[]{ASTNodes.asString(ed.getName())}); } } }
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/ExtractInterfaceProcessor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/ExtractInterfaceProcessor.java index 6433886..d53d125 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/ExtractInterfaceProcessor.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/ExtractInterfaceProcessor.java
@@ -45,12 +45,12 @@ import org.eclipse.ltk.core.refactoring.participants.SharableParticipants; import org.eclipse.text.edits.MalformedTreeException; import org.eclipse.text.edits.TextEdit; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IField; +import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IJavaScriptProject; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IMember; -import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IPackageFragment; import org.eclipse.wst.jsdt.core.ISourceReference; import org.eclipse.wst.jsdt.core.IType; @@ -62,16 +62,14 @@ import org.eclipse.wst.jsdt.core.dom.ASTParser; import org.eclipse.wst.jsdt.core.dom.ASTRequestor; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.Annotation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IExtendedModifier; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.ParameterizedType; import org.eclipse.wst.jsdt.core.dom.SingleVariableDeclaration; @@ -609,7 +607,6 @@ boolean abstractFound= false; ITypeBinding binding= null; Modifier modifier= null; - Annotation annotation= null; IExtendedModifier extended= null; for (final Iterator iterator= declaration.modifiers().iterator(); iterator.hasNext();) { extended= (IExtendedModifier) iterator.next(); @@ -624,11 +621,6 @@ continue; } list.remove(modifier, null); - } else if (extended.isAnnotation()) { - annotation= (Annotation) extended; - binding= annotation.resolveTypeBinding(); - if (binding.getQualifiedName().equals("java.lang.Override")) //$NON-NLS-1$ - list.remove(annotation, null); } } final ModifierRewrite rewriter= ModifierRewrite.create(rewrite, declaration); @@ -687,8 +679,6 @@ final ASTRewrite rewriter= rewrite.getASTRewrite(); if (declaration instanceof TypeDeclaration) rewriter.getListRewrite(declaration, TypeDeclaration.SUPER_INTERFACE_TYPES_PROPERTY).insertLast(type, rewrite.createCategorizedGroupDescription(RefactoringCoreMessages.ExtractInterfaceProcessor_add_super_interface, SET_EXTRACT_INTERFACE)); - else if (declaration instanceof EnumDeclaration) - rewriter.getListRewrite(declaration, EnumDeclaration.SUPER_INTERFACE_TYPES_PROPERTY).insertLast(type, rewrite.createCategorizedGroupDescription(RefactoringCoreMessages.ExtractInterfaceProcessor_add_super_interface, SET_EXTRACT_INTERFACE)); monitor.worked(1); } finally { monitor.done();
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/HierarchyProcessor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/HierarchyProcessor.java index ff17c16..af1902a 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/HierarchyProcessor.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/HierarchyProcessor.java
@@ -34,12 +34,12 @@ import org.eclipse.text.edits.MalformedTreeException; import org.eclipse.text.edits.TextEdit; import org.eclipse.wst.jsdt.core.Flags; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IField; +import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IInitializer; import org.eclipse.wst.jsdt.core.IJavaScriptElement; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IMember; -import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.ISourceRange; import org.eclipse.wst.jsdt.core.IType; import org.eclipse.wst.jsdt.core.ITypeHierarchy; @@ -47,19 +47,16 @@ import org.eclipse.wst.jsdt.core.dom.AST; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; -import org.eclipse.wst.jsdt.core.dom.Annotation; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.Expression; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.IExtendedModifier; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.JSdoc; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.Name; import org.eclipse.wst.jsdt.core.dom.SimpleName; @@ -208,8 +205,6 @@ for (int index= 0, n= oldField.modifiers().size(); index < n; index++) { final IExtendedModifier modifier= (IExtendedModifier) oldField.modifiers().get(index); final List modifiers= newField.modifiers(); - if (modifier.isAnnotation() && !modifiers.contains(modifier)) - modifiers.add(index, ASTNode.copySubtree(ast, (Annotation) modifier)); } } @@ -218,8 +213,6 @@ for (int index= 0, n= oldMethod.modifiers().size(); index < n; index++) { final IExtendedModifier modifier= (IExtendedModifier) oldMethod.modifiers().get(index); final List modifiers= newMethod.modifiers(); - if (modifier.isAnnotation() && !modifiers.contains(modifier)) - modifiers.add(index, ASTNode.copySubtree(ast, (Annotation) modifier)); } } @@ -334,15 +327,6 @@ final ITrackedNodePosition position= rewriter.track(bodyDeclaration); bodyDeclaration.accept(new TypeVariableMapper(rewriter, mapping) { - public final boolean visit(final AnnotationTypeDeclaration node) { - ModifierRewrite.create(fRewrite, bodyDeclaration).setVisibility(Modifier.PROTECTED, null); - return true; - } - - public final boolean visit(final EnumDeclaration node) { - ModifierRewrite.create(fRewrite, bodyDeclaration).setVisibility(Modifier.PROTECTED, null); - return true; - } public final boolean visit(final TypeDeclaration node) { ModifierRewrite.create(fRewrite, bodyDeclaration).setVisibility(Modifier.PROTECTED, null); @@ -455,9 +439,6 @@ final IMember member= (IMember) iterator.next(); ASTNode node= null; if (member instanceof IField) { - if (Flags.isEnum(member.getFlags())) - node= ASTNodeSearchUtil.getEnumConstantDeclaration((IField) member, cuNode); - else node= ASTNodeSearchUtil.getFieldDeclarationFragmentNode((IField) member, cuNode); } else if (member instanceof IType) node= ASTNodeSearchUtil.getAbstractTypeDeclarationNode((IType) member, cuNode);
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/MoveInnerToTopRefactoring.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/MoveInnerToTopRefactoring.java index 622a2a0..a0fcdd7 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/MoveInnerToTopRefactoring.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/MoveInnerToTopRefactoring.java
@@ -36,11 +36,11 @@ import org.eclipse.text.edits.TextEdit; import org.eclipse.text.edits.TextEditGroup; import org.eclipse.wst.jsdt.core.Flags; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IField; +import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IJavaScriptProject; -import org.eclipse.wst.jsdt.core.IFunction; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IType; import org.eclipse.wst.jsdt.core.ITypeHierarchy; import org.eclipse.wst.jsdt.core.ITypeParameter; @@ -54,20 +54,19 @@ import org.eclipse.wst.jsdt.core.dom.Assignment; import org.eclipse.wst.jsdt.core.dom.Block; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.ConstructorInvocation; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.Expression; import org.eclipse.wst.jsdt.core.dom.FieldAccess; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; import org.eclipse.wst.jsdt.core.dom.JSdoc; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.Name; import org.eclipse.wst.jsdt.core.dom.ParameterizedType; @@ -617,8 +616,6 @@ List types= null; if (declaration instanceof TypeDeclaration) types= ((TypeDeclaration) declaration).superInterfaceTypes(); - else if (declaration instanceof EnumDeclaration) - types= ((EnumDeclaration) declaration).superInterfaceTypes(); if (types != null) { for (final Iterator iterator= types.iterator(); iterator.hasNext();) { type= (Type) iterator.next();
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/MoveInstanceMethodProcessor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/MoveInstanceMethodProcessor.java index 4c6150a..901b98c 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/MoveInstanceMethodProcessor.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/MoveInstanceMethodProcessor.java
@@ -50,11 +50,11 @@ import org.eclipse.text.edits.TextEditGroup; import org.eclipse.text.edits.TextEditProcessor; import org.eclipse.wst.jsdt.core.Flags; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IField; +import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IJavaScriptProject; -import org.eclipse.wst.jsdt.core.IFunction; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IType; import org.eclipse.wst.jsdt.core.ITypeHierarchy; import org.eclipse.wst.jsdt.core.JavaScriptCore; @@ -63,24 +63,22 @@ import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.Assignment; import org.eclipse.wst.jsdt.core.dom.Block; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.Expression; import org.eclipse.wst.jsdt.core.dom.FieldAccess; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.FunctionRef; +import org.eclipse.wst.jsdt.core.dom.FunctionRefParameter; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; import org.eclipse.wst.jsdt.core.dom.JSdoc; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; -import org.eclipse.wst.jsdt.core.dom.FunctionRef; -import org.eclipse.wst.jsdt.core.dom.FunctionRefParameter; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.Name; import org.eclipse.wst.jsdt.core.dom.NullLiteral; @@ -829,18 +827,10 @@ */ public final class SuperReferenceFinder extends AstNodeFinder { - public final boolean visit(final AnnotationTypeDeclaration node) { - return false; - } - public final boolean visit(final AnonymousClassDeclaration node) { return false; } - public final boolean visit(final EnumDeclaration node) { - return false; - } - public final boolean visit(final SuperFieldAccess node) { Assert.isNotNull(node); fStatus.merge(RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.MoveInstanceMethodProcessor_uses_super, JavaStatusContext.create(fMethod.getJavaScriptUnit(), node)));
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/MoveStaticMembersProcessor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/MoveStaticMembersProcessor.java index 9864462..fee0d88 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/MoveStaticMembersProcessor.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/MoveStaticMembersProcessor.java
@@ -47,28 +47,26 @@ import org.eclipse.text.edits.TextEdit; import org.eclipse.text.edits.TextEditGroup; import org.eclipse.wst.jsdt.core.Flags; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IField; +import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IInitializer; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IJavaScriptProject; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IMember; -import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.ISourceRange; import org.eclipse.wst.jsdt.core.IType; import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.SimpleName; import org.eclipse.wst.jsdt.core.dom.TypeDeclaration; @@ -158,15 +156,6 @@ return true; } - public boolean visit(AnnotationTypeDeclaration node) { - fDefined.add(node.resolveBinding()); - return true; - } - - public boolean visit(EnumDeclaration node) { - fDefined.add(node.resolveBinding()); - return true; - } } /**
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/PullUpRefactoringProcessor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/PullUpRefactoringProcessor.java index 007ca23..f42ae06 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/PullUpRefactoringProcessor.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/PullUpRefactoringProcessor.java
@@ -45,16 +45,15 @@ import org.eclipse.text.edits.MalformedTreeException; import org.eclipse.text.edits.TextEdit; import org.eclipse.wst.jsdt.core.Flags; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IField; +import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IJavaScriptProject; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IMember; -import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IType; import org.eclipse.wst.jsdt.core.ITypeHierarchy; import org.eclipse.wst.jsdt.core.ITypeParameter; -import org.eclipse.wst.jsdt.core.JavaScriptCore; import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.Signature; import org.eclipse.wst.jsdt.core.dom.AST; @@ -65,17 +64,16 @@ import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.Block; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Expression; import org.eclipse.wst.jsdt.core.dom.FieldAccess; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.JSdoc; -import org.eclipse.wst.jsdt.core.dom.MarkerAnnotation; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.ReturnStatement; import org.eclipse.wst.jsdt.core.dom.SimpleName; @@ -970,11 +968,6 @@ private void createAbstractMethod(final IFunction sourceMethod, final CompilationUnitRewrite sourceRewriter, final JavaScriptUnit declaringCuNode, final AbstractTypeDeclaration destination, final TypeVariableMaplet[] mapping, final CompilationUnitRewrite targetRewrite, final Map adjustments, final IProgressMonitor monitor, final RefactoringStatus status) throws JavaScriptModelException { final FunctionDeclaration oldMethod= ASTNodeSearchUtil.getMethodDeclarationNode(sourceMethod, declaringCuNode); - if (JavaModelUtil.is50OrHigher(sourceMethod.getJavaScriptProject()) && (fSettings.overrideAnnotation || JavaScriptCore.ERROR.equals(sourceMethod.getJavaScriptProject().getOption(JavaScriptCore.COMPILER_PB_MISSING_OVERRIDE_ANNOTATION, true)))) { - final MarkerAnnotation annotation= sourceRewriter.getAST().newMarkerAnnotation(); - annotation.setTypeName(sourceRewriter.getAST().newSimpleName("Override")); //$NON-NLS-1$ - sourceRewriter.getASTRewrite().getListRewrite(oldMethod, FunctionDeclaration.MODIFIERS2_PROPERTY).insertFirst(annotation, sourceRewriter.createCategorizedGroupDescription(RefactoringCoreMessages.PullUpRefactoring_add_override_annotation, SET_PULL_UP)); - } final FunctionDeclaration newMethod= targetRewrite.getAST().newFunctionDeclaration(); newMethod.setBody(null); newMethod.setConstructor(false);
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/PushDownRefactoringProcessor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/PushDownRefactoringProcessor.java index e5b9c49..4c95f89 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/PushDownRefactoringProcessor.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/PushDownRefactoringProcessor.java
@@ -38,12 +38,12 @@ import org.eclipse.text.edits.MalformedTreeException; import org.eclipse.text.edits.TextEdit; import org.eclipse.wst.jsdt.core.Flags; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IField; +import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IJavaScriptProject; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IMember; -import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IType; import org.eclipse.wst.jsdt.core.ITypeHierarchy; import org.eclipse.wst.jsdt.core.JavaScriptModelException; @@ -52,11 +52,10 @@ import org.eclipse.wst.jsdt.core.dom.ASTRequestor; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.Block; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Expression; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; -import org.eclipse.wst.jsdt.core.dom.MarkerAnnotation; import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.Type; import org.eclipse.wst.jsdt.core.dom.VariableDeclarationFragment; @@ -86,13 +85,11 @@ import org.eclipse.wst.jsdt.internal.corext.refactoring.rename.MethodChecks; import org.eclipse.wst.jsdt.internal.corext.refactoring.util.ResourceUtil; import org.eclipse.wst.jsdt.internal.corext.refactoring.util.TextEditBasedChangeManager; -import org.eclipse.wst.jsdt.internal.corext.util.JavaModelUtil; import org.eclipse.wst.jsdt.internal.corext.util.JdtFlags; import org.eclipse.wst.jsdt.internal.corext.util.Messages; import org.eclipse.wst.jsdt.internal.corext.util.SearchUtils; import org.eclipse.wst.jsdt.internal.corext.util.Strings; import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin; -import org.eclipse.wst.jsdt.internal.ui.preferences.JavaPreferencesSettings; import org.eclipse.wst.jsdt.ui.JavaScriptElementLabels; /** @@ -795,11 +792,6 @@ if (info.copyJavadocToCopiesInSubclasses()) copyJavadocNode(rewrite, method, oldMethod, newMethod); final IJavaScriptProject project= rewriter.getCu().getJavaScriptProject(); - if (info.isNewMethodToBeDeclaredAbstract() && JavaModelUtil.is50OrHigher(project) && JavaPreferencesSettings.getCodeGenerationSettings(project).overrideAnnotation) { - final MarkerAnnotation annotation= ast.newMarkerAnnotation(); - annotation.setTypeName(ast.newSimpleName("Override")); //$NON-NLS-1$ - newMethod.modifiers().add(annotation); - } copyAnnotations(oldMethod, newMethod); newMethod.modifiers().addAll(ASTNodeFactory.newModifiers(ast, info.getNewModifiersForCopyInSubclass(oldMethod.getModifiers()))); newMethod.setName(ast.newSimpleName(oldMethod.getName().getIdentifier()));
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/ReferenceAnalyzer.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/ReferenceAnalyzer.java index f7af02d..b7704fe 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/ReferenceAnalyzer.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/ReferenceAnalyzer.java
@@ -10,18 +10,16 @@ *******************************************************************************/ package org.eclipse.wst.jsdt.internal.corext.refactoring.structure; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.FieldAccess; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.FunctionRef; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; import org.eclipse.wst.jsdt.core.dom.MemberRef; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; -import org.eclipse.wst.jsdt.core.dom.FunctionRef; import org.eclipse.wst.jsdt.core.dom.QualifiedName; import org.eclipse.wst.jsdt.core.dom.SimpleName; import org.eclipse.wst.jsdt.core.dom.TypeDeclaration; @@ -131,15 +129,4 @@ return false; } - public boolean visit(AnnotationTypeDeclaration node) { - if (isMovedMember(node.resolveBinding())) - return false; - return super.visit(node); - } - - public boolean visit(EnumDeclaration node) { - if (isMovedMember(node.resolveBinding())) - return false; - return super.visit(node); - } }
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/constraints/SuperTypeConstraintsCreator.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/constraints/SuperTypeConstraintsCreator.java index 35fff85..f75198b 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/constraints/SuperTypeConstraintsCreator.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/structure/constraints/SuperTypeConstraintsCreator.java
@@ -19,7 +19,6 @@ import org.eclipse.core.runtime.Assert; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.ArrayAccess; import org.eclipse.wst.jsdt.core.dom.ArrayCreation; @@ -35,14 +34,14 @@ import org.eclipse.wst.jsdt.core.dom.Expression; import org.eclipse.wst.jsdt.core.dom.FieldAccess; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; import org.eclipse.wst.jsdt.core.dom.InstanceofExpression; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.Name; import org.eclipse.wst.jsdt.core.dom.NullLiteral; import org.eclipse.wst.jsdt.core.dom.PackageDeclaration; @@ -729,12 +728,7 @@ return originals; } - /* - * @see org.eclipse.wst.jsdt.internal.corext.dom.HierarchicalASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration) - */ - public final boolean visit(final AnnotationTypeDeclaration node) { - return false; - } + /* * @see org.eclipse.wst.jsdt.internal.corext.dom.HierarchicalASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.Comment)
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/util/AbstractExceptionAnalyzer.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/util/AbstractExceptionAnalyzer.java index 154522b..4d4a86c 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/util/AbstractExceptionAnalyzer.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/refactoring/util/AbstractExceptionAnalyzer.java
@@ -16,13 +16,11 @@ import java.util.Stack; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.CatchClause; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; -import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.ThrowStatement; import org.eclipse.wst.jsdt.core.dom.TryStatement; import org.eclipse.wst.jsdt.core.dom.TypeDeclaration; @@ -51,19 +49,6 @@ return true; } - public boolean visit(EnumDeclaration node) { - // Don't dive into a local type. - if (node.isLocalTypeDeclaration()) - return false; - return true; - } - - public boolean visit(AnnotationTypeDeclaration node) { - // Don't dive into a local type. - if (node.isLocalTypeDeclaration()) - return false; - return true; - } public boolean visit(AnonymousClassDeclaration node) { // Don't dive into a local type.
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/util/CodeFormatterUtil.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/util/CodeFormatterUtil.java index 61b0afd..2c4f845 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/util/CodeFormatterUtil.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/util/CodeFormatterUtil.java
@@ -305,11 +305,6 @@ suffix= ";"; //$NON-NLS-1$ code= CodeFormatter.K_STATEMENTS; break; - case ASTNode.MEMBER_VALUE_PAIR: - prefix= "@Author("; //$NON-NLS-1$ - suffix= ") class x {}"; //$NON-NLS-1$ - code= CodeFormatter.K_JAVASCRIPT_UNIT; - break; case ASTNode.MODIFIER: suffix= " class x {}"; //$NON-NLS-1$ code= CodeFormatter.K_JAVASCRIPT_UNIT;
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/util/JdtFlags.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/util/JdtFlags.java index 1182bbb..e7c29ff 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/util/JdtFlags.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/util/JdtFlags.java
@@ -12,12 +12,11 @@ import org.eclipse.core.runtime.Assert; import org.eclipse.wst.jsdt.core.Flags; +import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IMember; -import org.eclipse.wst.jsdt.core.IFunction; import org.eclipse.wst.jsdt.core.IType; import org.eclipse.wst.jsdt.core.JavaScriptModelException; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; @@ -205,8 +204,7 @@ private static boolean isInterfaceOrAnnotationMember(BodyDeclaration bodyDeclaration) { boolean isInterface= (bodyDeclaration.getParent() instanceof TypeDeclaration) && ((TypeDeclaration)bodyDeclaration.getParent()).isInterface(); - boolean isAnnotation= bodyDeclaration.getParent() instanceof AnnotationTypeDeclaration; - return isInterface || isAnnotation; + return isInterface ; } private static boolean isNestedInterfaceOrAnnotation(IMember member) throws JavaScriptModelException{
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/JavaScriptPlugin.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/JavaScriptPlugin.java index adcb721..0867497 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/JavaScriptPlugin.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/JavaScriptPlugin.java
@@ -74,7 +74,6 @@ import org.eclipse.wst.jsdt.internal.ui.javaeditor.saveparticipant.SaveParticipantRegistry; import org.eclipse.wst.jsdt.internal.ui.preferences.MembersOrderPreferenceCache; import org.eclipse.wst.jsdt.internal.ui.preferences.formatter.FormatterProfileStore; -import org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor.PropertiesFileDocumentProvider; import org.eclipse.wst.jsdt.internal.ui.text.PreferencesAdapter; import org.eclipse.wst.jsdt.internal.ui.text.folding.JavaFoldingStructureProviderRegistry; import org.eclipse.wst.jsdt.internal.ui.text.java.ContentAssistHistory; @@ -590,18 +589,7 @@ return fCompilationUnitDocumentProvider; } - /** - * Returns the shared document provider for Java properties files - * used by this plug-in instance. - * - * @return the shared document provider for Java properties files - * @since 3.1 - */ - public synchronized IDocumentProvider getPropertiesFileDocumentProvider() { - if (fPropertiesFileDocumentProvider == null) - fPropertiesFileDocumentProvider= new PropertiesFileDocumentProvider(); - return fPropertiesFileDocumentProvider; - } + public synchronized ClassFileDocumentProvider getClassFileDocumentProvider() { if (fClassFileDocumentProvider == null)
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/actions/CopyQualifiedNameAction.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/actions/CopyQualifiedNameAction.java index db3df72..61f90ce 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/actions/CopyQualifiedNameAction.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/actions/CopyQualifiedNameAction.java
@@ -31,23 +31,22 @@ import org.eclipse.ui.IWorkbenchSite; import org.eclipse.ui.part.ResourceTransfer; import org.eclipse.wst.jsdt.core.IClassFile; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IImportDeclaration; import org.eclipse.wst.jsdt.core.IJavaScriptElement; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IMember; import org.eclipse.wst.jsdt.core.IPackageDeclaration; import org.eclipse.wst.jsdt.core.IPackageFragment; import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Expression; -import org.eclipse.wst.jsdt.core.dom.IBinding; -import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; -import org.eclipse.wst.jsdt.core.dom.MemberRef; -import org.eclipse.wst.jsdt.core.dom.MemberValuePair; import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.IBinding; +import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; +import org.eclipse.wst.jsdt.core.dom.MemberRef; import org.eclipse.wst.jsdt.core.dom.Name; import org.eclipse.wst.jsdt.core.dom.PackageDeclaration; import org.eclipse.wst.jsdt.core.dom.Type; @@ -55,8 +54,8 @@ import org.eclipse.wst.jsdt.core.dom.TypeParameter; import org.eclipse.wst.jsdt.core.dom.VariableDeclaration; import org.eclipse.wst.jsdt.internal.corext.dom.NodeFinder; -import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin; import org.eclipse.wst.jsdt.internal.ui.JavaPluginImages; +import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin; import org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider; import org.eclipse.wst.jsdt.internal.ui.javaeditor.JavaEditor; import org.eclipse.wst.jsdt.ui.JavaScriptElementLabels; @@ -260,8 +259,6 @@ binding= ((ImportDeclaration)node).resolveBinding(); } else if (node instanceof MemberRef) { binding= ((MemberRef)node).resolveBinding(); - } else if (node instanceof MemberValuePair) { - binding= ((MemberValuePair)node).resolveMemberValuePairBinding(); } else if (node instanceof PackageDeclaration) { binding= ((PackageDeclaration)node).resolveBinding(); } else if (node instanceof TypeParameter) {
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaAddElementFromHistoryImpl.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaAddElementFromHistoryImpl.java index 6e8538f..0214332 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaAddElementFromHistoryImpl.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaAddElementFromHistoryImpl.java
@@ -35,18 +35,15 @@ import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IEditorInput; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IJavaScriptProject; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IMember; import org.eclipse.wst.jsdt.core.IParent; import org.eclipse.wst.jsdt.core.IType; import org.eclipse.wst.jsdt.core.dom.ASTNode; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; -import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.PackageDeclaration; import org.eclipse.wst.jsdt.core.dom.TypeDeclaration; import org.eclipse.wst.jsdt.core.dom.rewrite.ASTRewrite; @@ -182,16 +179,11 @@ } else if (parent instanceof IType) { ASTNode declaration= getBodyContainer(root, (IType)parent); - if (declaration instanceof TypeDeclaration || declaration instanceof AnnotationTypeDeclaration) { + if (declaration instanceof TypeDeclaration) { List container= ASTNodes.getBodyDeclarations(declaration); int index= ASTNodes.getInsertionIndex((BodyDeclaration)newNode, container); ListRewrite lw= rewriter.getListRewrite(declaration, ASTNodes.getBodyDeclarationsProperty(declaration)); lw.insertAt(newNode, index, null); - } else if (declaration instanceof EnumDeclaration) { - List container= ((EnumDeclaration)declaration).enumConstants(); - int index= ASTNodes.getInsertionIndex((FieldDeclaration)newNode, container); - ListRewrite lw= rewriter.getListRewrite(declaration, EnumDeclaration.ENUM_CONSTANTS_PROPERTY); - lw.insertAt(newNode, index, null); } } else { JavaScriptPlugin.logErrorMessage("JavaAddElementFromHistoryImpl: unknown container " + parent); //$NON-NLS-1$ @@ -267,12 +259,6 @@ case JavaNode.INTERFACE: return ASTNode.TYPE_DECLARATION; - case JavaNode.ENUM: - return ASTNode.ENUM_DECLARATION; - - case JavaNode.ANNOTATION: - return ASTNode.ANNOTATION_TYPE_DECLARATION; - case JavaNode.CONSTRUCTOR: case JavaNode.METHOD: return ASTNode.FUNCTION_DECLARATION;
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaHistoryActionImpl.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaHistoryActionImpl.java index cc72fdb..2d35a42 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaHistoryActionImpl.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaHistoryActionImpl.java
@@ -41,18 +41,16 @@ import org.eclipse.ui.PlatformUI; import org.eclipse.ui.part.FileEditorInput; import org.eclipse.ui.texteditor.IDocumentProvider; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IJavaScriptProject; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IMember; import org.eclipse.wst.jsdt.core.ISourceRange; import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.dom.AST; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTParser; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.TypeDeclaration; import org.eclipse.wst.jsdt.core.dom.rewrite.ASTRewrite; import org.eclipse.wst.jsdt.internal.corext.dom.NodeFinder; @@ -125,7 +123,7 @@ ISourceRange sourceRange= parent.getNameRange(); ASTNode parentNode= NodeFinder.perform(root, sourceRange); do { - if (parentNode instanceof TypeDeclaration || parentNode instanceof EnumDeclaration || parentNode instanceof AnnotationTypeDeclaration) + if (parentNode instanceof TypeDeclaration ) return parentNode; parentNode= parentNode.getParent(); } while (parentNode != null);
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaParseTreeBuilder.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaParseTreeBuilder.java index b45750e..64a25ef 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaParseTreeBuilder.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaParseTreeBuilder.java
@@ -15,15 +15,11 @@ import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.ImportDeclaration; import org.eclipse.wst.jsdt.core.dom.Initializer; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.PackageDeclaration; import org.eclipse.wst.jsdt.core.dom.SimpleName; import org.eclipse.wst.jsdt.core.dom.SingleVariableDeclaration; @@ -75,32 +71,9 @@ pop(); } - public boolean visit(EnumDeclaration node) { - push(JavaNode.ENUM, node.getName().toString(), node.getStartPosition(), node.getLength()); - return true; - } - - public void endVisit(EnumDeclaration node) { - pop(); - } + - public boolean visit(AnnotationTypeDeclaration node) { - push(JavaNode.ANNOTATION, node.getName().toString(), node.getStartPosition(), node.getLength()); - return true; - } - - public void endVisit(AnnotationTypeDeclaration node) { - pop(); - } - public boolean visit(AnnotationTypeMemberDeclaration node) { - push(JavaNode.METHOD, getSignature(node), node.getStartPosition(), node.getLength()); - return true; - } - - public void endVisit(AnnotationTypeMemberDeclaration node) { - pop(); - } public boolean visit(FunctionDeclaration node) { String signature= getSignature(node); @@ -147,15 +120,6 @@ pop(); } - public boolean visit(EnumConstantDeclaration node) { - push(JavaNode.FIELD, node.getName().toString(), node.getStartPosition(), node.getLength()); - return false; - } - - public void endVisit(EnumConstantDeclaration node) { - pop(); - } - // private stuff /** @@ -230,13 +194,6 @@ return buffer.toString(); } - private String getSignature(AnnotationTypeMemberDeclaration node) { - StringBuffer buffer= new StringBuffer(); - buffer.append(node.getName().toString()); - buffer.append('('); - buffer.append(')'); - return buffer.toString(); - } private String getType(Type type) { String name= type.toString();
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaReplaceWithEditionActionImpl.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaReplaceWithEditionActionImpl.java index 23c707d..74c5605 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaReplaceWithEditionActionImpl.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaReplaceWithEditionActionImpl.java
@@ -34,16 +34,14 @@ import org.eclipse.team.core.TeamException; import org.eclipse.team.ui.history.ElementLocalHistoryPageSource; import org.eclipse.team.ui.history.HistoryPageCompareEditorInput; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IJavaScriptProject; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IMember; import org.eclipse.wst.jsdt.core.ISourceRange; import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.dom.ASTNode; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.rewrite.ASTRewrite; import org.eclipse.wst.jsdt.internal.corext.SourceRange; import org.eclipse.wst.jsdt.internal.corext.dom.ASTNodes; @@ -183,10 +181,6 @@ length= 1; ASTNode node2= NodeFinder.perform(root, new SourceRange(nameRange.getOffset(), length)); ASTNode node= ASTNodes.getParent(node2, BodyDeclaration.class); - if (node == null) - node= ASTNodes.getParent(node2, AnnotationTypeDeclaration.class); - if (node == null) - node= ASTNodes.getParent(node2, EnumDeclaration.class); //ASTNode node= getBodyContainer(root, input); if (node == null) {
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaTextBufferNode.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaTextBufferNode.java index bf2263e..8c10752 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaTextBufferNode.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/JavaTextBufferNode.java
@@ -110,11 +110,6 @@ case JavaNode.INTERFACE: return ASTNode.TYPE_DECLARATION; - case JavaNode.ENUM: - return ASTNode.ENUM_DECLARATION; - - case JavaNode.ANNOTATION: - return ASTNode.ANNOTATION_TYPE_DECLARATION; case JavaNode.CONSTRUCTOR: case JavaNode.METHOD:
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/PropertiesFileMergeViewer.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/PropertiesFileMergeViewer.java deleted file mode 100644 index de31f73..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/PropertiesFileMergeViewer.java +++ /dev/null
@@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.internal.ui.compare; - -import org.eclipse.compare.CompareConfiguration; -import org.eclipse.compare.contentmergeviewer.TextMergeViewer; -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.text.IDocumentPartitioner; -import org.eclipse.jface.text.TextViewer; -import org.eclipse.jface.text.rules.FastPartitioner; -import org.eclipse.jface.text.source.SourceViewer; -import org.eclipse.jface.text.source.SourceViewerConfiguration; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin; -import org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor.IPropertiesFilePartitions; -import org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor.PropertiesFilePartitionScanner; -import org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor.PropertiesFileSourceViewerConfiguration; -import org.eclipse.wst.jsdt.ui.text.JavaScriptTextTools; - -/** - * Properties file merge viewer. - * - * @since 3.1 - */ -public class PropertiesFileMergeViewer extends TextMergeViewer { - - /** - * Creates a properties file merge viewer under the given parent control. - * - * @param parent the parent control - * @param configuration the configuration object - */ - public PropertiesFileMergeViewer(Composite parent, CompareConfiguration configuration) { - super(parent, SWT.LEFT_TO_RIGHT, configuration); - } - - /* - * @see org.eclipse.compare.contentmergeviewer.TextMergeViewer#configureTextViewer(org.eclipse.jface.text.TextViewer) - */ - protected void configureTextViewer(TextViewer textViewer) { - if (textViewer instanceof SourceViewer) { - JavaScriptTextTools tools= JavaCompareUtilities.getJavaTextTools(); - if (tools != null) - ((SourceViewer)textViewer).configure(getSourceViewerConfiguration(tools)); - } - } - - private SourceViewerConfiguration getSourceViewerConfiguration(JavaScriptTextTools textTools) { - IPreferenceStore store= JavaScriptPlugin.getDefault().getCombinedPreferenceStore(); - return new PropertiesFileSourceViewerConfiguration(textTools.getColorManager(), store, null, getDocumentPartitioning()); - } - - /* - * @see org.eclipse.compare.contentmergeviewer.TextMergeViewer#getDocumentPartitioner() - */ - protected IDocumentPartitioner getDocumentPartitioner() { - return new FastPartitioner(new PropertiesFilePartitionScanner(), IPropertiesFilePartitions.PARTITIONS); - } - - /* - * @see org.eclipse.compare.contentmergeviewer.TextMergeViewer#getDocumentPartitioning() - * @since 3.3 - */ - protected String getDocumentPartitioning() { - return IPropertiesFilePartitions.PROPERTIES_FILE_PARTITIONING; - } - - /* - * @see org.eclipse.compare.contentmergeviewer.ContentMergeViewer#getTitle() - */ - public String getTitle() { - return CompareMessages.PropertiesFileMergeViewer_title; - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/PropertiesFileMergeViewerCreator.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/PropertiesFileMergeViewerCreator.java deleted file mode 100644 index 34f166b..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/PropertiesFileMergeViewerCreator.java +++ /dev/null
@@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.internal.ui.compare; - -import org.eclipse.compare.CompareConfiguration; -import org.eclipse.compare.IViewerCreator; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.swt.widgets.Composite; - -/** - * A factory object for the {@link org.eclipse.wst.jsdt.internal.ui.compare.PropertiesFileMergeViewer}. - * This indirection is necessary because only objects with a default - * constructor can be created via an extension point - * (this precludes Viewers). - * - * @since 3.1 - */ -public class PropertiesFileMergeViewerCreator implements IViewerCreator { - - public Viewer createViewer(Composite parent, CompareConfiguration mp) { - return new PropertiesFileMergeViewer(parent, mp); - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/PropertiesFileViewer.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/PropertiesFileViewer.java deleted file mode 100644 index b099bdb..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/PropertiesFileViewer.java +++ /dev/null
@@ -1,100 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.internal.ui.compare; - -import org.eclipse.compare.IStreamContentAccessor; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.jface.text.Document; -import org.eclipse.jface.text.source.SourceViewer; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.Font; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin; -import org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor.IPropertiesFilePartitions; -import org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor.PropertiesFileSourceViewerConfiguration; -import org.eclipse.wst.jsdt.ui.text.JavaScriptTextTools; - -/** - * Properties file viewer. - * - * @since 3.1 - */ -public class PropertiesFileViewer extends Viewer { - - private SourceViewer fSourceViewer; - private Object fInput; - - - PropertiesFileViewer(Composite parent) { - fSourceViewer= new SourceViewer(parent, null, SWT.LEFT_TO_RIGHT | SWT.H_SCROLL | SWT.V_SCROLL); - JavaScriptTextTools tools= JavaCompareUtilities.getJavaTextTools(); - if (tools != null) { - IPreferenceStore store= JavaScriptPlugin.getDefault().getCombinedPreferenceStore(); - fSourceViewer.configure(new PropertiesFileSourceViewerConfiguration(tools.getColorManager(), store, null, IPropertiesFilePartitions.PROPERTIES_FILE_PARTITIONING)); - } - - fSourceViewer.setEditable(false); - - String symbolicFontName= PropertiesFileMergeViewer.class.getName(); - Font font= JFaceResources.getFont(symbolicFontName); - if (font != null) - fSourceViewer.getTextWidget().setFont(font); - } - - public Control getControl() { - return fSourceViewer.getControl(); - } - - public void setInput(Object input) { - if (input instanceof IStreamContentAccessor) { - Document document= new Document(getString(input)); -// JavaCompareUtilities.setupPropertiesFileDocument(document); - fSourceViewer.setDocument(document); - } - fInput= input; - } - - public Object getInput() { - return fInput; - } - - public ISelection getSelection() { - return null; - } - - public void setSelection(ISelection s, boolean reveal) { - } - - public void refresh() { - } - - /** - * A helper method to retrieve the contents of the given object - * if it implements the IStreamContentAccessor interface. - */ - private static String getString(Object input) { - - if (input instanceof IStreamContentAccessor) { - IStreamContentAccessor sca= (IStreamContentAccessor) input; - try { - return JavaCompareUtilities.readString(sca); - } catch (CoreException ex) { - JavaScriptPlugin.log(ex); - } - } - return ""; //$NON-NLS-1$ - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/PropertiesFileViewerCreator.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/PropertiesFileViewerCreator.java deleted file mode 100644 index b3b28ec..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/PropertiesFileViewerCreator.java +++ /dev/null
@@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.internal.ui.compare; - -import org.eclipse.compare.CompareConfiguration; -import org.eclipse.compare.IViewerCreator; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.swt.widgets.Composite; - -/** - * A factory object for the {@link org.eclipse.wst.jsdt.internal.ui.compare.PropertiesFileViewer}. - * This indirection is necessary because only objects with a default - * constructor can be created via an extension point - * (this precludes Viewers). - * - * @since 3.1 - */ -public class PropertiesFileViewerCreator implements IViewerCreator { - - public Viewer createViewer(Composite parent, CompareConfiguration mp) { - return new PropertiesFileViewer(parent); - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/PropertiesStructureCreator.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/PropertiesStructureCreator.java deleted file mode 100644 index 18cf400..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/compare/PropertiesStructureCreator.java +++ /dev/null
@@ -1,348 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.internal.ui.compare; - -import java.io.IOException; - -import org.eclipse.compare.CompareUI; -import org.eclipse.compare.IEditableContent; -import org.eclipse.compare.ISharedDocumentAdapter; -import org.eclipse.compare.IStreamContentAccessor; -import org.eclipse.compare.ITypedElement; -import org.eclipse.compare.structuremergeviewer.DocumentRangeNode; -import org.eclipse.compare.structuremergeviewer.IStructureComparator; -import org.eclipse.compare.structuremergeviewer.StructureCreator; -import org.eclipse.compare.structuremergeviewer.StructureRootNode; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.OperationCanceledException; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.SubProgressMonitor; -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IDocumentPartitioner; -import org.eclipse.jface.text.IRegion; -import org.eclipse.jface.text.rules.FastPartitioner; -import org.eclipse.swt.graphics.Image; -import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin; -import org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor.IPropertiesFilePartitions; -import org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor.PropertiesFilePartitionScanner; - - -public class PropertiesStructureCreator extends StructureCreator { - - /** - * A PropertyNode represents a key/value pair of a Java property file. - * The text range of a leg/value pair starts with an optional - * comment and ends right after the value. - */ - static class PropertyNode extends DocumentRangeNode implements ITypedElement, IAdaptable { - - public PropertyNode(DocumentRangeNode parent, int type, String id, String value, IDocument doc, int start, int length) { - super(parent, type, id, doc, start, length); - if (parent != null) { - parent.addChild(this); - } - } - - /* (non Java doc) - * see ITypedElement#getName - */ - public String getName() { - return getId(); - } - - /* (non Java doc) - * see ITypedElement#getType - */ - public String getType() { - return "properties2"; //$NON-NLS-1$ - } - - /* (non Java doc) - * see ITypedElement#getImage - */ - public Image getImage() { - return CompareUI.getImage(getType()); - } - } - - private static final String WHITESPACE= " \t\r\n\f"; //$NON-NLS-1$ - private static final String SEPARATORS= "=:"; //$NON-NLS-1$ - private static final String SEPARATORS2= SEPARATORS + WHITESPACE; - - - public PropertiesStructureCreator() { - } - - public String getName() { - return CompareMessages.PropertyCompareViewer_title; - } - - protected IStructureComparator createStructureComparator(Object input, - IDocument document, ISharedDocumentAdapter sharedDocumentAdapter, - IProgressMonitor monitor) throws CoreException { - - final boolean isEditable; - if (input instanceof IEditableContent) - isEditable= ((IEditableContent) input).isEditable(); - else - isEditable= false; - - DocumentRangeNode root= new StructureRootNode(document, input, this, sharedDocumentAdapter) { - public boolean isEditable() { - return isEditable; - } - }; - - try { - monitor = beginWork(monitor); - parsePropertyFile(root, document, monitor); - } catch (IOException ex) { - if (sharedDocumentAdapter != null) - sharedDocumentAdapter.disconnect(input); - throw new CoreException(new Status(IStatus.ERROR, JavaScriptPlugin.getPluginId(), 0, CompareMessages.PropertiesStructureCreator_error_occurred, ex)); - } finally { - monitor.done(); - } - - return root; - } - - public IStructureComparator locate(Object path, Object source) { - return null; - } - - public String getContents(Object node, boolean ignoreWhitespace) { - if (node instanceof IStreamContentAccessor) { - IStreamContentAccessor sca= (IStreamContentAccessor) node; - try { - return JavaCompareUtilities.readString(sca); - } catch (CoreException ex) { - JavaScriptPlugin.log(ex); - } - } - return null; - } - - private String readLine(int[] args, IDocument doc) { - int line= args[0]++; - try { - IRegion region= doc.getLineInformation(line); - int start= region.getOffset(); - int length= region.getLength(); - - try { - region= doc.getLineInformation(line+1); - args[1]= region.getOffset(); - } catch (BadLocationException ex) { - args[1]= doc.getLength(); - } - - return doc.get(start, length); - } catch (BadLocationException ex) { - // silently ignored - } - return null; - } - - private void parsePropertyFile(DocumentRangeNode root, IDocument doc, IProgressMonitor monitor) throws IOException { - - int start= -1; - int lineStart= 0; - - int[] args= new int[2]; - args[0]= 0; // here we return the line number - args[1]= 0; // and here the offset of the first character of the line - - for (;;) { - worked(monitor); - lineStart= args[1]; // start of current line - String line= readLine(args, doc); - if (line == null) - return; - - if (line.length() <= 0) - continue; // empty line - - char firstChar= line.charAt(0); - if (firstChar == '#' || firstChar == '!') { - if (start < 0) // comment belongs to next key/value pair - start= lineStart; - continue; // comment - } - - // find continuation lines - while (needNextLine(line)) { - String nextLine= readLine(args, doc); - if (nextLine == null) - nextLine= ""; //$NON-NLS-1$ - String line2= line.substring(0, line.length()-1); - int startPos= 0; - for (; startPos < nextLine.length(); startPos++) - if (WHITESPACE.indexOf(nextLine.charAt(startPos)) == -1) - break; - nextLine= nextLine.substring(startPos, nextLine.length()); - line= line2 + nextLine; - } - - // key start - int len= line.length(); - int keyPos= 0; - for (; keyPos < len; keyPos++) { - if (WHITESPACE.indexOf(line.charAt(keyPos)) == -1) - break; - } - - // key/value separator - int separatorPos; - for (separatorPos= keyPos; separatorPos < len; separatorPos++) { - char c= line.charAt(separatorPos); - if (c == '\\') - separatorPos++; - else if (SEPARATORS2.indexOf(c) != -1) - break; - } - - int valuePos; - for (valuePos= separatorPos; valuePos < len; valuePos++) - if (WHITESPACE.indexOf(line.charAt(valuePos)) == -1) - break; - - if (valuePos < len) - if (SEPARATORS.indexOf(line.charAt(valuePos)) != -1) - valuePos++; - - while (valuePos < len) { - if (WHITESPACE.indexOf(line.charAt(valuePos)) == -1) - break; - valuePos++; - } - - String key= convert(line.substring(keyPos, separatorPos)); - if (key.length() > 0) { - - if (start < 0) - start= lineStart; - - String value= ""; //$NON-NLS-1$ - if (separatorPos < len) - value= convert(line.substring(valuePos, len)); - - int length= args[1] - start; - - try { - String s= doc.get(start, length); - for (int i= s.length()-1; i >= 0; i--) { - char c= s.charAt(i); - if (c !='\r' && c != '\n') - break; - length--; - } - } catch (BadLocationException e) { - // silently ignored - } - - new PropertyNode(root, 0, key, value, doc, start, length); - start= -1; - } - } - } - - private boolean needNextLine(String line) { - int slashes= 0; - int ix= line.length() - 1; - while ((ix >= 0) && (line.charAt(ix--) == '\\')) - slashes++; - return slashes % 2 == 1; - } - - /* - * Converts escaped characters to Unicode. - */ - private String convert(String s) { - int l= s.length(); - StringBuffer buf= new StringBuffer(l); - int i= 0; - - while (i < l) { - char c= s.charAt(i++); - if (c == '\\') { - c= s.charAt(i++); - if (c == 'u') { - int v= 0; - for (int j= 0; j < 4; j++) { - c= s.charAt(i++); - switch (c) { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - v= (v << 4) + (c-'0'); - break; - case 'a': case 'b': case 'c': - case 'd': case 'e': case 'f': - v= (v << 4) + 10+(c-'a'); - break; - case 'A': case 'B': case 'C': - case 'D': case 'E': case 'F': - v= (v << 4) + 10+(c - 'A'); - break; - default: - throw new IllegalArgumentException(CompareMessages.PropertyCompareViewer_malformedEncoding); - } - } - buf.append((char)v); - } else { - switch (c) { - case 't': - c= '\t'; - break; - case 'r': - c= '\r'; - break; - case 'n': - c= '\n'; - break; - case 'f': - c= '\f'; - break; - } - buf.append(c); - } - } else - buf.append(c); - } - return buf.toString(); - } - - protected IDocumentPartitioner getDocumentPartitioner() { - return new FastPartitioner(new PropertiesFilePartitionScanner(), IPropertiesFilePartitions.PARTITIONS); - } - - protected String getDocumentPartitioning() { - return IPropertiesFilePartitions.PROPERTIES_FILE_PARTITIONING; - } - - private void worked(IProgressMonitor monitor) { - if (monitor.isCanceled()) - throw new OperationCanceledException(); - monitor.worked(1); - } - - private IProgressMonitor beginWork(IProgressMonitor monitor) { - if (monitor == null) - return new NullProgressMonitor(); - return new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN); - } - -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javaeditor/JavaTextSelection.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javaeditor/JavaTextSelection.java index b9e8058..ed1f305 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javaeditor/JavaTextSelection.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javaeditor/JavaTextSelection.java
@@ -12,12 +12,11 @@ import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.TextSelection; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IJavaScriptElement; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.SingleVariableDeclaration; @@ -196,10 +195,6 @@ ((SingleVariableDeclaration)node).getInitializer() == last) { fInVariableInitializer= true; break; - } else if (nodeType == ASTNode.ANNOTATION_TYPE_MEMBER_DECLARATION && - ((AnnotationTypeMemberDeclaration)node).getDefault() == last) { - fInVariableInitializer= true; - break; } last= node; node= node.getParent();
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javaeditor/NLSKeyHyperlink.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javaeditor/NLSKeyHyperlink.java index 5ba41d3..1d444e1 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javaeditor/NLSKeyHyperlink.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javaeditor/NLSKeyHyperlink.java
@@ -12,28 +12,17 @@ import org.eclipse.core.resources.IStorage; import org.eclipse.core.runtime.Assert; -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.BadPartitioningException; -import org.eclipse.jface.text.FindReplaceDocumentAdapter; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IDocumentExtension3; import org.eclipse.jface.text.IRegion; -import org.eclipse.jface.text.ITypedRegion; import org.eclipse.jface.text.hyperlink.IHyperlink; import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.PartInitException; import org.eclipse.ui.texteditor.IEditorStatusLine; -import org.eclipse.ui.texteditor.ITextEditor; import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.internal.corext.refactoring.nls.AccessorClassReference; import org.eclipse.wst.jsdt.internal.corext.refactoring.nls.NLSHintHelper; -import org.eclipse.wst.jsdt.internal.corext.refactoring.nls.PropertyFileDocumentModel; import org.eclipse.wst.jsdt.internal.corext.util.Messages; -import org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor.IPropertiesFilePartitions; -import org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor.PropertyKeyHyperlinkDetector; /** @@ -103,60 +92,60 @@ return; } - // Reveal the key in the properties file - if (editor instanceof ITextEditor) { - IRegion region= null; - boolean found= false; - - // Find key in document - IEditorInput editorInput= editor.getEditorInput(); - IDocument document= ((ITextEditor)editor).getDocumentProvider().getDocument(editorInput); - if (document != null) { - FindReplaceDocumentAdapter finder= new FindReplaceDocumentAdapter(document); - PropertyKeyHyperlinkDetector detector= new PropertyKeyHyperlinkDetector(); - detector.setContext(editor); - String key= PropertyFileDocumentModel.unwindEscapeChars(fKeyName); - int offset= document.getLength() - 1; - try { - while (!found && offset >= 0) { - region= finder.find(offset, key, false, true, false, false); - if (region == null) - offset= -1; - else { - // test whether it's the key - IHyperlink[] hyperlinks= detector.detectHyperlinks(null, region, false); - if (hyperlinks != null) { - for (int i= 0; i < hyperlinks.length; i++) { - IRegion hyperlinkRegion= hyperlinks[i].getHyperlinkRegion(); - found= key.equals(document.get(hyperlinkRegion.getOffset(), hyperlinkRegion.getLength())); - } - } else if (document instanceof IDocumentExtension3) { - // Fall back: test using properties file partitioning - ITypedRegion partition= null; - partition= ((IDocumentExtension3)document).getPartition(IPropertiesFilePartitions.PROPERTIES_FILE_PARTITIONING, region.getOffset(), false); - found= IDocument.DEFAULT_CONTENT_TYPE.equals(partition.getType()) - && key.equals(document.get(partition.getOffset(), partition.getLength()).trim()); - } - // Prevent endless loop (panic code, shouldn't be needed) - if (offset == region.getOffset()) - offset= -1; - else - offset= region.getOffset(); - } - } - } catch (BadLocationException ex) { - found= false; - } catch (BadPartitioningException e1) { - found= false; - } - } - if (found) - EditorUtility.revealInEditor(editor, region); - else { - EditorUtility.revealInEditor(editor, 0, 0); - showErrorInStatusLine(editor, Messages.format(JavaEditorMessages.Editor_OpenPropertiesFile_error_keyNotFound, fKeyName)); - } - } +// // Reveal the key in the properties file +// if (editor instanceof ITextEditor) { +// IRegion region= null; +// boolean found= false; +// +// // Find key in document +// IEditorInput editorInput= editor.getEditorInput(); +// IDocument document= ((ITextEditor)editor).getDocumentProvider().getDocument(editorInput); +// if (document != null) { +// FindReplaceDocumentAdapter finder= new FindReplaceDocumentAdapter(document); +// PropertyKeyHyperlinkDetector detector= new PropertyKeyHyperlinkDetector(); +// detector.setContext(editor); +// String key= PropertyFileDocumentModel.unwindEscapeChars(fKeyName); +// int offset= document.getLength() - 1; +// try { +// while (!found && offset >= 0) { +// region= finder.find(offset, key, false, true, false, false); +// if (region == null) +// offset= -1; +// else { +// // test whether it's the key +// IHyperlink[] hyperlinks= detector.detectHyperlinks(null, region, false); +// if (hyperlinks != null) { +// for (int i= 0; i < hyperlinks.length; i++) { +// IRegion hyperlinkRegion= hyperlinks[i].getHyperlinkRegion(); +// found= key.equals(document.get(hyperlinkRegion.getOffset(), hyperlinkRegion.getLength())); +// } +// } else if (document instanceof IDocumentExtension3) { +// // Fall back: test using properties file partitioning +// ITypedRegion partition= null; +// partition= ((IDocumentExtension3)document).getPartition(IPropertiesFilePartitions.PROPERTIES_FILE_PARTITIONING, region.getOffset(), false); +// found= IDocument.DEFAULT_CONTENT_TYPE.equals(partition.getType()) +// && key.equals(document.get(partition.getOffset(), partition.getLength()).trim()); +// } +// // Prevent endless loop (panic code, shouldn't be needed) +// if (offset == region.getOffset()) +// offset= -1; +// else +// offset= region.getOffset(); +// } +// } +// } catch (BadLocationException ex) { +// found= false; +// } catch (BadPartitioningException e1) { +// found= false; +// } +// } +// if (found) +// EditorUtility.revealInEditor(editor, region); +// else { +// EditorUtility.revealInEditor(editor, 0, 0); +// showErrorInStatusLine(editor, Messages.format(JavaEditorMessages.Editor_OpenPropertiesFile_error_keyNotFound, fKeyName)); +// } +// } } private void showErrorInStatusLine(IEditorPart editor, final String message) {
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javaeditor/SemanticHighlightings.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javaeditor/SemanticHighlightings.java index 40183fa..c9c27e0 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javaeditor/SemanticHighlightings.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javaeditor/SemanticHighlightings.java
@@ -16,12 +16,11 @@ import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.swt.graphics.RGB; import org.eclipse.wst.jsdt.core.dom.ASTNode; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.ObjectLiteral; import org.eclipse.wst.jsdt.core.dom.ObjectLiteralField; import org.eclipse.wst.jsdt.core.dom.ParameterizedType; @@ -473,7 +472,7 @@ */ public boolean consumes(SemanticToken token) { StructuralPropertyDescriptor location= token.getNode().getLocationInParent(); - return location == FunctionDeclaration.NAME_PROPERTY || location == AnnotationTypeMemberDeclaration.NAME_PROPERTY; + return location == FunctionDeclaration.NAME_PROPERTY ; } }
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/ArgumentRule.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/ArgumentRule.java deleted file mode 100644 index 4b2d0c7..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/ArgumentRule.java +++ /dev/null
@@ -1,77 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor; - -import org.eclipse.jface.text.rules.ICharacterScanner; -import org.eclipse.jface.text.rules.IToken; -import org.eclipse.jface.text.rules.IWordDetector; -import org.eclipse.jface.text.rules.WordPatternRule; - -/** - * A specific single line rule for arguments in a property value. - * <p> - * An argument is defined as '{', digit, {digit}, '}' - * </p> - * - * @since 3.1 - */ -public final class ArgumentRule extends WordPatternRule { - - private static class ArgumentDetector implements IWordDetector { - - /* - * @see IWordDetector#isWordStart - */ - public boolean isWordStart(char c) { - return '{' == c; - } - - /* - * @see IWordDetector#isWordPart - */ - public boolean isWordPart(char c) { - return c == '}' || Character.isDigit(c); - } - } - - - private int fCount= 0; - - /** - * Creates an argument rule for the given <code>token</code>. - * - * @param token the token to be returned on success - */ - public ArgumentRule(IToken token) { - super(new ArgumentDetector(), "{", "}", token); //$NON-NLS-1$//$NON-NLS-2$ - } - - /* - * @see org.eclipse.jface.text.rules.WordPatternRule#endSequenceDetected(org.eclipse.jface.text.rules.ICharacterScanner) - */ - protected boolean endSequenceDetected(ICharacterScanner scanner) { - fCount++; - - if (scanner.read() == '}') - return fCount > 2; - - scanner.unread(); - return super.endSequenceDetected(scanner); - } - - /* - * @see org.eclipse.jface.text.rules.PatternRule#sequenceDetected(org.eclipse.jface.text.rules.ICharacterScanner, char[], boolean) - */ - protected boolean sequenceDetected(ICharacterScanner scanner, char[] sequence, boolean eofAllowed) { - fCount= 0; - return super.sequenceDetected(scanner, sequence, eofAllowed); - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/ConstructedPropertiesFileEditorMessages.properties b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/ConstructedPropertiesFileEditorMessages.properties deleted file mode 100644 index 260a6db..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/ConstructedPropertiesFileEditorMessages.properties +++ /dev/null
@@ -1,14 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2007 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -CorrectionAssistProposal.label=&Quick Fix -CorrectionAssistProposal.tooltip=Quick Fix -CorrectionAssistProposal.description=Quick Fix
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/IPropertiesFileEditorActionConstants.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/IPropertiesFileEditorActionConstants.java deleted file mode 100644 index beaf626..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/IPropertiesFileEditorActionConstants.java +++ /dev/null
@@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor; - -/** - * Defines action IDs for private JavaEditor actions. - * - * @since 3.1 - */ -public interface IPropertiesFileEditorActionConstants { - - /** - * ID of the action to toggle smart typing. - * Value: <code>"smartTyping"</code> - * @since 3.0 - */ - public static final String TOGGLE_SMART_TYPING= "smartTyping"; //$NON-NLS-1$ - - /** - * ID of the smart typing status item - * Value: <code>"SmartTyping"</code> - * @since 3.0 - */ - public static final String STATUS_CATEGORY_SMART_TYPING= "SmartTyping"; //$NON-NLS-1$ - - /** - * ID of the action to toggle the style of the presentation. - */ - public static final String TOGGLE_PRESENTATION= "togglePresentation"; //$NON-NLS-1$ -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/IPropertiesFilePartitions.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/IPropertiesFilePartitions.java deleted file mode 100644 index 3563ff4..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/IPropertiesFilePartitions.java +++ /dev/null
@@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor; - -/** - * Properties file partitioning definition. - * <p> - * A property key is represented by the {@link org.eclipse.jface.text.IDocument#DEFAULT_CONTENT_TYPE default partition}. - * </p> - * - * @since 3.1 - */ -public interface IPropertiesFilePartitions { - - /** - * The name of the properties file partitioning. - * Value: {@value} - */ - String PROPERTIES_FILE_PARTITIONING= "___pf_partitioning"; //$NON-NLS-1$ - - /** - * The name of a comment partition. - * Value: {@value} - */ - String COMMENT= "__pf_comment"; //$NON-NLS-1$ - - /** - * The name of a property value partition. - * <p> - * Note: The value partition may contain assignment characters at their beginning - * </p> - * Value: {@value} - */ - String PROPERTY_VALUE= "__pf_roperty_value"; //$NON-NLS-1$ - - /** - * Array with properties file partitions. - * Value: {@value} - */ - String[] PARTITIONS= new String[] { COMMENT, PROPERTY_VALUE }; - -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/LeadingWhitespacePredicateRule.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/LeadingWhitespacePredicateRule.java deleted file mode 100644 index 5fc0966..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/LeadingWhitespacePredicateRule.java +++ /dev/null
@@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor; - -import org.eclipse.jface.text.rules.ICharacterScanner; -import org.eclipse.jface.text.rules.IToken; -import org.eclipse.jface.text.rules.IWordDetector; -import org.eclipse.jface.text.rules.WordPatternRule; - - -/** - * A leading white space predicate rule. - * - * @since 3.1 - */ -public final class LeadingWhitespacePredicateRule extends WordPatternRule { - - - private static class DummyDetector implements IWordDetector { - - /* - * @see IWordDetector#isWordStart - */ - public boolean isWordStart(char c) { - return false; - } - - /* - * @see IWordDetector#isWordPart - */ - public boolean isWordPart(char c) { - return false; - } - } - - - /** - * Creates a white space rule for the given <code>token</code>. - * - * @param token the token to be returned on success - */ - public LeadingWhitespacePredicateRule(IToken token, String whitespace) { - super(new DummyDetector(), whitespace, "dummy", token); //$NON-NLS-1$ - setColumnConstraint(0); - } - - /* - * @see org.eclipse.jface.text.rules.WordPatternRule#endSequenceDetected(org.eclipse.jface.text.rules.ICharacterScanner) - */ - protected boolean endSequenceDetected(ICharacterScanner scanner) { - int c; - do { - c= scanner.read(); - } while (Character.isWhitespace((char) c)); - - scanner.unread(); - - return true; - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/OpenAction.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/OpenAction.java deleted file mode 100644 index 4586e25..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/OpenAction.java +++ /dev/null
@@ -1,84 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor; - -import org.eclipse.jface.text.IRegion; -import org.eclipse.jface.text.ITextSelection; -import org.eclipse.jface.text.Region; -import org.eclipse.jface.text.hyperlink.IHyperlink; -import org.eclipse.ui.IFileEditorInput; -import org.eclipse.wst.jsdt.ui.actions.SelectionDispatchAction; - -/** - * This action opens a tool (internal editor or view or an external - * application) for the element at the given location. - * <p> - * XXX: This does not work for properties files coming from a JAR due to - * missing J Core functionality. For details see: - * https://bugs.eclipse.org/bugs/show_bug.cgi?id=22376 - * </p> - * <p> - * This class may be instantiated; it is not intended to be subclassed. - * </p> - * - * @since 3.1 - */ -public class OpenAction extends SelectionDispatchAction { - - - private PropertiesFileEditor fEditor; - - - /** - * Creates a new <code>OpenAction</code>. - * - * @param editor the Properties file editor which provides the context information for this action - */ - public OpenAction(PropertiesFileEditor editor) { - super(editor.getEditorSite()); - fEditor= editor; - setText(PropertiesFileEditorMessages.OpenAction_label); - setToolTipText(PropertiesFileEditorMessages.OpenAction_tooltip); - - // XXX: Must be removed once support for JARs is available (see class Javadoc for details). - setEnabled(fEditor.getEditorInput() instanceof IFileEditorInput); - } - - /* - * @see org.eclipse.wst.jsdt.ui.actions.SelectionDispatchAction#selectionChanged(org.eclipse.jface.text.ITextSelection) - */ - public void selectionChanged(ITextSelection selection) { - setEnabled(checkEnabled(selection)); - } - - private boolean checkEnabled(ITextSelection selection) { - if (selection == null || selection.isEmpty()) - return false; - - // XXX: Must be changed to IStorageEditorInput once support for JARs is available (see class Javadoc for details) - return fEditor.getEditorInput() instanceof IFileEditorInput; - } - - public void run(ITextSelection selection) { - - if (!checkEnabled(selection)) - return; - - IRegion region= new Region(selection.getOffset(), selection.getLength()); - PropertyKeyHyperlinkDetector detector= new PropertyKeyHyperlinkDetector(); - detector.setContext(fEditor); - IHyperlink[]hyperlinks= detector.detectHyperlinks(fEditor.internalGetSourceViewer(), region, false); - - if (hyperlinks != null && hyperlinks.length == 1) - hyperlinks[0].open(); - - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileDocumentProvider.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileDocumentProvider.java deleted file mode 100644 index fe73ce2..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileDocumentProvider.java +++ /dev/null
@@ -1,77 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.content.IContentDescription; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.jface.text.IDocument; -import org.eclipse.ui.IFileEditorInput; -import org.eclipse.ui.editors.text.ForwardingDocumentProvider; -import org.eclipse.ui.editors.text.TextFileDocumentProvider; -import org.eclipse.ui.texteditor.IDocumentProvider; - - -/** - * Shared properties file document provider specialized for Java properties files. - * - * @since 3.1 - */ -public class PropertiesFileDocumentProvider extends TextFileDocumentProvider { - - - private static final IContentType JAVA_PROPERTIES_FILE_CONTENT_TYPE= Platform.getContentTypeManager().getContentType("org.eclipse.wst.jsdt.core.javaProperties"); //$NON-NLS-1$ - - - /** - * Creates a new properties file document provider and - * sets up the parent chain. - */ - public PropertiesFileDocumentProvider() { - IDocumentProvider provider= new TextFileDocumentProvider(); - provider= new ForwardingDocumentProvider(IPropertiesFilePartitions.PROPERTIES_FILE_PARTITIONING, new PropertiesFileDocumentSetupParticipant(), provider); - setParentDocumentProvider(provider); - } - - /* - * @see org.eclipse.ui.editors.text.TextFileDocumentProvider#createFileInfo(java.lang.Object) - */ - protected FileInfo createFileInfo(Object element) throws CoreException { - if (JAVA_PROPERTIES_FILE_CONTENT_TYPE == null || !(element instanceof IFileEditorInput)) - return null; - - IFileEditorInput input= (IFileEditorInput)element; - - IFile file= input.getFile(); - if (file == null || !file.isAccessible()) - return null; - - IContentDescription description= file.getContentDescription(); - if (description == null || description.getContentType() == null || !description.getContentType().isKindOf(JAVA_PROPERTIES_FILE_CONTENT_TYPE)) - return null; - - return super.createFileInfo(element); - } - - /* - * @see org.eclipse.ui.editors.text.TextFileDocumentProvider#createSaveOperation(java.lang.Object, org.eclipse.jface.text.IDocument, boolean) - * @since 3.1 - */ - protected DocumentProviderOperation createSaveOperation(final Object element, final IDocument document, final boolean overwrite) throws CoreException { - if (getFileInfo(element) == null) - return null; - - return super.createSaveOperation(element, document, overwrite); - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileDocumentSetupParticipant.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileDocumentSetupParticipant.java deleted file mode 100644 index 5f39846..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileDocumentSetupParticipant.java +++ /dev/null
@@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor; - -import org.eclipse.core.filebuffers.IDocumentSetupParticipant; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IDocumentExtension3; -import org.eclipse.jface.text.IDocumentPartitioner; -import org.eclipse.jface.text.rules.FastPartitioner; - -/** - * The document setup participant for a properties file document. - * - * @since 3.1 - */ -public class PropertiesFileDocumentSetupParticipant implements IDocumentSetupParticipant { - - /* - * @see org.eclipse.core.filebuffers.IDocumentSetupParticipant#setup(org.eclipse.jface.text.IDocument) - */ - public void setup(IDocument document) { - setupDocument(document); - } - - /** - * @see org.eclipse.core.filebuffers.IDocumentSetupParticipant#setup(org.eclipse.jface.text.IDocument) - */ - public static void setupDocument(IDocument document) { - IDocumentPartitioner partitioner= createDocumentPartitioner(); - if (document instanceof IDocumentExtension3) { - IDocumentExtension3 extension3= (IDocumentExtension3) document; - extension3.setDocumentPartitioner(IPropertiesFilePartitions.PROPERTIES_FILE_PARTITIONING, partitioner); - } else { - document.setDocumentPartitioner(partitioner); - } - partitioner.connect(document); - } - - /** - * Factory method for creating a properties file document specific document - * partitioner. - * - * @return a newly created properties file document partitioner - */ - private static IDocumentPartitioner createDocumentPartitioner() { - return new FastPartitioner(new PropertiesFilePartitionScanner(), IPropertiesFilePartitions.PARTITIONS); - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileEditor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileEditor.java deleted file mode 100644 index d7af86a..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileEditor.java +++ /dev/null
@@ -1,139 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor; - -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.text.source.ISourceViewer; -import org.eclipse.jface.util.PropertyChangeEvent; -import org.eclipse.swt.SWT; -import org.eclipse.ui.IPageLayout; -import org.eclipse.ui.editors.text.TextEditor; -import org.eclipse.ui.part.IShowInTargetList; -import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin; -import org.eclipse.wst.jsdt.ui.JavaScriptUI; -import org.eclipse.wst.jsdt.ui.actions.IJavaEditorActionDefinitionIds; -import org.eclipse.wst.jsdt.ui.actions.JdtActionConstants; -import org.eclipse.wst.jsdt.ui.text.JavaScriptTextTools; - -/** - * Properties file editor. - * - * @since 3.1 - */ -public class PropertiesFileEditor extends TextEditor { - - - /** Open action. */ - protected OpenAction fOpenAction; - - - /** - * Creates a new properties file editor. - */ - public PropertiesFileEditor() { - setDocumentProvider(JavaScriptPlugin.getDefault().getPropertiesFileDocumentProvider()); - IPreferenceStore store= JavaScriptPlugin.getDefault().getCombinedPreferenceStore(); - setPreferenceStore(store); - JavaScriptTextTools textTools= JavaScriptPlugin.getDefault().getJavaTextTools(); - setSourceViewerConfiguration(new PropertiesFileSourceViewerConfiguration(textTools.getColorManager(), store, this, IPropertiesFilePartitions.PROPERTIES_FILE_PARTITIONING)); - } - - - /* - * @see org.eclipse.ui.editors.text.TextEditor#createActions() - */ - protected void createActions() { - super.createActions(); - - fOpenAction= new OpenAction(this); - fOpenAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_EDITOR); - setAction(JdtActionConstants.OPEN, fOpenAction); - } - - /* - * @see AbstractTextEditor#handlePreferenceStoreChanged(PropertyChangeEvent) - */ - protected void handlePreferenceStoreChanged(PropertyChangeEvent event) { - - try { - - ISourceViewer sourceViewer= getSourceViewer(); - if (sourceViewer == null) - return; - - ((PropertiesFileSourceViewerConfiguration) getSourceViewerConfiguration()).handlePropertyChangeEvent(event); - - } finally { - super.handlePreferenceStoreChanged(event); - } - } - - /* - * @see AbstractTextEditor#affectsTextPresentation(PropertyChangeEvent) - */ - protected boolean affectsTextPresentation(PropertyChangeEvent event) { - return ((PropertiesFileSourceViewerConfiguration)getSourceViewerConfiguration()).affectsTextPresentation(event) || super.affectsTextPresentation(event); - } - - - /* - * @see org.eclipse.ui.editors.text.TextEditor#getAdapter(java.lang.Class) - */ - public Object getAdapter(Class adapter) { - if (adapter == IShowInTargetList.class) { - return new IShowInTargetList() { - public String[] getShowInTargetIds() { - return new String[] { JavaScriptUI.ID_PACKAGES, IPageLayout.ID_RES_NAV }; - } - - }; - } - return super.getAdapter(adapter); - } - - /* - * @see org.eclipse.ui.part.WorkbenchPart#getOrientation() - * @since 3.2 - */ - public int getOrientation() { - return SWT.LEFT_TO_RIGHT; // properties editors are always left to right by default (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=110986) - } - - /* - * @see org.eclipse.ui.texteditor.StatusTextEditor#updateStatusField(java.lang.String) - */ - protected void updateStatusField(String category) { - super.updateStatusField(category); - if (getEditorSite() != null) { - getEditorSite().getActionBars().getStatusLineManager().setMessage(null); - getEditorSite().getActionBars().getStatusLineManager().setErrorMessage(null); - } - } - - /* - * @see org.eclipse.ui.texteditor.AbstractTextEditor#getSourceViewer() - */ - ISourceViewer internalGetSourceViewer() { - return getSourceViewer(); - } - - /* - * @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#collectContextMenuPreferencePages() - * @since 3.1 - */ - protected String[] collectContextMenuPreferencePages() { - String[] ids= super.collectContextMenuPreferencePages(); - String[] more= new String[ids.length + 1]; - more[0]= "org.eclipse.wst.jsdt.ui.preferences.PropertiesFileEditorPreferencePage"; //$NON-NLS-1$ - System.arraycopy(ids, 0, more, 1, ids.length); - return more; - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileEditorActionContributor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileEditorActionContributor.java deleted file mode 100644 index 598194f..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileEditorActionContributor.java +++ /dev/null
@@ -1,54 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor; - -import org.eclipse.jface.action.IStatusLineManager; -import org.eclipse.ui.IActionBars; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.editors.text.TextEditorActionContributor; -import org.eclipse.ui.texteditor.ITextEditor; -import org.eclipse.wst.jsdt.ui.actions.JdtActionConstants; - - -/** - * Action contributor for Properties file editor. - * - * @since 3.1 - */ -public class PropertiesFileEditorActionContributor extends TextEditorActionContributor { - - - /* - * @see EditorActionBarContributor#setActiveEditor(IEditorPart) - */ - public void setActiveEditor(IEditorPart part) { - super.setActiveEditor(part); - - IActionBars actionBars= getActionBars(); - IStatusLineManager manager= actionBars.getStatusLineManager(); - manager.setMessage(null); - manager.setErrorMessage(null); - - ITextEditor textEditor= null; - if (part instanceof ITextEditor) - textEditor= (ITextEditor)part; - - actionBars.setGlobalActionHandler(JdtActionConstants.OPEN, getAction(textEditor, JdtActionConstants.OPEN)); - } - - /* - * @see IEditorActionBarContributor#dispose() - */ - public void dispose() { - setActiveEditor(null); - super.dispose(); - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileEditorMessages.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileEditorMessages.java deleted file mode 100644 index d954572..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileEditorMessages.java +++ /dev/null
@@ -1,60 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor; - -import java.util.ResourceBundle; - -import org.eclipse.osgi.util.NLS; - -/** - * Helper class to get NLSed messages. - * - * @since 3.1 - */ -final class PropertiesFileEditorMessages extends NLS { - - private static final String BUNDLE_FOR_CONSTRUCTED_KEYS= "org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor.ConstructedPropertiesFileEditorMessages";//$NON-NLS-1$ - private static ResourceBundle fgBundleForConstructedKeys= ResourceBundle.getBundle(BUNDLE_FOR_CONSTRUCTED_KEYS); - - /** - * Returns the message bundle which contains constructed keys. - * - * @since 3.1 - * @return the message bundle - */ - public static ResourceBundle getBundleForConstructedKeys() { - return fgBundleForConstructedKeys; - } - - private static final String BUNDLE_NAME= PropertiesFileEditorMessages.class.getName(); - - private PropertiesFileEditorMessages() { - // Do not instantiate - } - - public static String OpenAction_label; - public static String OpenAction_tooltip; - public static String OpenAction_error_title; - public static String OpenAction_error_message; - public static String OpenAction_error_messageArgs; - public static String OpenAction_error_messageProblems; - public static String OpenAction_error_messageErrorSearchingKey; - public static String OpenAction_error_messageNoResult; - public static String OpenAction_SelectionDialog_title; - public static String OpenAction_SelectionDialog_details; - public static String OpenAction_SelectionDialog_message; - public static String OpenAction_SelectionDialog_elementLabel; - public static String OpenAction_SelectionDialog_elementLabelWithMatchCount; - - static { - NLS.initializeMessages(BUNDLE_NAME, PropertiesFileEditorMessages.class); - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileEditorMessages.properties b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileEditorMessages.properties deleted file mode 100644 index 5c72fd6..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileEditorMessages.properties +++ /dev/null
@@ -1,31 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2007 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -OpenAction_label= &Open -OpenAction_tooltip= Open an Editor on the Selected Properties Key - -OpenAction_error_title= Open -OpenAction_error_message= Cannot open default editor. -OpenAction_error_messageArgs= Cannot open default editor on {0}: \n{1} -OpenAction_error_messageProblems= Problems Opening Editor -OpenAction_error_messageErrorSearchingKey= Error searching references to the selected properties key -OpenAction_error_messageNoResult= Found no references to the selected properties key - -OpenAction_SelectionDialog_title= Open -OpenAction_SelectionDialog_details= &Details -OpenAction_SelectionDialog_message= &Select or enter the file to open (? = any character, * = any String): - -# The first argument is the line number and the second is the full file path -OpenAction_SelectionDialog_elementLabel= Line {0} - {1} - -# The first argument is the file name and the second is number of matches in that file -OpenAction_SelectionDialog_elementLabelWithMatchCount= {0} ({1} matches) -
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFilePartitionScanner.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFilePartitionScanner.java deleted file mode 100644 index 3d96fc5..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFilePartitionScanner.java +++ /dev/null
@@ -1,121 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.rules.EndOfLineRule; -import org.eclipse.jface.text.rules.ICharacterScanner; -import org.eclipse.jface.text.rules.IPredicateRule; -import org.eclipse.jface.text.rules.IToken; -import org.eclipse.jface.text.rules.IWordDetector; -import org.eclipse.jface.text.rules.RuleBasedPartitionScanner; -import org.eclipse.jface.text.rules.SingleLineRule; -import org.eclipse.jface.text.rules.Token; -import org.eclipse.jface.text.rules.WordRule; - -/** - * This scanner recognizes the comments, property keys and property values. - * - * @since 3.1 - */ -public class PropertiesFilePartitionScanner extends RuleBasedPartitionScanner implements IPropertiesFilePartitions { - - /** - * Detector for empty comments. - */ - static class EmptyCommentDetector implements IWordDetector { - - /* - * @see IWordDetector#isWordStart - */ - public boolean isWordStart(char c) { - return (c == '#'); - } - - /* - * @see IWordDetector#isWordPart - */ - public boolean isWordPart(char c) { - return (c == '#'); - } - } - - - /** - * Word rule for empty comments. - */ - static class EmptyCommentRule extends WordRule implements IPredicateRule { - - private IToken fSuccessToken; - /** - * Constructor for EmptyCommentRule. - * @param successToken the success token - */ - public EmptyCommentRule(IToken successToken) { - super(new EmptyCommentDetector()); - fSuccessToken= successToken; - addWord("#", fSuccessToken); //$NON-NLS-1$ - } - - /* - * @see IPredicateRule#evaluate(ICharacterScanner, boolean) - */ - public IToken evaluate(ICharacterScanner scanner, boolean resume) { - return evaluate(scanner); - } - - /* - * @see IPredicateRule#getSuccessToken() - */ - public IToken getSuccessToken() { - return fSuccessToken; - } - } - - - /** - * Creates the partitioner and sets up the appropriate rules. - */ - public PropertiesFilePartitionScanner() { - super(); - - IToken comment= new Token(COMMENT); - IToken propertyValue= new Token(PROPERTY_VALUE); - IToken key= new Token(IDocument.DEFAULT_CONTENT_TYPE); - - List rules= new ArrayList(); - - // Add rule for leading white space. - rules.add(new LeadingWhitespacePredicateRule(key, "\t")); //$NON-NLS-1$ - rules.add(new LeadingWhitespacePredicateRule(key, " ")); //$NON-NLS-1$ - - // Add rules for comments. - rules.add(new EndOfLineRule("#", comment, (char) 0, true)); //$NON-NLS-1$ - rules.add(new EndOfLineRule("!", comment, (char) 0, true)); //$NON-NLS-1$ - - // Add rules for property values. - rules.add(new SingleLineRule("=", null, propertyValue, '\\', true, true)); //$NON-NLS-1$ - rules.add(new SingleLineRule(":", null, propertyValue, '\\', true, true)); //$NON-NLS-1$ - rules.add(new SingleLineRule(" ", null, propertyValue, '\\', true, true)); //$NON-NLS-1$ - rules.add(new SingleLineRule("\t", null, propertyValue, '\\', true, true)); //$NON-NLS-1$ - - // Add special case word rule. - EmptyCommentRule wordRule= new EmptyCommentRule(comment); - rules.add(wordRule); - - IPredicateRule[] result= new IPredicateRule[rules.size()]; - rules.toArray(result); - setPredicateRules(result); - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileSourceViewerConfiguration.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileSourceViewerConfiguration.java deleted file mode 100644 index 1b3e1c9..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertiesFileSourceViewerConfiguration.java +++ /dev/null
@@ -1,308 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor; - -import java.util.Map; - -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.wst.jsdt.internal.ui.text.html.HTMLTextPresenter; -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.text.DefaultInformationControl; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IInformationControl; -import org.eclipse.jface.text.IInformationControlCreator; -import org.eclipse.jface.text.ITextDoubleClickStrategy; -import org.eclipse.jface.text.presentation.IPresentationReconciler; -import org.eclipse.jface.text.presentation.PresentationReconciler; -import org.eclipse.jface.text.reconciler.IReconciler; -import org.eclipse.jface.text.reconciler.IReconcilingStrategy; -import org.eclipse.jface.text.reconciler.MonoReconciler; -import org.eclipse.jface.text.rules.DefaultDamagerRepairer; -import org.eclipse.jface.text.rules.RuleBasedScanner; -import org.eclipse.jface.text.source.Annotation; -import org.eclipse.jface.text.source.IAnnotationHover; -import org.eclipse.jface.text.source.ISourceViewer; -import org.eclipse.jface.util.PropertyChangeEvent; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.editors.text.EditorsUI; -import org.eclipse.ui.editors.text.TextSourceViewerConfiguration; -import org.eclipse.ui.texteditor.ITextEditor; -import org.eclipse.ui.texteditor.spelling.SpellingReconcileStrategy; -import org.eclipse.ui.texteditor.spelling.SpellingService; -import org.eclipse.wst.jsdt.internal.ui.text.AbstractJavaScanner; -import org.eclipse.wst.jsdt.internal.ui.text.HTMLAnnotationHover; -import org.eclipse.wst.jsdt.internal.ui.text.JavaPresentationReconciler; -import org.eclipse.wst.jsdt.internal.ui.text.SingleTokenJavaScanner; -import org.eclipse.wst.jsdt.internal.ui.text.java.JavaStringDoubleClickSelector; -import org.eclipse.wst.jsdt.ui.PreferenceConstants; -import org.eclipse.wst.jsdt.ui.text.IColorManager; - -/** - * Configuration for a source viewer which shows a properties file. - * <p> - * This class may be instantiated; it is not intended to be subclassed. - * </p> - * - * @since 3.1 - */ -public class PropertiesFileSourceViewerConfiguration extends TextSourceViewerConfiguration { - - /** Properties file content type */ - private static final IContentType PROPERTIES_CONTENT_TYPE= Platform.getContentTypeManager().getContentType("org.eclipse.wst.jsdt.core.javaProperties"); //$NON-NLS-1$ - - /** - * The text editor. - */ - private ITextEditor fTextEditor; - /** - * The document partitioning. - */ - private String fDocumentPartitioning; - /** - * The property key scanner. - */ - private AbstractJavaScanner fPropertyKeyScanner; - /** - * The comment scanner. - */ - private AbstractJavaScanner fCommentScanner; - /** - * The property value scanner. - */ - private AbstractJavaScanner fPropertyValueScanner; - /** - * The color manager. - */ - private IColorManager fColorManager; - - - /** - * Creates a new properties file source viewer configuration for viewers in the given editor - * using the given preference store, the color manager and the specified document partitioning. - * - * @param colorManager the color manager - * @param preferenceStore the preference store, can be read-only - * @param editor the editor in which the configured viewer(s) will reside - * @param partitioning the document partitioning for this configuration - */ - public PropertiesFileSourceViewerConfiguration(IColorManager colorManager, IPreferenceStore preferenceStore, ITextEditor editor, String partitioning) { - super(preferenceStore); - fColorManager= colorManager; - fTextEditor= editor; - fDocumentPartitioning= partitioning; - initializeScanners(); - } - - /** - * Returns the property key scanner for this configuration. - * - * @return the property key scanner - */ - protected RuleBasedScanner getPropertyKeyScanner() { - return fPropertyKeyScanner; - } - - /** - * Returns the comment scanner for this configuration. - * - * @return the comment scanner - */ - protected RuleBasedScanner getCommentScanner() { - return fCommentScanner; - } - - /** - * Returns the property value scanner for this configuration. - * - * @return the property value scanner - */ - protected RuleBasedScanner getPropertyValueScanner() { - return fPropertyValueScanner; - } - - /** - * Returns the color manager for this configuration. - * - * @return the color manager - */ - protected IColorManager getColorManager() { - return fColorManager; - } - - /** - * Returns the editor in which the configured viewer(s) will reside. - * - * @return the enclosing editor - */ - protected ITextEditor getEditor() { - return fTextEditor; - } - - /** - * Initializes the scanners. - */ - private void initializeScanners() { - fPropertyKeyScanner= new SingleTokenJavaScanner(getColorManager(), fPreferenceStore, PreferenceConstants.PROPERTIES_FILE_COLORING_KEY); - fPropertyValueScanner= new PropertyValueScanner(getColorManager(), fPreferenceStore); - fCommentScanner= new SingleTokenJavaScanner(getColorManager(), fPreferenceStore, PreferenceConstants.PROPERTIES_FILE_COLORING_COMMENT); - } - - /* - * @see SourceViewerConfiguration#getPresentationReconciler(ISourceViewer) - */ - public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) { - - PresentationReconciler reconciler= new JavaPresentationReconciler(); - reconciler.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer)); - - DefaultDamagerRepairer dr= new DefaultDamagerRepairer(getPropertyKeyScanner()); - reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE); - reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE); - - dr= new DefaultDamagerRepairer(getCommentScanner()); - reconciler.setDamager(dr, IPropertiesFilePartitions.COMMENT); - reconciler.setRepairer(dr, IPropertiesFilePartitions.COMMENT); - - dr= new DefaultDamagerRepairer(getPropertyValueScanner()); - reconciler.setDamager(dr, IPropertiesFilePartitions.PROPERTY_VALUE); - reconciler.setRepairer(dr, IPropertiesFilePartitions.PROPERTY_VALUE); - - return reconciler; - } - - /* - * @see SourceViewerConfiguration#getDoubleClickStrategy(ISourceViewer, String) - */ - public ITextDoubleClickStrategy getDoubleClickStrategy(ISourceViewer sourceViewer, String contentType) { - if (IDocument.DEFAULT_CONTENT_TYPE.equals(contentType)) - return new JavaStringDoubleClickSelector(getConfiguredDocumentPartitioning(sourceViewer)); - - return super.getDoubleClickStrategy(sourceViewer, contentType); - } - - /* - * @see SourceViewerConfiguration#getConfiguredContentTypes(ISourceViewer) - */ - public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) { - int length= IPropertiesFilePartitions.PARTITIONS.length; - String[] contentTypes= new String[length + 1]; - contentTypes[0]= IDocument.DEFAULT_CONTENT_TYPE; - for (int i= 0; i < length; i++) - contentTypes[i+1]= IPropertiesFilePartitions.PARTITIONS[i]; - - return contentTypes; - } - - /* - * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getConfiguredDocumentPartitioning(org.eclipse.jface.text.source.ISourceViewer) - */ - public String getConfiguredDocumentPartitioning(ISourceViewer sourceViewer) { - if (fDocumentPartitioning != null) - return fDocumentPartitioning; - return super.getConfiguredDocumentPartitioning(sourceViewer); - } - - /** - * Determines whether the preference change encoded by the given event - * changes the behavior of one of its contained components. - * - * @param event the event to be investigated - * @return <code>true</code> if event causes a behavioral change - */ - public boolean affectsTextPresentation(PropertyChangeEvent event) { - return fPropertyKeyScanner.affectsBehavior(event) - || fCommentScanner.affectsBehavior(event) - || fPropertyValueScanner.affectsBehavior(event); - } - - /** - * Adapts the behavior of the contained components to the change - * encoded in the given event. - * - * @param event the event to which to adapt - * @see PropertiesFileSourceViewerConfiguration#PropertiesFileSourceViewerConfiguration(IColorManager, IPreferenceStore, ITextEditor, String) - */ - public void handlePropertyChangeEvent(PropertyChangeEvent event) { - if (fPropertyKeyScanner.affectsBehavior(event)) - fPropertyKeyScanner.adaptToPreferenceChange(event); - if (fCommentScanner.affectsBehavior(event)) - fCommentScanner.adaptToPreferenceChange(event); - if (fPropertyValueScanner.affectsBehavior(event)) - fPropertyValueScanner.adaptToPreferenceChange(event); - } - - /* - * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getHyperlinkDetectorTargets(org.eclipse.jface.text.source.ISourceViewer) - * @since 3.3 - */ - protected Map getHyperlinkDetectorTargets(ISourceViewer sourceViewer) { - Map targets= super.getHyperlinkDetectorTargets(sourceViewer); - targets.put("org.eclipse.wst.jsdt.ui.PropertiesFileEditor", fTextEditor); //$NON-NLS-1$ - return targets; - } - - /* - * @see SourceViewerConfiguration#getAnnotationHover(ISourceViewer) - */ - public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) { - return new HTMLAnnotationHover() { - protected boolean isIncluded(Annotation annotation) { - return isShowInVerticalRuler(annotation); - } - }; - } - - /* - * @see SourceViewerConfiguration#getOverviewRulerAnnotationHover(ISourceViewer) - */ - public IAnnotationHover getOverviewRulerAnnotationHover(ISourceViewer sourceViewer) { - return new HTMLAnnotationHover() { - protected boolean isIncluded(Annotation annotation) { - return isShowInOverviewRuler(annotation); - } - }; - } - - /* - * @see SourceViewerConfiguration#getInformationControlCreator(ISourceViewer) - */ - public IInformationControlCreator getInformationControlCreator(ISourceViewer sourceViewer) { - return new IInformationControlCreator() { - public IInformationControl createInformationControl(Shell parent) { - return new DefaultInformationControl(parent, SWT.NONE, new HTMLTextPresenter(true)); - } - }; - } - - /* - * @see org.eclipse.ui.editors.text.TextSourceViewerConfiguration#getReconciler(org.eclipse.jface.text.source.ISourceViewer) - */ - public IReconciler getReconciler(ISourceViewer sourceViewer) { - if (!EditorsUI.getPreferenceStore().getBoolean(SpellingService.PREFERENCE_SPELLING_ENABLED)) - return null; - - IReconcilingStrategy strategy= new SpellingReconcileStrategy(sourceViewer, EditorsUI.getSpellingService()) { - protected IContentType getContentType() { - return PROPERTIES_CONTENT_TYPE; - } - }; - - MonoReconciler reconciler= new MonoReconciler(strategy, false); - reconciler.setIsIncrementalReconciler(false); - reconciler.setProgressMonitor(new NullProgressMonitor()); - reconciler.setDelay(500); - return reconciler; - } - -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertyKeyHyperlink.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertyKeyHyperlink.java deleted file mode 100644 index b12ab02..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertyKeyHyperlink.java +++ /dev/null
@@ -1,509 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor; - -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.regex.Pattern; - -import org.eclipse.core.filebuffers.FileBuffers; -import org.eclipse.core.filebuffers.ITextFileBuffer; -import org.eclipse.core.filebuffers.ITextFileBufferManager; -import org.eclipse.core.filebuffers.LocationKind; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IStorage; -import org.eclipse.core.runtime.Assert; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.PlatformObject; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.SubProgressMonitor; -import org.eclipse.jface.dialogs.ErrorDialog; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IRegion; -import org.eclipse.jface.text.hyperlink.IHyperlink; -import org.eclipse.jface.viewers.ILabelProvider; -import org.eclipse.jface.window.Window; -import org.eclipse.search.core.text.TextSearchEngine; -import org.eclipse.search.core.text.TextSearchMatchAccess; -import org.eclipse.search.core.text.TextSearchRequestor; -import org.eclipse.search.core.text.TextSearchScope; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.IStorageEditorInput; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.dialogs.TwoPaneElementSelector; -import org.eclipse.ui.model.IWorkbenchAdapter; -import org.eclipse.ui.model.WorkbenchLabelProvider; -import org.eclipse.ui.texteditor.IEditorStatusLine; -import org.eclipse.ui.texteditor.ITextEditor; -import org.eclipse.wst.jsdt.core.IJavaScriptElement; -import org.eclipse.wst.jsdt.core.JavaScriptCore; -import org.eclipse.wst.jsdt.core.JavaScriptModelException; -import org.eclipse.wst.jsdt.core.search.IJavaScriptSearchConstants; -import org.eclipse.wst.jsdt.core.search.IJavaScriptSearchScope; -import org.eclipse.wst.jsdt.core.search.SearchEngine; -import org.eclipse.wst.jsdt.core.search.SearchMatch; -import org.eclipse.wst.jsdt.core.search.SearchPattern; -import org.eclipse.wst.jsdt.core.search.SearchRequestor; -import org.eclipse.wst.jsdt.internal.corext.util.Messages; -import org.eclipse.wst.jsdt.internal.corext.util.SearchUtils; -import org.eclipse.wst.jsdt.internal.ui.IJavaStatusConstants; -import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin; -import org.eclipse.wst.jsdt.internal.ui.javaeditor.EditorUtility; -import org.eclipse.wst.jsdt.internal.ui.util.ExceptionHandler; -import org.eclipse.wst.jsdt.internal.ui.util.PatternConstructor; -import org.eclipse.wst.jsdt.ui.JavaScriptUI; - -import com.ibm.icu.text.Collator; - - -/** - * Properties key hyperlink. - * <p> - * XXX: This does not work for properties files coming from a JAR due to - * missing J Core functionality. For details see: - * https://bugs.eclipse.org/bugs/show_bug.cgi?id=22376 - * </p> - * - * @since 3.1 - */ -public class PropertyKeyHyperlink implements IHyperlink { - - - private static class KeyReference extends PlatformObject implements IWorkbenchAdapter, Comparable { - - private static final Collator fgCollator= Collator.getInstance(); - - private IStorage storage; - private int offset; - private int length; - - - private KeyReference(IStorage storage, int offset, int length) { - Assert.isNotNull(storage); - this.storage= storage; - this.offset= offset; - this.length= length; - } - - /* - * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) - */ - public Object getAdapter(Class adapter) { - if (adapter == IWorkbenchAdapter.class) - return this; - else - return super.getAdapter(adapter); - } - /* - * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object) - */ - public Object[] getChildren(Object o) { - return null; - } - /* - * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object) - */ - public ImageDescriptor getImageDescriptor(Object object) { - IWorkbenchAdapter wbAdapter= (IWorkbenchAdapter)storage.getAdapter(IWorkbenchAdapter.class); - if (wbAdapter != null) - return wbAdapter.getImageDescriptor(storage); - return null; - } - /* - * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object) - */ - public String getLabel(Object o) { - - ITextFileBufferManager manager= FileBuffers.getTextFileBufferManager(); - try { - manager.connect(storage.getFullPath(), LocationKind.NORMALIZE, null); - try { - ITextFileBuffer buffer= manager.getTextFileBuffer(storage.getFullPath(), LocationKind.NORMALIZE); - IDocument document= buffer.getDocument(); - if (document != null) { - int line= document.getLineOfOffset(offset) + 1; - Object[] args= new Object[] { new Integer(line), storage.getFullPath() }; - return Messages.format(PropertiesFileEditorMessages.OpenAction_SelectionDialog_elementLabel, args); - } - } finally { - manager.disconnect(storage.getFullPath(), LocationKind.NORMALIZE, null); - } - } catch (CoreException e) { - JavaScriptPlugin.log(e.getStatus()); - } catch (BadLocationException e) { - JavaScriptPlugin.log(e); - } - - return storage.getFullPath().toString(); - } - /* - * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object) - */ - public Object getParent(Object o) { - return null; - } - - public int compareTo(Object o) { - KeyReference otherRef= (KeyReference)o; - String thisPath= storage.getFullPath().toString(); - String otherPath= otherRef.storage.getFullPath().toString(); - int result= fgCollator.compare(thisPath, otherPath); - if (result != 0) - return result; - else - return offset - otherRef.offset; - } - } - - - private static class ResultCollector extends TextSearchRequestor { - - private List fResult; - private boolean fIsKeyDoubleQuoted; - - public ResultCollector(List result, boolean isKeyDoubleQuoted) { - fResult= result; - fIsKeyDoubleQuoted= isKeyDoubleQuoted; - } - - public boolean acceptPatternMatch(TextSearchMatchAccess matchAccess) throws CoreException { - int start= matchAccess.getMatchOffset(); - int length= matchAccess.getMatchLength(); - - if (fIsKeyDoubleQuoted) { - start= start + 1; - length= length - 2; - } - fResult.add(new KeyReference(matchAccess.getFile(), start, length)); - return true; - } - } - - - private IRegion fRegion; - private String fPropertiesKey; - private Shell fShell; - private IStorage fStorage; - private ITextEditor fEditor; - - - /** - * Creates a new properties key hyperlink. - * - * @param region the region - * @param key the properties key - * @param editor the text editor - */ - public PropertyKeyHyperlink(IRegion region, String key, ITextEditor editor) { - Assert.isNotNull(region); - Assert.isNotNull(key); - Assert.isNotNull(editor); - - fRegion= region; - fPropertiesKey= key; - fEditor= editor; - IStorageEditorInput storageEditorInput= (IStorageEditorInput)fEditor.getEditorInput(); - fShell= fEditor.getEditorSite().getShell(); - try { - fStorage= storageEditorInput.getStorage(); - } catch (CoreException e) { - fStorage= null; - } - } - - /* - * @see org.eclipse.wst.jsdt.internal.ui.javaeditor.IHyperlink#getHyperlinkRegion() - */ - public IRegion getHyperlinkRegion() { - return fRegion; - } - - /* - * @see org.eclipse.wst.jsdt.internal.ui.javaeditor.IHyperlink#open() - */ - public void open() { - if (!checkEnabled()) - return; - - // Search the key - IResource resource= (IResource)fStorage; - KeyReference[] references= null; - if (resource != null) - references= search(resource.getProject(), fPropertiesKey); - - if (references == null) - return; // canceled by the user - - if (references.length == 0) { - String message= PropertiesFileEditorMessages.OpenAction_error_messageNoResult; - showErrorInStatusLine(message); - return; - } - - open(references); - - } - - private boolean checkEnabled() { - // XXX: Can be removed once support for JARs is available (see class Javadoc for details) - return fStorage instanceof IResource; - } - - private void open(KeyReference[] keyReferences) { - Assert.isLegal(keyReferences != null && keyReferences.length > 0); - - if (keyReferences.length == 1) - open(keyReferences[0]); - else - open(select(keyReferences)); - } - - /** - * Opens a dialog which allows to select a key reference. - * <p> - * FIXME: The lower pane is currently not sorted due to https://bugs.eclipse.org/bugs/show_bug.cgi?id=84220 - * </p> - * - * @param keyReferences the array of key references - * @return the selected key reference or <code>null</code> if canceled by the user - */ - private KeyReference select(final KeyReference[] keyReferences) { - Arrays.sort(keyReferences); - final int length= keyReferences.length; - ILabelProvider labelProvider= new WorkbenchLabelProvider() { - public String decorateText(String input, Object element) { - KeyReference keyRef= (KeyReference)element; - IStorage storage= keyRef.storage; - String name= storage.getName(); - if (name == null) - return input; - - int count= 0; - for (int i= 0; i < length; i++) { - if (keyReferences[i].storage.equals(storage)) - count++; - } - if (count > 1) { - Object[] args= new Object[] { name, new Integer(count) }; - name= Messages.format(PropertiesFileEditorMessages.OpenAction_SelectionDialog_elementLabelWithMatchCount, args); - } - - return name; - } - }; - - TwoPaneElementSelector dialog= new TwoPaneElementSelector(fShell, labelProvider, new WorkbenchLabelProvider()); - dialog.setLowerListLabel(PropertiesFileEditorMessages.OpenAction_SelectionDialog_details); - dialog.setMultipleSelection(false); - dialog.setTitle(PropertiesFileEditorMessages.OpenAction_SelectionDialog_title); - dialog.setMessage(PropertiesFileEditorMessages.OpenAction_SelectionDialog_message); - dialog.setElements(keyReferences); - - if (dialog.open() == Window.OK) { - Object[] result= dialog.getResult(); - if (result != null && result.length == 1) - return (KeyReference)result[0]; - } - - return null; - } - - private void open(KeyReference keyReference) { - if (keyReference == null) - return; - - try { - IEditorPart part= EditorUtility.openInEditor(keyReference.storage, true); - EditorUtility.revealInEditor(part, keyReference.offset, keyReference.length); - } catch (JavaScriptModelException e) { - JavaScriptPlugin.log(new Status(IStatus.ERROR, JavaScriptPlugin.getPluginId(), - IJavaStatusConstants.INTERNAL_ERROR, PropertiesFileEditorMessages.OpenAction_error_message, e)); - - ErrorDialog.openError(fShell, - getErrorDialogTitle(), - PropertiesFileEditorMessages.OpenAction_error_messageProblems, - e.getStatus()); - - } catch (PartInitException x) { - - String message= null; - - IWorkbenchAdapter wbAdapter= (IWorkbenchAdapter)((IAdaptable)keyReference).getAdapter(IWorkbenchAdapter.class); - if (wbAdapter != null) - message= Messages.format(PropertiesFileEditorMessages.OpenAction_error_messageArgs, - new String[] { wbAdapter.getLabel(keyReference), x.getLocalizedMessage() } ); - - if (message == null) - message= Messages.format(PropertiesFileEditorMessages.OpenAction_error_message, x.getLocalizedMessage()); - - MessageDialog.openError(fShell, - PropertiesFileEditorMessages.OpenAction_error_messageProblems, - message); - } - } - - private String getErrorDialogTitle() { - return PropertiesFileEditorMessages.OpenAction_error_title; - } - - private void showError(CoreException e) { - ExceptionHandler.handle(e, fShell, getErrorDialogTitle(), PropertiesFileEditorMessages.OpenAction_error_message); - } - - private void showErrorInStatusLine(final String message) { - fShell.getDisplay().beep(); - final IEditorStatusLine statusLine= (IEditorStatusLine)fEditor.getAdapter(IEditorStatusLine.class); - if (statusLine != null) { - fShell.getDisplay().asyncExec(new Runnable() { - /* - * @see java.lang.Runnable#run() - */ - public void run() { - statusLine.setMessage(true, message, null); - } - }); - } - } - - /** - * Returns whether we search the key in double-quotes or not. - * <p> - * XXX: This is a hack to improve the accuracy of matches, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=81140 - * </p> - * - * @return <code>true</code> if we search for double-quoted key - */ - private boolean useDoubleQuotedKey() { - if (fStorage == null) - return false; - - String name= fStorage.getName(); - - return name != null && !"about.properties".equals(name) && !"feature.properties".equals(name) && !"plugin.properties".equals(name); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - } - - /** - * Searches references to the given key in the given scope. - * - * @param scope the scope - * @param key the properties key - * @return the references or <code>null</code> if the search has been canceled by the user - */ - private KeyReference[] search(final IResource scope, String key) { - if (key == null) - return new KeyReference[0]; - - final List result= new ArrayList(5); - final String searchString; - - // XXX: This is a hack to improve the accuracy of matches, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=81140 - final boolean useDoubleQuotedKey= useDoubleQuotedKey(); - if (useDoubleQuotedKey) { - StringBuffer buf= new StringBuffer("\""); //$NON-NLS-1$ - buf.append(fPropertiesKey); - buf.append('"'); - searchString= buf.toString(); - } else - searchString= fPropertiesKey; - - try { - fEditor.getEditorSite().getWorkbenchWindow().getWorkbench().getProgressService().busyCursorWhile( - new IRunnableWithProgress() { - public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { - if (monitor == null) - monitor= new NullProgressMonitor(); - - monitor.beginTask("", 5); //$NON-NLS-1$ - try { - ResultCollector collector= new ResultCollector(result, useDoubleQuotedKey); - TextSearchEngine engine= TextSearchEngine.create(); - Pattern searchPattern= PatternConstructor.createPattern(searchString, true, false); - engine.search(createScope(scope), collector, searchPattern, new SubProgressMonitor(monitor, 4)); - - if (result.size() == 0 && useDoubleQuotedKey) { - //Try without, maybe an eclipse style NLS string - IJavaScriptElement element= JavaScriptCore.create(scope); - if (element == null) - return; - - int includeMask = IJavaScriptSearchScope.SOURCES | IJavaScriptSearchScope.APPLICATION_LIBRARIES | IJavaScriptSearchScope.REFERENCED_PROJECTS; - IJavaScriptSearchScope javaSearchScope= SearchEngine.createJavaSearchScope(new IJavaScriptElement[] { element }, includeMask); - - SearchPattern pattern= SearchPattern.createPattern(fPropertiesKey, IJavaScriptSearchConstants.FIELD, IJavaScriptSearchConstants.REFERENCES, SearchPattern.R_PATTERN_MATCH | SearchPattern.R_CASE_SENSITIVE); - try { - new SearchEngine().search(pattern, SearchUtils.getDefaultSearchParticipants(), javaSearchScope, new SearchRequestor() { - public void acceptSearchMatch(SearchMatch match) throws CoreException { - result.add(new KeyReference((IStorage)match.getResource(), match.getOffset(), match.getLength())); - } - }, new SubProgressMonitor(monitor, 1)); - } catch (CoreException e) { - throw new InvocationTargetException(e); - } - } else { - monitor.worked(1); - } - } finally { - monitor.done(); - } - } - } - ); - } catch (InvocationTargetException ex) { - String message= PropertiesFileEditorMessages.OpenAction_error_messageErrorSearchingKey; - showError(new CoreException(new Status(IStatus.ERROR, JavaScriptUI.ID_PLUGIN, IStatus.OK, message, ex.getTargetException()))); - } catch (InterruptedException ex) { - return null; // canceled - } - - return (KeyReference[])result.toArray(new KeyReference[result.size()]); - } - - private static TextSearchScope createScope(IResource scope) { - ArrayList fileNamePatternStrings= new ArrayList(); - - // XXX: Should be configurable via preference, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=81117 - String[] javaExtensions= JavaScriptCore.getJavaScriptLikeExtensions(); - for (int i= 0; i < javaExtensions.length; i++) - fileNamePatternStrings.add("*." + javaExtensions[i]); //$NON-NLS-1$ - fileNamePatternStrings.add("*.xml"); //$NON-NLS-1$ - fileNamePatternStrings.add("*.ini"); //$NON-NLS-1$ - - String[] allPatternStrings= (String[]) fileNamePatternStrings.toArray(new String[fileNamePatternStrings.size()]); - Pattern fileNamePattern= PatternConstructor.createPattern(allPatternStrings, false, false); - - return TextSearchScope.newSearchScope(new IResource[] { scope }, fileNamePattern, false); - } - - /* - * @see org.eclipse.wst.jsdt.internal.ui.javaeditor.IHyperlink#getTypeLabel() - */ - public String getTypeLabel() { - return null; - } - - /* - * @see org.eclipse.wst.jsdt.internal.ui.javaeditor.IHyperlink#getHyperlinkText() - */ - public String getHyperlinkText() { - return null; - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertyKeyHyperlinkDetector.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertyKeyHyperlinkDetector.java deleted file mode 100644 index 97791b8..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertyKeyHyperlinkDetector.java +++ /dev/null
@@ -1,135 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.text.StringCharacterIterator; -import java.util.Properties; - -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.BadPartitioningException; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IDocumentExtension3; -import org.eclipse.jface.text.IRegion; -import org.eclipse.jface.text.ITextViewer; -import org.eclipse.jface.text.ITypedRegion; -import org.eclipse.jface.text.Region; -import org.eclipse.jface.text.hyperlink.AbstractHyperlinkDetector; -import org.eclipse.jface.text.hyperlink.IHyperlink; -import org.eclipse.ui.IEditorSite; -import org.eclipse.ui.IFileEditorInput; -import org.eclipse.ui.IStorageEditorInput; -import org.eclipse.ui.texteditor.ITextEditor; - - -/** - * Properties key hyperlink detector. - * <p> - * XXX: This does not work for properties files coming from a JAR due to - * missing J Core functionality. For details see: - * https://bugs.eclipse.org/bugs/show_bug.cgi?id=22376 - * </p> - * - * @since 3.1 - */ -public class PropertyKeyHyperlinkDetector extends AbstractHyperlinkDetector { - - /* - * @see org.eclipse.jface.text.hyperlink.IHyperlinkDetector#detectHyperlinks(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion, boolean) - */ - public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region, boolean canShowMultipleHyperlinks) { - ITextEditor textEditor= (ITextEditor)getAdapter(ITextEditor.class); - if (region == null || textEditor == null || canShowMultipleHyperlinks) - return null; - - IEditorSite site= textEditor.getEditorSite(); - if (site == null) - return null; - - int offset= region.getOffset(); - if (!checkEnabled(textEditor, offset)) - return null; - - ITypedRegion partition= null; - try { - IStorageEditorInput storageEditorInput= (IStorageEditorInput)textEditor.getEditorInput(); - IDocument document= textEditor.getDocumentProvider().getDocument(storageEditorInput); - if (document instanceof IDocumentExtension3) - partition= ((IDocumentExtension3)document).getPartition(IPropertiesFilePartitions.PROPERTIES_FILE_PARTITIONING, offset, false); - - // Check whether it is the correct partition - if (partition == null || !IDocument.DEFAULT_CONTENT_TYPE.equals(partition.getType())) { - return null; - } - - // Check whether the partition covers the selection - if (offset + region.getLength() > partition.getOffset() + partition.getLength()) { - return null; - } - - // Extract the key from the partition (which contains key and assignment - String key= document.get(partition.getOffset(), partition.getLength()); - - String realKey= key.trim(); - int delta= key.indexOf(realKey); - - String unicodeKey= getUnicodeString(realKey); - // Check whether the key is valid - Properties properties= new Properties(); - properties.load(new ByteArrayInputStream(document.get().getBytes())); - if (properties.getProperty(unicodeKey) == null) { - return null; - } - - return new PropertyKeyHyperlink[] {new PropertyKeyHyperlink(new Region(partition.getOffset() + delta, realKey.length()), realKey, textEditor)}; - - } catch (BadLocationException ex) { - return null; - } catch (BadPartitioningException ex) { - return null; - } catch (IOException ex) { - return null; - } - } - - private String getUnicodeString(String key) { - StringCharacterIterator iter= new StringCharacterIterator(key); - StringBuffer result= new StringBuffer(); - while (iter.getIndex() < iter.getEndIndex()) { - char c= iter.current(); - if (c == '\\') { - iter.next(); - c= iter.current(); - if (c == 'u') { - StringBuffer unicode= new StringBuffer(); - unicode.append(iter.next()); - unicode.append(iter.next()); - unicode.append(iter.next()); - unicode.append(iter.next()); - c= (char)Integer.parseInt(unicode.toString(), 16); - } - } - result.append(c); - iter.next(); - } - return result.toString(); - } - - private boolean checkEnabled(ITextEditor textEditor, int offset) { - if (offset < 0) - return false; - - // XXX: Must be changed to IStorageEditorInput once support for JARs is available (see class Javadoc for details) - return textEditor.getEditorInput() instanceof IFileEditorInput; - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertyValueScanner.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertyValueScanner.java deleted file mode 100644 index bb97084..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/propertiesfileeditor/PropertyValueScanner.java +++ /dev/null
@@ -1,113 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.IRegion; -import org.eclipse.jface.text.rules.IToken; -import org.eclipse.jface.text.rules.IWordDetector; -import org.eclipse.jface.text.rules.WhitespaceRule; -import org.eclipse.jface.text.rules.WordRule; -import org.eclipse.wst.jsdt.internal.ui.text.AbstractJavaScanner; -import org.eclipse.wst.jsdt.internal.ui.text.JavaWhitespaceDetector; -import org.eclipse.wst.jsdt.ui.PreferenceConstants; -import org.eclipse.wst.jsdt.ui.text.IColorManager; - - -/** - * A rule based property value scanner. - * - * @since 3.1 - */ -public final class PropertyValueScanner extends AbstractJavaScanner { - - public class AssignmentDetector implements IWordDetector { - - /* - * @see IWordDetector#isWordStart - */ - public boolean isWordStart(char c) { - if ('=' != c && ':' != c || fDocument == null) - return false; - - try { - // check whether it is the first '=' - IRegion lineInfo= fDocument.getLineInformationOfOffset(fOffset); - int offset= lineInfo.getOffset(); - String line= fDocument.get(offset, lineInfo.getLength()); - int i= line.indexOf(c); - return i != -1 && i + lineInfo.getOffset() + 1 == fOffset; - } catch (BadLocationException ex) { - return false; - } - } - - /* - * @see IWordDetector#isWordPart - */ - public boolean isWordPart(char c) { - return false; - } - } - - - private static String[] fgTokenProperties= { - PreferenceConstants.PROPERTIES_FILE_COLORING_VALUE, - PreferenceConstants.PROPERTIES_FILE_COLORING_ARGUMENT, - PreferenceConstants.PROPERTIES_FILE_COLORING_ASSIGNMENT - }; - - - /** - * Creates a property value code scanner - * - * @param manager the color manager - * @param store the preference store - */ - public PropertyValueScanner(IColorManager manager, IPreferenceStore store) { - super(manager, store); - initialize(); - } - - /* - * @see org.eclipse.wst.jsdt.internal.ui.text.AbstractJavaScanner#getTokenProperties() - */ - protected String[] getTokenProperties() { - return fgTokenProperties; - } - - /* - * @see org.eclipse.wst.jsdt.internal.ui.text.AbstractJavaScanner#createRules() - */ - protected List createRules() { - setDefaultReturnToken(getToken(PreferenceConstants.PROPERTIES_FILE_COLORING_VALUE)); - List rules= new ArrayList(); - - // Add rule for arguments. - IToken token= getToken(PreferenceConstants.PROPERTIES_FILE_COLORING_ARGUMENT); - rules.add(new ArgumentRule(token)); - - // Add word rule for assignment operator. - token= getToken(PreferenceConstants.PROPERTIES_FILE_COLORING_ASSIGNMENT); - WordRule wordRule= new WordRule(new AssignmentDetector(), token); - rules.add(wordRule); - - // Add generic whitespace rule. - rules.add(new WhitespaceRule(new JavaWhitespaceDetector())); - - return rules; - } -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/refactoring/code/ExtractMethodInputPage.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/refactoring/code/ExtractMethodInputPage.java index 62eee10..0423bf3 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/refactoring/code/ExtractMethodInputPage.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/refactoring/code/ExtractMethodInputPage.java
@@ -39,14 +39,13 @@ import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; import org.eclipse.wst.jsdt.internal.corext.dom.ASTNodes; import org.eclipse.wst.jsdt.internal.corext.refactoring.ParameterInfo; import org.eclipse.wst.jsdt.internal.corext.refactoring.code.ExtractMethodRefactoring; import org.eclipse.wst.jsdt.internal.corext.util.Messages; import org.eclipse.wst.jsdt.internal.ui.IJavaHelpContextIds; -import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin; import org.eclipse.wst.jsdt.internal.ui.JavaPluginImages; +import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin; import org.eclipse.wst.jsdt.internal.ui.dialogs.TextFieldNavigationHandler; import org.eclipse.wst.jsdt.internal.ui.javaeditor.JavaSourceViewer; import org.eclipse.wst.jsdt.internal.ui.preferences.JavaPreferencesSettings; @@ -236,9 +235,6 @@ return Messages.format( RefactoringMessages.ExtractMethodInputPage_anonymous_type_label, ASTNodes.asString(creation.getType())); - } else if (node.getLocationInParent() == EnumConstantDeclaration.ANONYMOUS_CLASS_DECLARATION_PROPERTY) { - EnumConstantDeclaration decl= (EnumConstantDeclaration)node.getParent(); - return decl.getName().getIdentifier(); } } return "UNKNOWN"; //$NON-NLS-1$
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/refactoring/reorg/PasteAction.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/refactoring/reorg/PasteAction.java index f476a1f..66d502b 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/refactoring/reorg/PasteAction.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/refactoring/reorg/PasteAction.java
@@ -63,9 +63,9 @@ import org.eclipse.ui.actions.CopyProjectOperation; import org.eclipse.ui.part.ResourceTransfer; import org.eclipse.wst.jsdt.core.IIncludePathEntry; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IJavaScriptElement; import org.eclipse.wst.jsdt.core.IJavaScriptProject; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IPackageDeclaration; import org.eclipse.wst.jsdt.core.IPackageFragment; import org.eclipse.wst.jsdt.core.IPackageFragmentRoot; @@ -1137,8 +1137,6 @@ private static void insertToType(ASTRewrite rewrite, ASTNode node, AbstractTypeDeclaration typeDeclaration) { switch (node.getNodeType()) { - case ASTNode.ANNOTATION_TYPE_DECLARATION: - case ASTNode.ENUM_DECLARATION: case ASTNode.TYPE_DECLARATION: case ASTNode.FUNCTION_DECLARATION: case ASTNode.FIELD_DECLARATION: @@ -1153,8 +1151,6 @@ private static void insertToCu(ASTRewrite rewrite, ASTNode node, JavaScriptUnit cuNode) { switch (node.getNodeType()) { case ASTNode.TYPE_DECLARATION: - case ASTNode.ENUM_DECLARATION: - case ASTNode.ANNOTATION_TYPE_DECLARATION: rewrite.getListRewrite(cuNode, JavaScriptUnit.TYPES_PROPERTY).insertAt(node, ASTNodes.getInsertionIndex((AbstractTypeDeclaration) node, cuNode.types()), null); break; case ASTNode.IMPORT_DECLARATION:
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/search/MethodExitsFinder.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/search/MethodExitsFinder.java index b407178..7b7f7b5 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/search/MethodExitsFinder.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/search/MethodExitsFinder.java
@@ -17,19 +17,17 @@ import org.eclipse.wst.jsdt.core.dom.AST; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.Block; import org.eclipse.wst.jsdt.core.dom.CatchClause; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.ConstructorInvocation; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Name; import org.eclipse.wst.jsdt.core.dom.ReturnStatement; import org.eclipse.wst.jsdt.core.dom.SimpleName; @@ -141,15 +139,6 @@ return false; } - public boolean visit(AnnotationTypeDeclaration node) { - // Don't dive into a local type. - return false; - } - - public boolean visit(EnumDeclaration node) { - // Don't dive into a local type. - return false; - } public boolean visit(ReturnStatement node) { fResult.add(node);
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/ASTResolving.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/ASTResolving.java index 218d04f..fbd4d4b 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/ASTResolving.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/ASTResolving.java
@@ -24,7 +24,6 @@ import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTParser; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.Annotation; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.ArrayAccess; import org.eclipse.wst.jsdt.core.dom.ArrayCreation; @@ -35,12 +34,13 @@ import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; import org.eclipse.wst.jsdt.core.dom.CastExpression; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.ConditionalExpression; import org.eclipse.wst.jsdt.core.dom.ConstructorInvocation; import org.eclipse.wst.jsdt.core.dom.Expression; import org.eclipse.wst.jsdt.core.dom.FieldAccess; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; @@ -48,9 +48,7 @@ import org.eclipse.wst.jsdt.core.dom.InfixExpression; import org.eclipse.wst.jsdt.core.dom.Initializer; import org.eclipse.wst.jsdt.core.dom.InstanceofExpression; -import org.eclipse.wst.jsdt.core.dom.MemberValuePair; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.Name; import org.eclipse.wst.jsdt.core.dom.ParameterizedType; @@ -207,12 +205,6 @@ VariableDeclaration varDecl= (VariableDeclaration) initializerParent; creationType= ASTNodes.getType(varDecl); dim-= varDecl.getExtraDimensions(); - } else if (initializerParent instanceof MemberValuePair) { - String name= ((MemberValuePair) initializerParent).getName().getIdentifier(); - IFunctionBinding annotMember= findAnnotationMember((Annotation) initializerParent.getParent(), name); - if (annotMember != null) { - return getReducedDimensionBinding(annotMember.getReturnType(), dim); - } } if (creationType != null) { while ((creationType instanceof ArrayType) && dim > 0) { @@ -283,21 +275,6 @@ return parent.getAST().resolveWellKnownType("boolean"); //$NON-NLS-1$ } return parent.getAST().resolveWellKnownType("java.lang.String"); //$NON-NLS-1$ - case ASTNode.SINGLE_MEMBER_ANNOTATION: { - IFunctionBinding annotMember= findAnnotationMember((Annotation) parent, "value"); //$NON-NLS-1$ - if (annotMember != null) { - return annotMember.getReturnType(); - } - break; - } - case ASTNode.MEMBER_VALUE_PAIR: { - String name= ((MemberValuePair) parent).getName().getIdentifier(); - IFunctionBinding annotMember= findAnnotationMember((Annotation) parent.getParent(), name); - if (annotMember != null) { - return annotMember.getReturnType(); - } - break; - } default: // do nothing } @@ -305,14 +282,6 @@ return null; } - private static IFunctionBinding findAnnotationMember(Annotation annotation, String name) { - ITypeBinding annotBinding= annotation.resolveTypeBinding(); - if (annotBinding != null) { - return Bindings.findMethodInType(annotBinding, name, (String[]) null); - } - return null; - } - public static Type guessTypeForReference(AST ast, ASTNode node) { ASTNode parent= node.getParent(); while (parent != null) { @@ -741,9 +710,6 @@ public static boolean isInsideModifiers(ASTNode node) { while (node != null && !(node instanceof BodyDeclaration)) { - if (node instanceof Annotation) { - return true; - } node= node.getParent(); } return false; @@ -850,9 +816,6 @@ kind= SimilarElementsRequestor.CLASSES; } break; - case ASTNode.ENUM_DECLARATION: - kind= SimilarElementsRequestor.INTERFACES; - break; case ASTNode.FUNCTION_DECLARATION: if (node.getLocationInParent() == FunctionDeclaration.THROWN_EXCEPTIONS_PROPERTY) { kind= SimilarElementsRequestor.CLASSES; @@ -860,9 +823,6 @@ kind= SimilarElementsRequestor.ALL_TYPES | SimilarElementsRequestor.VOIDTYPE; } break; - case ASTNode.ANNOTATION_TYPE_MEMBER_DECLARATION: - kind= SimilarElementsRequestor.PRIMITIVETYPES | SimilarElementsRequestor.ANNOTATIONS | SimilarElementsRequestor.ENUMS; - break; case ASTNode.INSTANCEOF_EXPRESSION: kind= SimilarElementsRequestor.REF_TYPES; break; @@ -885,11 +845,6 @@ case ASTNode.TAG_ELEMENT: kind= SimilarElementsRequestor.REF_TYPES; break; - case ASTNode.MARKER_ANNOTATION: - case ASTNode.SINGLE_MEMBER_ANNOTATION: - case ASTNode.NORMAL_ANNOTATION: - kind= SimilarElementsRequestor.ANNOTATIONS; - break; case ASTNode.TYPE_PARAMETER: if (((TypeParameter) parent).typeBounds().indexOf(node) > 0) { kind= SimilarElementsRequestor.INTERFACES;
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/AdvancedQuickAssistProcessor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/AdvancedQuickAssistProcessor.java index eca7a7e..1876200 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/AdvancedQuickAssistProcessor.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/AdvancedQuickAssistProcessor.java
@@ -35,19 +35,18 @@ import org.eclipse.wst.jsdt.core.dom.ConstructorInvocation; import org.eclipse.wst.jsdt.core.dom.ContinueStatement; import org.eclipse.wst.jsdt.core.dom.DoStatement; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; import org.eclipse.wst.jsdt.core.dom.Expression; import org.eclipse.wst.jsdt.core.dom.ExpressionStatement; import org.eclipse.wst.jsdt.core.dom.ForInStatement; import org.eclipse.wst.jsdt.core.dom.ForStatement; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; import org.eclipse.wst.jsdt.core.dom.IfStatement; import org.eclipse.wst.jsdt.core.dom.InfixExpression; import org.eclipse.wst.jsdt.core.dom.InstanceofExpression; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.Name; import org.eclipse.wst.jsdt.core.dom.ParenthesizedExpression; import org.eclipse.wst.jsdt.core.dom.PostfixExpression; @@ -1990,7 +1989,6 @@ || locationInParent == FunctionInvocation.ARGUMENTS_PROPERTY || locationInParent == ConstructorInvocation.ARGUMENTS_PROPERTY || locationInParent == SuperMethodInvocation.ARGUMENTS_PROPERTY - || locationInParent == EnumConstantDeclaration.ARGUMENTS_PROPERTY || locationInParent == SuperConstructorInvocation.ARGUMENTS_PROPERTY || locationInParent == ClassInstanceCreation.ARGUMENTS_PROPERTY || locationInParent == ConditionalExpression.EXPRESSION_PROPERTY
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/JavadocTagsSubProcessor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/JavadocTagsSubProcessor.java index 386f60c..1d8c9ed 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/JavadocTagsSubProcessor.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/JavadocTagsSubProcessor.java
@@ -28,18 +28,17 @@ import org.eclipse.text.edits.TextEdit; import org.eclipse.text.edits.TextEditGroup; import org.eclipse.ui.ISharedImages; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IJavaScriptProject; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.AST; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.JSdoc; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.Name; import org.eclipse.wst.jsdt.core.dom.PrimitiveType; import org.eclipse.wst.jsdt.core.dom.SimpleName; @@ -56,8 +55,8 @@ import org.eclipse.wst.jsdt.internal.corext.dom.ASTNodes; import org.eclipse.wst.jsdt.internal.corext.dom.Bindings; import org.eclipse.wst.jsdt.internal.corext.util.Strings; -import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin; import org.eclipse.wst.jsdt.internal.ui.JavaPluginImages; +import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin; import org.eclipse.wst.jsdt.internal.ui.JavaUIStatus; import org.eclipse.wst.jsdt.ui.CodeGeneration; import org.eclipse.wst.jsdt.ui.text.java.IInvocationContext; @@ -403,12 +402,6 @@ String label= CorrectionMessages.JavadocTagsSubProcessor_addjavadoc_field_description; proposals.add(new AddJavadocCommentProposal(label, cu, 1, declaration.getStartPosition(), comment)); } - } else if (declaration instanceof EnumConstantDeclaration) { - EnumConstantDeclaration enumDecl= (EnumConstantDeclaration) declaration; - String id= enumDecl.getName().getIdentifier(); - String comment= CodeGeneration.getFieldComment(cu, binding.getName(), id, String.valueOf('\n')); - String label= CorrectionMessages.JavadocTagsSubProcessor_addjavadoc_enumconst_description; - proposals.add(new AddJavadocCommentProposal(label, cu, 1, declaration.getStartPosition(), comment)); } }
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/ModifierCorrectionSubProcessor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/ModifierCorrectionSubProcessor.java index b319d6f..af2b696 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/ModifierCorrectionSubProcessor.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/ModifierCorrectionSubProcessor.java
@@ -38,7 +38,6 @@ import org.eclipse.wst.jsdt.core.compiler.IProblem; import org.eclipse.wst.jsdt.core.dom.AST; import org.eclipse.wst.jsdt.core.dom.ASTNode; -import org.eclipse.wst.jsdt.core.dom.Annotation; import org.eclipse.wst.jsdt.core.dom.Assignment; import org.eclipse.wst.jsdt.core.dom.Block; import org.eclipse.wst.jsdt.core.dom.CastExpression; @@ -677,11 +676,6 @@ FunctionDeclaration methodDecl= (FunctionDeclaration) selectedNode; AST ast= methodDecl.getAST(); ASTRewrite rewrite= ASTRewrite.create(ast); - if (is50OrHigher) { - Annotation annot= ast.newMarkerAnnotation(); - annot.setTypeName(ast.newName("Deprecated")); //$NON-NLS-1$ - rewrite.getListRewrite(methodDecl, methodDecl.getModifiersProperty()).insertFirst(annot, null); - } JSdoc javadoc= methodDecl.getJavadoc(); if (javadoc != null || !is50OrHigher) { if (!is50OrHigher) { @@ -700,24 +694,24 @@ } public static void removeOverrideAnnotationProposal(IInvocationContext context, IProblemLocation problem, Collection proposals) throws CoreException { - IJavaScriptUnit cu= context.getCompilationUnit(); - - ASTNode selectedNode= problem.getCoveringNode(context.getASTRoot()); - if (!(selectedNode instanceof FunctionDeclaration)) { - return; - } - FunctionDeclaration methodDecl= (FunctionDeclaration) selectedNode; - Annotation annot= findAnnotation("java.lang.Override", methodDecl.modifiers()); //$NON-NLS-1$ - if (annot != null) { - ASTRewrite rewrite= ASTRewrite.create(annot.getAST()); - rewrite.remove(annot, null); - String label= CorrectionMessages.ModifierCorrectionSubProcessor_remove_override; - Image image= JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE); - ASTRewriteCorrectionProposal proposal= new ASTRewriteCorrectionProposal(label, cu, rewrite, 6, image); - proposals.add(proposal); - - QuickAssistProcessor.getCreateInSuperClassProposals(context, methodDecl.getName(), proposals); - } +// IJavaScriptUnit cu= context.getCompilationUnit(); +// +// ASTNode selectedNode= problem.getCoveringNode(context.getASTRoot()); +// if (!(selectedNode instanceof FunctionDeclaration)) { +// return; +// } +// FunctionDeclaration methodDecl= (FunctionDeclaration) selectedNode; +// Annotation annot= findAnnotation("java.lang.Override", methodDecl.modifiers()); //$NON-NLS-1$ +// if (annot != null) { +// ASTRewrite rewrite= ASTRewrite.create(annot.getAST()); +// rewrite.remove(annot, null); +// String label= CorrectionMessages.ModifierCorrectionSubProcessor_remove_override; +// Image image= JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE); +// ASTRewriteCorrectionProposal proposal= new ASTRewriteCorrectionProposal(label, cu, rewrite, 6, image); +// proposals.add(proposal); +// +// QuickAssistProcessor.getCreateInSuperClassProposals(context, methodDecl.getName(), proposals); +// } } private static final String KEY_MODIFIER= "modifier"; //$NON-NLS-1$ @@ -808,20 +802,6 @@ return null; } - private static Annotation findAnnotation(String qualifiedTypeName, List modifiers) { - for (int i= 0; i < modifiers.size(); i++) { - Object curr= modifiers.get(i); - if (curr instanceof Annotation) { - Annotation annot= (Annotation) curr; - ITypeBinding binding= annot.getTypeName().resolveTypeBinding(); - if (binding != null && qualifiedTypeName.equals(binding.getQualifiedName())) { - return annot; - } - } - } - return null; - } - private static class ProposalParameter { public final boolean useSuper; public final IJavaScriptUnit compilationUnit;
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/NewVariableCompletionProposal.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/NewVariableCompletionProposal.java index c2f8c65..dcbb8df 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/NewVariableCompletionProposal.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/NewVariableCompletionProposal.java
@@ -27,19 +27,17 @@ import org.eclipse.wst.jsdt.core.dom.Assignment; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; import org.eclipse.wst.jsdt.core.dom.ChildListPropertyDescriptor; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.Expression; import org.eclipse.wst.jsdt.core.dom.ExpressionStatement; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; import org.eclipse.wst.jsdt.core.dom.ForStatement; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.Initializer; import org.eclipse.wst.jsdt.core.dom.JSdoc; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Modifier; import org.eclipse.wst.jsdt.core.dom.QualifiedName; import org.eclipse.wst.jsdt.core.dom.SimpleName; @@ -101,8 +99,6 @@ return doAddField(cu); case LOCAL: return doAddLocal(cu); - case ENUM_CONST: - return doAddEnumConst(cu); default: throw new IllegalArgumentException("Unsupported variable kind: " + fVariableKind); //$NON-NLS-1$ } @@ -493,33 +489,6 @@ return modifiers; } - private ASTRewrite doAddEnumConst(JavaScriptUnit astRoot) throws CoreException { - SimpleName node= fOriginalNode; - - ASTNode newTypeDecl= astRoot.findDeclaringNode(fSenderBinding); - if (newTypeDecl == null) { - astRoot= ASTResolving.createQuickFixAST(getCompilationUnit(), null); - newTypeDecl= astRoot.findDeclaringNode(fSenderBinding.getKey()); - } - - if (newTypeDecl != null) { - AST ast= newTypeDecl.getAST(); - - ASTRewrite rewrite= ASTRewrite.create(ast); - - EnumConstantDeclaration constDecl= ast.newEnumConstantDeclaration(); - constDecl.setName(ast.newSimpleName(node.getIdentifier())); - - ListRewrite listRewriter= rewrite.getListRewrite(newTypeDecl, EnumDeclaration.ENUM_CONSTANTS_PROPERTY); - listRewriter.insertLast(constDecl, null); - - addLinkedPosition(rewrite.track(constDecl.getName()), false, KEY_NAME); - - return rewrite; - } - return null; - } - /**
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/QuickFixProcessor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/QuickFixProcessor.java index 4d584b4..dac963b 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/QuickFixProcessor.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/QuickFixProcessor.java
@@ -19,7 +19,6 @@ import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.JavaScriptModelException; import org.eclipse.wst.jsdt.core.compiler.IProblem; -import org.eclipse.wst.jsdt.internal.corext.util.JavaModelUtil; import org.eclipse.wst.jsdt.ui.text.java.IInvocationContext; import org.eclipse.wst.jsdt.ui.text.java.IJavaCompletionProposal; import org.eclipse.wst.jsdt.ui.text.java.IProblemLocation; @@ -187,9 +186,9 @@ case IProblem.UnhandledWarningToken: return true; default: - if (JavaModelUtil.is50OrHigher(cu.getJavaScriptProject())) { - return SuppressWarningsSubProcessor.hasSuppressWarningsProposal(problemId); - } +// if (JavaModelUtil.is50OrHigher(cu.getJavaScriptProject())) { +// return SuppressWarningsSubProcessor.hasSuppressWarningsProposal(problemId); +// } return false; } } @@ -536,13 +535,10 @@ case IProblem.FallthroughCase: LocalCorrectionsSubProcessor.addFallThroughProposals(context, problem, proposals); break; - case IProblem.UnhandledWarningToken: - SuppressWarningsSubProcessor.addUnknownSuppressWarningProposals(context, problem, proposals); - break; default: } - if (JavaModelUtil.is50OrHigher(context.getCompilationUnit().getJavaScriptProject())) { - SuppressWarningsSubProcessor.addSuppressWarningsProposals(context, problem, proposals); - } +// if (JavaModelUtil.is50OrHigher(context.getCompilationUnit().getJavaScriptProject())) { +// SuppressWarningsSubProcessor.addSuppressWarningsProposals(context, problem, proposals); +// } } }
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/ReturnTypeSubProcessor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/ReturnTypeSubProcessor.java index f54f94d..4735b17 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/ReturnTypeSubProcessor.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/ReturnTypeSubProcessor.java
@@ -22,16 +22,14 @@ import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTVisitor; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.Block; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; import org.eclipse.wst.jsdt.core.dom.Expression; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.JSdoc; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.PrimitiveType; import org.eclipse.wst.jsdt.core.dom.ReturnStatement; import org.eclipse.wst.jsdt.core.dom.TagElement; @@ -94,13 +92,7 @@ return false; } - public boolean visit(EnumDeclaration node) { - return false; - } - public boolean visit(AnnotationTypeDeclaration node) { - return false; - } }
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/SuppressWarningsSubProcessor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/SuppressWarningsSubProcessor.java deleted file mode 100644 index 16a00d7..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/SuppressWarningsSubProcessor.java +++ /dev/null
@@ -1,308 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.wst.jsdt.internal.ui.text.correction; - -import java.util.Collection; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.swt.graphics.Image; -import org.eclipse.wst.jsdt.core.CorrectionEngine; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.AST; -import org.eclipse.wst.jsdt.core.dom.ASTNode; -import org.eclipse.wst.jsdt.core.dom.Annotation; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration; -import org.eclipse.wst.jsdt.core.dom.ArrayInitializer; -import org.eclipse.wst.jsdt.core.dom.ChildListPropertyDescriptor; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; -import org.eclipse.wst.jsdt.core.dom.EnumDeclaration; -import org.eclipse.wst.jsdt.core.dom.Expression; -import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; -import org.eclipse.wst.jsdt.core.dom.ITypeBinding; -import org.eclipse.wst.jsdt.core.dom.Initializer; -import org.eclipse.wst.jsdt.core.dom.MemberValuePair; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.NormalAnnotation; -import org.eclipse.wst.jsdt.core.dom.SingleMemberAnnotation; -import org.eclipse.wst.jsdt.core.dom.SingleVariableDeclaration; -import org.eclipse.wst.jsdt.core.dom.StringLiteral; -import org.eclipse.wst.jsdt.core.dom.TypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.VariableDeclarationFragment; -import org.eclipse.wst.jsdt.core.dom.VariableDeclarationStatement; -import org.eclipse.wst.jsdt.core.dom.rewrite.ASTRewrite; -import org.eclipse.wst.jsdt.core.dom.rewrite.ListRewrite; -import org.eclipse.wst.jsdt.internal.corext.util.Messages; -import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin; -import org.eclipse.wst.jsdt.internal.ui.JavaPluginImages; -import org.eclipse.wst.jsdt.ui.text.java.IInvocationContext; -import org.eclipse.wst.jsdt.ui.text.java.IProblemLocation; - -/** - * - */ -public class SuppressWarningsSubProcessor { - - private static final String ADD_SUPPRESSWARNINGS_ID= "org.eclipse.wst.jsdt.ui.correction.addSuppressWarnings"; //$NON-NLS-1$ - - public static final boolean hasSuppressWarningsProposal(int problemId) { - return CorrectionEngine.getWarningToken(problemId) != null; // Suppress warning annotations - } - - - public static void addSuppressWarningsProposals(IInvocationContext context, IProblemLocation problem, Collection proposals) { - if (problem.isError()) { - return; - } - String warningToken= CorrectionEngine.getWarningToken(problem.getProblemId()); - if (warningToken == null) { - return; - } - for (Iterator iter= proposals.iterator(); iter.hasNext();) { - Object element= iter.next(); - if (element instanceof SuppressWarningsProposal && warningToken.equals(((SuppressWarningsProposal) element).getWarningToken())) { - return; // only one at a time - } - } - - ASTNode node= problem.getCoveringNode(context.getASTRoot()); - if (node == null) { - return; - } - if (node.getLocationInParent() == VariableDeclarationFragment.NAME_PROPERTY) { - ASTNode parent= node.getParent(); - if (parent.getLocationInParent() == VariableDeclarationStatement.FRAGMENTS_PROPERTY) { - addSuppressWarningsProposal(context.getCompilationUnit(), parent.getParent(), warningToken, -2, proposals); - return; - } - } else if (node.getLocationInParent() == SingleVariableDeclaration.NAME_PROPERTY) { - addSuppressWarningsProposal(context.getCompilationUnit(), node.getParent(), warningToken, -2, proposals); - return; - } else if (node.getLocationInParent() == VariableDeclarationFragment.INITIALIZER_PROPERTY) { - node= ASTResolving.findParentBodyDeclaration(node); - if (node instanceof FieldDeclaration) { - node= node.getParent(); - } - } - - ASTNode target= ASTResolving.findParentBodyDeclaration(node); - if (target instanceof Initializer) { - target= ASTResolving.findParentBodyDeclaration(target.getParent()); - } - if (target != null) { - addSuppressWarningsProposal(context.getCompilationUnit(), target, warningToken, -3, proposals); - } - } - - private static String getFirstFragmentName(List fragments) { - if (fragments.size() > 0) { - return ((VariableDeclarationFragment) fragments.get(0)).getName().getIdentifier(); - } - return new String(); - } - - - private static class SuppressWarningsProposal extends ASTRewriteCorrectionProposal { - - private final String fWarningToken; - private final ASTNode fNode; - private final ChildListPropertyDescriptor fProperty; - - public SuppressWarningsProposal(String warningToken, String label, IJavaScriptUnit cu, ASTNode node, ChildListPropertyDescriptor property, int relevance) { - super(label, cu, null, relevance, JavaPluginImages.get(JavaPluginImages.IMG_OBJS_ANNOTATION)); - fWarningToken= warningToken; - fNode= node; - fProperty= property; - setCommandId(ADD_SUPPRESSWARNINGS_ID); - } - - /** - * @return Returns the warningToken. - */ - public String getWarningToken() { - return fWarningToken; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.internal.ui.text.correction.ASTRewriteCorrectionProposal#getRewrite() - */ - protected ASTRewrite getRewrite() throws CoreException { - AST ast= fNode.getAST(); - ASTRewrite rewrite= ASTRewrite.create(ast); - - StringLiteral newStringLiteral= ast.newStringLiteral(); - newStringLiteral.setLiteralValue(fWarningToken); - - Annotation existing= findExistingAnnotation((List) fNode.getStructuralProperty(fProperty)); - if (existing == null) { - ListRewrite listRewrite= rewrite.getListRewrite(fNode, fProperty); - - SingleMemberAnnotation newAnnot= ast.newSingleMemberAnnotation(); - String importString= createImportRewrite((JavaScriptUnit) fNode.getRoot()).addImport("java.lang.SuppressWarnings"); //$NON-NLS-1$ - newAnnot.setTypeName(ast.newName(importString)); - - newAnnot.setValue(newStringLiteral); - - listRewrite.insertFirst(newAnnot, null); - } else if (existing instanceof SingleMemberAnnotation) { - SingleMemberAnnotation annotation= (SingleMemberAnnotation) existing; - Expression value= annotation.getValue(); - if (!addSuppressArgument(rewrite, value, newStringLiteral)) { - rewrite.set(existing, SingleMemberAnnotation.VALUE_PROPERTY, newStringLiteral, null); - } - } else if (existing instanceof NormalAnnotation) { - NormalAnnotation annotation= (NormalAnnotation) existing; - Expression value= findValue(annotation.values()); - if (!addSuppressArgument(rewrite, value, newStringLiteral)) { - ListRewrite listRewrite= rewrite.getListRewrite(annotation, NormalAnnotation.VALUES_PROPERTY); - MemberValuePair pair= ast.newMemberValuePair(); - pair.setName(ast.newSimpleName("value")); //$NON-NLS-1$ - pair.setValue(newStringLiteral); - listRewrite.insertFirst(pair, null); - } - } - return rewrite; - } - - private static boolean addSuppressArgument(ASTRewrite rewrite, Expression value, StringLiteral newStringLiteral) { - if (value instanceof ArrayInitializer) { - ListRewrite listRewrite= rewrite.getListRewrite(value, ArrayInitializer.EXPRESSIONS_PROPERTY); - listRewrite.insertLast(newStringLiteral, null); - } else if (value instanceof StringLiteral) { - ArrayInitializer newArr= rewrite.getAST().newArrayInitializer(); - newArr.expressions().add(rewrite.createMoveTarget(value)); - newArr.expressions().add(newStringLiteral); - rewrite.replace(value, newArr, null); - } else { - return false; - } - return true; - } - - private static Expression findValue(List keyValues) { - for (int i= 0, len= keyValues.size(); i < len; i++) { - MemberValuePair curr= (MemberValuePair) keyValues.get(i); - if ("value".equals(curr.getName().getIdentifier())) { //$NON-NLS-1$ - return curr.getValue(); - } - } - return null; - } - - private static Annotation findExistingAnnotation(List modifiers) { - for (int i= 0, len= modifiers.size(); i < len; i++) { - Object curr= modifiers.get(i); - if (curr instanceof NormalAnnotation || curr instanceof SingleMemberAnnotation) { - Annotation annotation= (Annotation) curr; - ITypeBinding typeBinding= annotation.resolveTypeBinding(); - if (typeBinding != null) { - if ("java.lang.SuppressWarnings".equals(typeBinding.getQualifiedName())) { //$NON-NLS-1$ - return annotation; - } - } else { - String fullyQualifiedName= annotation.getTypeName().getFullyQualifiedName(); - if ("SuppressWarnings".equals(fullyQualifiedName) || "java.lang.SuppressWarnings".equals(fullyQualifiedName)) { //$NON-NLS-1$ //$NON-NLS-2$ - return annotation; - } - } - } - } - return null; - } - } - - private static void addSuppressWarningsProposal(IJavaScriptUnit cu, ASTNode node, String warningToken, int relevance, Collection proposals) { - - ChildListPropertyDescriptor property= null; - String name; - switch (node.getNodeType()) { - case ASTNode.SINGLE_VARIABLE_DECLARATION: - property= SingleVariableDeclaration.MODIFIERS2_PROPERTY; - name= ((SingleVariableDeclaration) node).getName().getIdentifier(); - break; - case ASTNode.VARIABLE_DECLARATION_STATEMENT: - property= VariableDeclarationStatement.MODIFIERS2_PROPERTY; - name= getFirstFragmentName(((VariableDeclarationStatement) node).fragments()); - break; - case ASTNode.TYPE_DECLARATION: - property= TypeDeclaration.MODIFIERS2_PROPERTY; - name= ((TypeDeclaration) node).getName().getIdentifier(); - break; - case ASTNode.ANNOTATION_TYPE_DECLARATION: - property= AnnotationTypeDeclaration.MODIFIERS2_PROPERTY; - name= ((AnnotationTypeDeclaration) node).getName().getIdentifier(); - break; - case ASTNode.ENUM_DECLARATION: - property= EnumDeclaration.MODIFIERS2_PROPERTY; - name= ((EnumDeclaration) node).getName().getIdentifier(); - break; - case ASTNode.FIELD_DECLARATION: - property= FieldDeclaration.MODIFIERS2_PROPERTY; - name= getFirstFragmentName(((FieldDeclaration) node).fragments()); - break; - case ASTNode.INITIALIZER: - property= Initializer.MODIFIERS2_PROPERTY; - name= CorrectionMessages.SuppressWarningsSubProcessor_suppress_warnings_initializer_label; - break; - case ASTNode.FUNCTION_DECLARATION: - property= FunctionDeclaration.MODIFIERS2_PROPERTY; - name= ((FunctionDeclaration) node).getName().getIdentifier() + "()"; //$NON-NLS-1$ - break; - case ASTNode.ANNOTATION_TYPE_MEMBER_DECLARATION: - property= AnnotationTypeMemberDeclaration.MODIFIERS2_PROPERTY; - name= ((AnnotationTypeMemberDeclaration) node).getName().getIdentifier() + "()"; //$NON-NLS-1$ - break; - case ASTNode.ENUM_CONSTANT_DECLARATION: - property= EnumConstantDeclaration.MODIFIERS2_PROPERTY; - name= ((EnumConstantDeclaration) node).getName().getIdentifier(); - break; - default: - JavaScriptPlugin.logErrorMessage("SuppressWarning quick fix: wrong node kind: " + node.getNodeType()); //$NON-NLS-1$ - return; - } - - String label= Messages.format(CorrectionMessages.SuppressWarningsSubProcessor_suppress_warnings_label, new String[] { warningToken, name }); - ASTRewriteCorrectionProposal proposal= new SuppressWarningsProposal(warningToken, label, cu, node, property, relevance); - - proposals.add(proposal); - } - - public static void addUnknownSuppressWarningProposals(IInvocationContext context, IProblemLocation problem, Collection proposals) { - - ASTNode coveringNode= context.getCoveringNode(); - if (!(coveringNode instanceof StringLiteral)) - return; - - AST ast= coveringNode.getAST(); - StringLiteral literal= (StringLiteral) coveringNode; - - String literalValue= literal.getLiteralValue(); - String[] allWarningTokens= CorrectionEngine.getAllWarningTokens(); - for (int i= 0; i < allWarningTokens.length; i++) { - String curr= allWarningTokens[i]; - if (NameMatcher.isSimilarName(literalValue, curr)) { - StringLiteral newLiteral= ast.newStringLiteral(); - newLiteral.setLiteralValue(curr); - ASTRewrite rewrite= ASTRewrite.create(ast); - rewrite.replace(literal, newLiteral, null); - String label= Messages.format(CorrectionMessages.SuppressWarningsSubProcessor_fix_suppress_token_label, new String[] { curr }); - Image image= JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE); - ASTRewriteCorrectionProposal proposal= new ASTRewriteCorrectionProposal(label, context.getCompilationUnit(), rewrite, 5, image); - proposals.add(proposal); - } - } - } - -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/TypeChangeCompletionProposal.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/TypeChangeCompletionProposal.java index 0081263..a76ee19 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/TypeChangeCompletionProposal.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/TypeChangeCompletionProposal.java
@@ -17,14 +17,13 @@ import org.eclipse.wst.jsdt.core.dom.AST; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration; -import org.eclipse.wst.jsdt.core.dom.AnnotationTypeMemberDeclaration; import org.eclipse.wst.jsdt.core.dom.Block; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.FieldDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.SingleVariableDeclaration; import org.eclipse.wst.jsdt.core.dom.Type; import org.eclipse.wst.jsdt.core.dom.VariableDeclarationExpression; @@ -95,9 +94,6 @@ FunctionDeclaration methodDecl= (FunctionDeclaration) declNode; rewrite.set(methodDecl, FunctionDeclaration.RETURN_TYPE2_PROPERTY, type, null); rewrite.set(methodDecl, FunctionDeclaration.EXTRA_DIMENSIONS_PROPERTY, new Integer(0), null); - } else if (declNode instanceof AnnotationTypeMemberDeclaration) { - AnnotationTypeMemberDeclaration methodDecl= (AnnotationTypeMemberDeclaration) declNode; - rewrite.set(methodDecl, AnnotationTypeMemberDeclaration.TYPE_PROPERTY, type, null); } else if (declNode instanceof VariableDeclarationFragment) { ASTNode parent= declNode.getParent(); if (parent instanceof FieldDeclaration) {
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/TypeMismatchSubProcessor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/TypeMismatchSubProcessor.java index 06e39f7..05677be 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/TypeMismatchSubProcessor.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/correction/TypeMismatchSubProcessor.java
@@ -23,18 +23,16 @@ import org.eclipse.wst.jsdt.core.dom.Assignment; import org.eclipse.wst.jsdt.core.dom.BodyDeclaration; import org.eclipse.wst.jsdt.core.dom.CastExpression; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Expression; import org.eclipse.wst.jsdt.core.dom.FieldAccess; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; import org.eclipse.wst.jsdt.core.dom.IBinding; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; import org.eclipse.wst.jsdt.core.dom.IVariableBinding; -import org.eclipse.wst.jsdt.core.dom.MemberValuePair; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; -import org.eclipse.wst.jsdt.core.dom.FunctionInvocation; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.Name; -import org.eclipse.wst.jsdt.core.dom.SingleMemberAnnotation; import org.eclipse.wst.jsdt.core.dom.SuperFieldAccess; import org.eclipse.wst.jsdt.core.dom.SuperMethodInvocation; import org.eclipse.wst.jsdt.core.dom.Type; @@ -98,12 +96,6 @@ castTypeBinding= ASTNodes.getType(frag).resolveBinding(); receiverNode= frag.getName(); } - } else if (parentNodeType == ASTNode.MEMBER_VALUE_PAIR) { - receiverNode= ((MemberValuePair) selectedNode.getParent()).getName(); - castTypeBinding= ASTResolving.guessBindingForReference(nodeToCast); - } else if (parentNodeType == ASTNode.SINGLE_MEMBER_ANNOTATION) { - receiverNode= ((SingleMemberAnnotation) selectedNode.getParent()).getTypeName(); // use the type name - castTypeBinding= ASTResolving.guessBindingForReference(nodeToCast); } else { // try to find the binding corresponding to 'castTypeName' castTypeBinding= ASTResolving.guessBindingForReference(nodeToCast); @@ -222,12 +214,6 @@ declaringType= methodBinding.getDeclaringClass().getTypeDeclaration(); callerBindingDecl= methodBinding.getMethodDeclaration(); } - } else if (callerBinding instanceof ITypeBinding && nodeToCast.getLocationInParent() == SingleMemberAnnotation.TYPE_NAME_PROPERTY) { - declaringType= (ITypeBinding) callerBinding; - callerBindingDecl= Bindings.findMethodInType(declaringType, "value", (String[]) null); //$NON-NLS-1$ - if (callerBindingDecl == null) { - return; - } } if (declaringType != null && declaringType.isFromSource()) {
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/java/OverrideCompletionProposal.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/java/OverrideCompletionProposal.java index 911748f..83b903d 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/java/OverrideCompletionProposal.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/java/OverrideCompletionProposal.java
@@ -24,8 +24,8 @@ import org.eclipse.jface.text.contentassist.ICompletionProposalExtension4; import org.eclipse.text.edits.MalformedTreeException; import org.eclipse.text.edits.TextEdit; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.IJavaScriptProject; +import org.eclipse.wst.jsdt.core.IJavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.AST; import org.eclipse.wst.jsdt.core.dom.ASTNode; import org.eclipse.wst.jsdt.core.dom.ASTParser; @@ -33,11 +33,10 @@ import org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration; import org.eclipse.wst.jsdt.core.dom.ChildListPropertyDescriptor; import org.eclipse.wst.jsdt.core.dom.ClassInstanceCreation; -import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; -import org.eclipse.wst.jsdt.core.dom.EnumConstantDeclaration; +import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; import org.eclipse.wst.jsdt.core.dom.IFunctionBinding; import org.eclipse.wst.jsdt.core.dom.ITypeBinding; -import org.eclipse.wst.jsdt.core.dom.FunctionDeclaration; +import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit; import org.eclipse.wst.jsdt.core.dom.rewrite.ASTRewrite; import org.eclipse.wst.jsdt.core.dom.rewrite.ITrackedNodePosition; import org.eclipse.wst.jsdt.core.dom.rewrite.ImportRewrite; @@ -108,11 +107,6 @@ case ASTNode.CLASS_INSTANCE_CREATION: binding= ((ClassInstanceCreation) node.getParent()).resolveTypeBinding(); break; - case ASTNode.ENUM_CONSTANT_DECLARATION: - IFunctionBinding methodBinding= ((EnumConstantDeclaration) node.getParent()).resolveConstructorBinding(); - if (methodBinding != null) { - binding= methodBinding.getDeclaringClass(); - } } descriptor= AnonymousClassDeclaration.BODY_DECLARATIONS_PROPERTY; } else if (node instanceof AbstractTypeDeclaration) {
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/spelling/DefaultSpellingEngine.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/spelling/DefaultSpellingEngine.java index a99d039..25f99bf 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/spelling/DefaultSpellingEngine.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/spelling/DefaultSpellingEngine.java
@@ -55,8 +55,8 @@ public DefaultSpellingEngine() { if (JAVA_CONTENT_TYPE != null) fEngines.put(JAVA_CONTENT_TYPE, new JavaSpellingEngine()); - if (PROPERTIES_CONTENT_TYPE != null) - fEngines.put(PROPERTIES_CONTENT_TYPE, new PropertiesFileSpellingEngine()); +// if (PROPERTIES_CONTENT_TYPE != null) +// fEngines.put(PROPERTIES_CONTENT_TYPE, new PropertiesFileSpellingEngine()); if (TEXT_CONTENT_TYPE != null) fEngines.put(TEXT_CONTENT_TYPE, new TextSpellingEngine()); }
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/spelling/PropertiesFileSpellCheckIterator.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/spelling/PropertiesFileSpellCheckIterator.java deleted file mode 100644 index a495040..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/spelling/PropertiesFileSpellCheckIterator.java +++ /dev/null
@@ -1,72 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.jsdt.internal.ui.text.spelling; - -import java.util.Locale; - -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IRegion; - -import com.ibm.icu.text.BreakIterator; - - -/** - * Iterator to spell check Java properties files - * where '&' is ignored. - * - * @since 3.3 - */ -public class PropertiesFileSpellCheckIterator extends SpellCheckIterator { - - public PropertiesFileSpellCheckIterator(IDocument document, IRegion region, Locale locale) { - super(document, region, locale); - } - - /* - * @see org.eclipse.wst.jsdt.internal.ui.text.spelling.SpellCheckIterator#next() - */ - public final Object next() { - int previous= -1; - String token= nextToken(); - while (fSuccessor != BreakIterator.DONE && (token == null || fContent.charAt(fNext) == '&')) { - if (token != null) { - if (previous == -1) - previous= fPrevious; - String nextToken= nextToken(); - if (nextToken != null) - token= token + nextToken.substring(1); - else - token= token + '&'; - } else - token= nextToken(); - - } - - if (previous != -1) - fPrevious= previous; - - if (token != null && token.length() > 1 && token.startsWith("&")) { //$NON-NLS-1$ - token= token.substring(1); - - // Add characters in front of '&' - while (fPrevious > 0 && !Character.isWhitespace(fContent.charAt(fPrevious - 1)) && fContent.charAt(fPrevious - 1) != '=') { - token= fContent.charAt(fPrevious - 1) + token; - fPrevious--; - } - - } - - fLastToken= token; - - return token; - } - -}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/spelling/PropertiesFileSpellingEngine.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/spelling/PropertiesFileSpellingEngine.java deleted file mode 100644 index 71ca1bc..0000000 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/spelling/PropertiesFileSpellingEngine.java +++ /dev/null
@@ -1,103 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.wst.jsdt.internal.ui.text.spelling; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Locale; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IRegion; -import org.eclipse.jface.text.ITypedRegion; -import org.eclipse.jface.text.TextUtilities; -import org.eclipse.jface.text.TypedRegion; -import org.eclipse.ui.texteditor.spelling.ISpellingProblemCollector; -import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin; -import org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor.IPropertiesFilePartitions; -import org.eclipse.wst.jsdt.internal.ui.text.spelling.engine.ISpellChecker; -import org.eclipse.wst.jsdt.internal.ui.text.spelling.engine.ISpellEventListener; -import org.eclipse.wst.jsdt.ui.PreferenceConstants; - -/** - * Properties file spelling engine - * - * @since 3.1 - */ -public class PropertiesFileSpellingEngine extends SpellingEngine { - - /* - * @see org.eclipse.wst.jsdt.internal.ui.text.spelling.SpellingEngine#check(org.eclipse.jface.text.IDocument, org.eclipse.jface.text.IRegion[], org.eclipse.wst.jsdt.internal.ui.text.spelling.engine.ISpellChecker, org.eclipse.ui.texteditor.spelling.ISpellingProblemCollector, org.eclipse.core.runtime.IProgressMonitor) - */ - protected void check(IDocument document, IRegion[] regions, ISpellChecker checker, ISpellingProblemCollector collector, IProgressMonitor monitor) { - ISpellEventListener listener= new SpellEventListener(collector, document); - boolean isIgnoringAmpersand= PreferenceConstants.getPreferenceStore().getBoolean(PreferenceConstants.SPELLING_IGNORE_AMPERSAND_IN_PROPERTIES); - try { - checker.addListener(listener); - List partitionList= new ArrayList(); - for (int i= 0; i < regions.length; i++) - partitionList.addAll(Arrays.asList(TextUtilities.computePartitioning(document, IPropertiesFilePartitions.PROPERTIES_FILE_PARTITIONING, regions[i].getOffset(), regions[i].getLength(), false))); - ITypedRegion[] partitions= (ITypedRegion[]) partitionList.toArray(new ITypedRegion[partitionList.size()]); - - for (int i= 0; i < partitions.length; i++) { - ITypedRegion partition= partitions[i]; - if (IPropertiesFilePartitions.COMMENT.equals(partition.getType())) { - for (; i < partitions.length - 1; i++) { - ITypedRegion next= partitions[i+1]; - int gapOffset= partition.getOffset() + partition.getLength(); - int gapLength= next.getOffset() - gapOffset; - if ((IPropertiesFilePartitions.COMMENT.equals(next.getType()) || isWhitespace(document, next.getOffset(), next.getLength())) && isWhitespace(document, gapOffset, gapLength)) - partition= new TypedRegion(partition.getOffset(), next.getOffset() + next.getLength() - partition.getOffset(), partition.getType()); - else - break; - } - } - String partitionType= partition.getType(); - if (IPropertiesFilePartitions.COMMENT.equals(partitionType) || (!isIgnoringAmpersand && IPropertiesFilePartitions.PROPERTY_VALUE.equals(partitionType))) { - Locale locale= checker.getLocale(); - checker.execute(new SpellCheckIterator(document, partition, locale)); - } else if (isIgnoringAmpersand && IPropertiesFilePartitions.PROPERTY_VALUE.equals(partitionType)) { - Locale locale= checker.getLocale(); - checker.execute(new PropertiesFileSpellCheckIterator(document, partition, locale)); - } - } - } catch (BadLocationException x) { - JavaScriptPlugin.log(x); - } finally { - checker.removeListener(listener); - } - } - - /** - * Returns <code>true</code> iff the given region contains only - * whitespace. - * - * @param document the document - * @param offset the region's offset - * @param length the region's length - * @return <code>true</code> iff the given region contains only - * whitespace - */ - private boolean isWhitespace(IDocument document, int offset, int length) { - try { - for (int i= 0; i < length; i++) - if (!Character.isWhitespace(document.getChar(offset + i))) - return false; - return true; - } catch (BadLocationException x) { - JavaScriptPlugin.log(x); - return false; - } - } -}