Alle implementierten Schnittstellen:
TypeConstants, TypeIds
Bekannte direkte Unterklassen:
GuardedPattern, TypePattern

public abstract class Pattern extends Expression
  • Felddetails

  • Konstruktordetails

    • Pattern

      public Pattern()
  • Methodendetails

    • isTotalForType

      public boolean isTotalForType(TypeBinding type)
    • resolveAtType

      public TypeBinding resolveAtType(BlockScope scope, TypeBinding type)
    • resolveType

      public TypeBinding resolveType(BlockScope scope)
      Beschreibung aus Klasse kopiert: Expression
      Resolve the type of this expression in the context of a blockScope
      Setzt außer Kraft:
      resolveType in Klasse Expression
      Gibt zurück:
      Return the actual type of this expression after resolution
    • resolveType

      public TypeBinding resolveType(BlockScope scope, boolean isPatternVariable)
    • isAlwaysTrue

      public boolean isAlwaysTrue()
    • generateCode

      public void generateCode(BlockScope currentScope, CodeStream codeStream)
      Beschreibung aus Klasse kopiert: Expression
      Expression statements are plain expressions, however they generate like normal expressions with no value required.
      Setzt außer Kraft:
      generateCode in Klasse Expression
      Parameter:
      currentScope - org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BlockScope
      codeStream - org.aspectj.org.eclipse.jdt.internal.compiler.codegen.CodeStream
    • suspendVariables

      public void suspendVariables(CodeStream codeStream, BlockScope scope)
    • resumeVariables

      public void resumeVariables(CodeStream codeStream, BlockScope scope)
    • generateOptimizedBoolean

      public abstract void generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel)
    • generatePatternVariable

      protected abstract void generatePatternVariable(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel)
    • wrapupGeneration

      protected abstract void wrapupGeneration(CodeStream codeStream)
    • getType

      public TypeReference getType()
    • resolveWithExpression

      public abstract void resolveWithExpression(BlockScope scope, Expression expression)
    • setTargetSupplier

      public void setTargetSupplier(Supplier<BranchLabel> targetSupplier)
    • isPatternTypeCompatible

      protected abstract boolean isPatternTypeCompatible(TypeBinding other, BlockScope scope)
    • dominates

      public abstract boolean dominates(Pattern p)
    • primary

      public Pattern primary()
    • print

      public StringBuffer print(int indent, StringBuffer output)
      Setzt außer Kraft:
      print in Klasse Expression