java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode
Alle implementierten Schnittstellen:
TypeConstants, TypeIds
Bekannte direkte Unterklassen:
AbstractMethodDeclaration, AssistNodeParentAnnotationArrayInitializer, CompilationUnitDeclaration, ImportReference, Javadoc, MemberValuePair, ModuleDeclaration, ModuleReference, ModuleStatement, PointcutDesignator, PseudoToken, PseudoTokens, Statement

public abstract class ASTNode extends Object implements TypeConstants, TypeIds
  • Felddetails

  • Konstruktordetails

    • ASTNode

      public ASTNode()
  • Methodendetails

    • checkInvocationArguments

      public static boolean checkInvocationArguments(BlockScope scope, Expression receiver, TypeBinding receiverType, MethodBinding method, Expression[] arguments, TypeBinding[] argumentTypes, boolean argsContainCast, InvocationSite invocationSite)
    • concreteStatement

      public ASTNode concreteStatement()
    • isFieldUseDeprecated

      public final boolean isFieldUseDeprecated(FieldBinding field, Scope scope, int filteredBits)
    • isImplicitThis

      public boolean isImplicitThis()
    • receiverIsImplicitThis

      public boolean receiverIsImplicitThis()
    • isMethodUseDeprecated

      public final boolean isMethodUseDeprecated(MethodBinding method, Scope scope, boolean isExplicitUse, InvocationSite invocation)
    • isSuper

      public boolean isSuper()
    • isQualifiedSuper

      public boolean isQualifiedSuper()
    • isThis

      public boolean isThis()
    • isUnqualifiedSuper

      public boolean isUnqualifiedSuper()
    • isTypeUseDeprecated

      public final boolean isTypeUseDeprecated(TypeBinding type, Scope scope)
    • isType

      public boolean isType()
      Returns whether this node represents a binding of type Binding.TYPE
      Gibt zurück:
      true if the node represents a Binding.TYPE binding type.
    • print

      public abstract StringBuffer print(int indent, StringBuffer output)
    • printAnnotations

      public static StringBuffer printAnnotations(Annotation[] annotations, StringBuffer output)
    • printIndent

      public static StringBuffer printIndent(int indent, StringBuffer output)
    • printModifiers

      public static StringBuffer printModifiers(int modifiers, StringBuffer output)
    • resolvePolyExpressionArguments

      public static MethodBinding resolvePolyExpressionArguments(Invocation invocation, MethodBinding method, TypeBinding[] argumentTypes, BlockScope scope)
      After method lookup has produced 'methodBinding' but when poly expressions have been seen as arguments, inspect the arguments to trigger another round of resolving with improved target types from the methods parameters. If this resolving produces better types for any arguments, update the 'argumentTypes' array in-place as an intended side effect that will feed better type information in checkInvocationArguments() and others.
      Parameter:
      invocation - the outer invocation which is being resolved
      method - the method produced by lookup (possibly involving type inference).
      argumentTypes - the argument types as collected from first resolving the invocation arguments and as used for the method lookup.
      scope - scope for resolution.
      Gibt zurück:
      either the original method or a problem method
    • resolveAnnotations

      public static void resolveAnnotations(BlockScope scope, Annotation[] sourceAnnotations, Binding recipient)
    • resolveAnnotations

      public static AnnotationBinding[] resolveAnnotations(BlockScope scope, Annotation[] sourceAnnotations, Binding recipient, boolean copySE8AnnotationsToType)
      Resolve annotations, and check duplicates, answers combined tagBits for recognized standard annotations. Return null if nothing new is resolved.
    • resolveAnnotations

      public static TypeBinding resolveAnnotations(BlockScope scope, Annotation[][] sourceAnnotations, TypeBinding type)
      Resolve JSR308 annotations on a type reference, array creation expression or a wildcard. Type parameters go directly to the subroutine, By construction the bindings associated with QTR, PQTR etc get resolved first and then annotations for different levels get resolved and applied at one go. Likewise for multidimensional arrays.
    • handleNonNullByDefault

      public static void handleNonNullByDefault(BlockScope scope, Annotation[] sourceAnnotations, LocalDeclaration localDeclaration)
      "early" handling of NonNullByDefault because for local variables annotations are resolved after their type because of bug 96991.
      Parameter:
      localDeclaration -
    • copySE8AnnotationsToType

      public static void copySE8AnnotationsToType(BlockScope scope, Binding recipient, Annotation[] annotations, boolean annotatingEnumerator)
    • getRelevantAnnotations

      public static Annotation[] getRelevantAnnotations(Annotation[] annotations, long rcMask, List<AnnotationBinding> relevantAnnotations)
    • copyRecordComponentAnnotations

      public static Annotation[] copyRecordComponentAnnotations(Scope scope, Binding recipient, Annotation[] annotations)
    • resolveDeprecatedAnnotations

      public static void resolveDeprecatedAnnotations(BlockScope scope, Annotation[] annotations, Binding recipient)
      Figures if @Deprecated annotation is specified, do not resolve entire annotations.
    • checkingPotentialCompatibility

      public boolean checkingPotentialCompatibility()
    • acceptPotentiallyCompatibleMethods

      public void acceptPotentiallyCompatibleMethods(MethodBinding[] methods)
    • sourceStart

      public int sourceStart()
    • sourceEnd

      public int sourceEnd()
    • toString

      public String toString()
      Setzt außer Kraft:
      toString in Klasse Object
    • traverse

      public void traverse(ASTVisitor visitor, BlockScope scope)