public class MethodScope extends BlockScope
Specific block scope used for methods, constructors or clinits, representing its outermost blockscope. Note also that such a scope will be provided to enclose field initializers subscopes as well.
  • Felddetails

    • referenceContext

      public ReferenceContext referenceContext
    • isStatic

      public boolean isStatic
    • isConstructorCall

      public boolean isConstructorCall
    • initializedField

      public FieldBinding initializedField
    • lastVisibleFieldID

      public int lastVisibleFieldID
    • analysisIndex

      public int analysisIndex
    • isPropagatingInnerClassEmulation

      public boolean isPropagatingInnerClassEmulation
    • lastIndex

      public int lastIndex
    • definiteInits

      public long[] definiteInits
    • extraDefiniteInits

      public long[][] extraDefiniteInits
    • extraSyntheticArguments

      public SyntheticArgumentBinding[] extraSyntheticArguments
    • hasMissingSwitchDefault

      public boolean hasMissingSwitchDefault
    • isCompactConstructorScope

      public boolean isCompactConstructorScope
  • Konstruktordetails

    • MethodScope

      public MethodScope(Scope parent, ReferenceContext context, boolean isStatic)
    • MethodScope

      public MethodScope(Scope parent, ReferenceContext context, boolean isStatic, int lastVisibleFieldID)
  • Methodendetails

    • checkUnusedParameters

      public void checkUnusedParameters(MethodBinding method)
    • computeLocalVariablePositions

      public void computeLocalVariablePositions(int initOffset, CodeStream codeStream)
      Compute variable positions in scopes given an initial position offset ignoring unused local variables. Deal with arguments here, locals and subscopes are processed in BlockScope method
    • findField

      public FieldBinding findField(TypeBinding receiverType, char[] fieldName, InvocationSite invocationSite, boolean needResolve)
      Overridden to detect the error case inside an explicit constructor call: class X { int i; X myX; X(X x) { this(i, myX.i, x.i); // same for super calls... only the first 2 field accesses are errors } }
      Setzt außer Kraft:
      findField in Klasse Scope
    • getSyntheticEnclosingArgumentOfLambda

      protected Object[] getSyntheticEnclosingArgumentOfLambda(ReferenceBinding targetEnclosingType)
    • isInsideConstructor

      public boolean isInsideConstructor()
    • isInsideInitializer

      public boolean isInsideInitializer()
    • isLambdaScope

      public boolean isLambdaScope()
      Setzt außer Kraft:
      isLambdaScope in Klasse Scope
    • isInsideInitializerOrConstructor

      public boolean isInsideInitializerOrConstructor()
    • problemReporter

      public ProblemReporter problemReporter()
      Answer the problem reporter to use for raising new problems. Note that as a side-effect, this updates the current reference context (unit, type or method) in case the problem handler decides it is necessary to abort.
      Setzt außer Kraft:
      problemReporter in Klasse BlockScope
    • recordInitializationStates

      public final int recordInitializationStates(FlowInfo flowInfo)
    • referenceMethod

      public AbstractMethodDeclaration referenceMethod()
      Answer the reference method of this scope, or null if initialization scope or lambda scope.
    • referenceMethodBinding

      public MethodBinding referenceMethodBinding()
      Answers the binding of the reference method or reference lambda expression.
    • referenceType

      public TypeDeclaration referenceType()
      Answer the reference type of this scope. It is the nearest enclosing type of this scope.
      Setzt außer Kraft:
      referenceType in Klasse BlockScope
    • hasDefaultNullnessFor

      public boolean hasDefaultNullnessFor(int location, int sourceStart)
      Beschreibung aus Klasse kopiert: Scope
      Answer a defaultNullness defined for the closest enclosing scope, using bits from Binding.NullnessDefaultMASK.
      Setzt außer Kraft:
      hasDefaultNullnessFor in Klasse Scope
    • checkRedundantDefaultNullness

      public Binding checkRedundantDefaultNullness(int nullBits, int sourceStart)
      Beschreibung aus Klasse kopiert: Scope
      Check whether the given null default is redundant at the given position inside this scope.
      Setzt außer Kraft:
      checkRedundantDefaultNullness in Klasse Scope
      Parameter:
      nullBits - locally defined nullness default, see Binding.NullnessDefaultMASK
      sourceStart -
      Gibt zurück:
      enclosing binding that already has a matching NonNullByDefault annotation, or the special binding Scope.NOT_REDUNDANT, indicating that a different enclosing nullness default was found, or null to indicate that no enclosing nullness default was found.
    • shouldCheckAPILeaks

      public boolean shouldCheckAPILeaks(ReferenceBinding declaringClass, boolean memberIsPublic)
    • detectAPILeaks

      public void detectAPILeaks(ASTNode typeNode, TypeBinding type)