Klasse AbstractMethodDeclaration

java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode
org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
Alle implementierten Schnittstellen:
ReferenceContext, TypeConstants, TypeIds, ProblemSeverities
Bekannte direkte Unterklassen:
Clinit, ConstructorDeclaration, MethodDeclaration

public abstract class AbstractMethodDeclaration extends ASTNode implements ProblemSeverities, ReferenceContext
AspectJ Extension - added several extension points for subclasses
  • Felddetails

    • scope

      public MethodScope scope
    • selector

      public char[] selector
    • declarationSourceStart

      public int declarationSourceStart
    • declarationSourceEnd

      public int declarationSourceEnd
    • modifiers

      public int modifiers
    • modifiersSourceStart

      public int modifiersSourceStart
    • annotations

      public Annotation[] annotations
    • receiver

      public Receiver receiver
    • arguments

      public Argument[] arguments
    • thrownExceptions

      public TypeReference[] thrownExceptions
    • statements

      public Statement[] statements
    • explicitDeclarations

      public int explicitDeclarations
    • binding

      public MethodBinding binding
    • ignoreFurtherInvestigation

      public boolean ignoreFurtherInvestigation
    • javadoc

      public Javadoc javadoc
    • bodyStart

      public int bodyStart
    • bodyEnd

      public int bodyEnd
    • compilationResult

      public CompilationResult compilationResult
    • containsSwitchWithTry

      public boolean containsSwitchWithTry
    • addPatternAccessorException

      public boolean addPatternAccessorException
    • recPatCatchVar

      public LocalVariableBinding recPatCatchVar
  • Methodendetails

    • abort

      public void abort(int abortLevel, CategorizedProblem problem)
      Angegeben von:
      abort in Schnittstelle ReferenceContext
    • createArgumentBindings

      public void createArgumentBindings()
      When a method is accessed via SourceTypeBinding.resolveTypesFor(MethodBinding) we create the argument binding and resolve annotations in order to compute null annotation tagbits.
    • bindArguments

      public void bindArguments()
      Bind and add argument's binding into the scope of the method
    • getPropagatedRecordComponentAnnotations

      protected AnnotationBinding[][] getPropagatedRecordComponentAnnotations()
    • bindThrownExceptions

      public void bindThrownExceptions()
      Record the thrown exception type bindings in the corresponding type references.
    • compilationResult

      public CompilationResult compilationResult()
      Angegeben von:
      compilationResult in Schnittstelle ReferenceContext
    • generateCode

      public void generateCode(ClassScope classScope, ClassFile classFile)
      Bytecode generation for a method
      Parameter:
      classScope -
      classFile -
    • generateCode

      public void generateCode(ClassFile classFile)
    • getAllAnnotationContexts

      public void getAllAnnotationContexts(int targetType, List allAnnotationContexts)
    • getCompilationUnitDeclaration

      public CompilationUnitDeclaration getCompilationUnitDeclaration()
      Angegeben von:
      getCompilationUnitDeclaration in Schnittstelle ReferenceContext
    • hasErrors

      public boolean hasErrors()
      Angegeben von:
      hasErrors in Schnittstelle ReferenceContext
    • isAbstract

      public boolean isAbstract()
    • isAnnotationMethod

      public boolean isAnnotationMethod()
    • isClinit

      public boolean isClinit()
    • isConstructor

      public boolean isConstructor()
    • isCanonicalConstructor

      public boolean isCanonicalConstructor()
    • isDefaultConstructor

      public boolean isDefaultConstructor()
    • isDefaultMethod

      public boolean isDefaultMethod()
    • isInitializationMethod

      public boolean isInitializationMethod()
    • isMethod

      public boolean isMethod()
    • isNative

      public boolean isNative()
    • getRecordComponent

      public RecordComponent getRecordComponent()
    • isStatic

      public boolean isStatic()
    • parseStatements

      public abstract void parseStatements(Parser parser, CompilationUnitDeclaration unit)
      Fill up the method body with statement
      Parameter:
      parser -
      unit -
    • print

      public StringBuffer print(int tab, StringBuffer output)
      Angegeben von:
      print in Klasse ASTNode
    • printBody

      public StringBuffer printBody(int indent, StringBuffer output)
    • printReturnType

      public StringBuffer printReturnType(int indent, StringBuffer output)
    • resolve

      public void resolve(ClassScope upperScope)
    • resolveReceiver

      public void resolveReceiver()
    • resolveJavadoc

      public void resolveJavadoc()
    • resolveStatements

      public void resolveStatements()
    • tagAsHavingErrors

      public void tagAsHavingErrors()
      Angegeben von:
      tagAsHavingErrors in Schnittstelle ReferenceContext
    • tagAsHavingIgnoredMandatoryErrors

      public void tagAsHavingIgnoredMandatoryErrors(int problemId)
      Angegeben von:
      tagAsHavingIgnoredMandatoryErrors in Schnittstelle ReferenceContext
    • traverse

      public void traverse(ASTVisitor visitor, ClassScope classScope)
    • typeParameters

      public TypeParameter[] typeParameters()
    • finishResolveTypes

      public boolean finishResolveTypes(SourceTypeBinding sourceTypeBinding)
      Called at the end of resolving types
    • postParse

      public void postParse(TypeDeclaration typeDec)
      Just before building bindings, hook for subclasses
    • generateInfoAttributes

      protected int generateInfoAttributes(ClassFile classFile)
      Generates my info attributes, hook for subclasses
    • ensureScopeSetup

      public void ensureScopeSetup()
      Hook for subclasses to influence scope hierarchy. (why-o-why cant fields be accessed through getters...)