Klasse EqualExpression

Alle implementierten Schnittstellen:
OperatorIds, TypeConstants, TypeIds

public class EqualExpression extends BinaryExpression
  • Konstruktordetails

  • Methodendetails

    • syntacticFieldAnalysisForFalseBranch

      public void syntacticFieldAnalysisForFalseBranch(FlowInfo flowInfo, FlowContext flowContext)
    • analyseCode

      public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
      Setzt außer Kraft:
      analyseCode in Klasse BinaryExpression
    • computeConstant

      public final void computeConstant(TypeBinding leftType, TypeBinding rightType)
    • generateCode

      public void generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
      Normal == or != code generation.
      Setzt außer Kraft:
      generateCode in Klasse BinaryExpression
      Parameter:
      currentScope - org.eclipse.jdt.internal.compiler.lookup.BlockScope
      codeStream - org.eclipse.jdt.internal.compiler.codegen.CodeStream
      valueRequired - boolean
    • generateOptimizedBoolean

      public void generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
      Boolean operator code generation Optimized operations are: == and !=
      Setzt außer Kraft:
      generateOptimizedBoolean in Klasse BinaryExpression
      Parameter:
      currentScope -
      codeStream -
      trueLabel -
      falseLabel -
      valueRequired -
    • generateBooleanEqual

      public void generateBooleanEqual(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
      Boolean generation for == with boolean operands Note this code does not optimize conditional constants !!!!
    • generateOptimizedBooleanEqual

      public void generateOptimizedBooleanEqual(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
      Boolean generation for == with boolean operands Note this code does not optimize conditional constants !!!!
    • generateNonBooleanEqual

      public void generateNonBooleanEqual(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
      Boolean generation for == with non-boolean operands
    • generateOptimizedNonBooleanEqual

      public void generateOptimizedNonBooleanEqual(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
      Boolean generation for == with non-boolean operands
    • isCompactableOperation

      public boolean isCompactableOperation()
      Setzt außer Kraft:
      isCompactableOperation in Klasse BinaryExpression
    • optimizedNullComparisonConstant

      protected Constant optimizedNullComparisonConstant()
      Setzt außer Kraft:
      optimizedNullComparisonConstant in Klasse Expression
    • 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 BinaryExpression
      Parameter:
      scope -
      Gibt zurück:
      Return the actual type of this expression after resolution
    • traverse

      public void traverse(ASTVisitor visitor, BlockScope scope)
      Beschreibung aus Klasse kopiert: Expression
      Traverse an expression in the context of a blockScope
      Setzt außer Kraft:
      traverse in Klasse BinaryExpression
      Parameter:
      visitor -
      scope -