|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode
org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement
org.aspectj.org.eclipse.jdt.internal.compiler.ast.Expression
org.aspectj.org.eclipse.jdt.internal.compiler.ast.OperatorExpression
org.aspectj.org.eclipse.jdt.internal.compiler.ast.BinaryExpression
org.aspectj.org.eclipse.jdt.internal.compiler.ast.EqualExpression
public class EqualExpression
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeConstants |
|---|
TypeConstants.CloseMethodRecord |
| Field Summary |
|---|
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.BinaryExpression |
|---|
left, optimizedBooleanConstant, right |
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.OperatorExpression |
|---|
OperatorSignatures |
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.Expression |
|---|
constant, implicitConversion, resolvedType, statementEnd |
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement |
|---|
COMPLAINED_FAKE_REACHABLE, COMPLAINED_UNREACHABLE, NOT_COMPLAINED |
| Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.ast.OperatorIds |
|---|
AND, AND_AND, DIVIDE, EQUAL, EQUAL_EQUAL, GREATER, GREATER_EQUAL, INSTANCEOF, LEFT_SHIFT, LESS, LESS_EQUAL, MINUS, MINUS_MINUS, MULTIPLY, NOT, NOT_EQUAL, NumberOfTables, OR, OR_OR, PLUS, PLUS_PLUS, QUESTIONCOLON, REMAINDER, RIGHT_SHIFT, TWIDDLE, UNSIGNED_RIGHT_SHIFT, XOR |
| Constructor Summary | |
|---|---|
EqualExpression(Expression left,
Expression right,
int operator)
|
|
| Method Summary | |
|---|---|
FlowInfo |
analyseCode(BlockScope currentScope,
FlowContext flowContext,
FlowInfo flowInfo)
|
void |
computeConstant(TypeBinding leftType,
TypeBinding rightType)
|
void |
generateBooleanEqual(BlockScope currentScope,
CodeStream codeStream,
boolean valueRequired)
Boolean generation for == with boolean operands Note this code does not optimize conditional constants !!!! |
void |
generateCode(BlockScope currentScope,
CodeStream codeStream,
boolean valueRequired)
Normal == or != code generation. |
void |
generateNonBooleanEqual(BlockScope currentScope,
CodeStream codeStream,
boolean valueRequired)
Boolean generation for == with non-boolean operands |
void |
generateOptimizedBoolean(BlockScope currentScope,
CodeStream codeStream,
BranchLabel trueLabel,
BranchLabel falseLabel,
boolean valueRequired)
Boolean operator code generation Optimized operations are: == and != |
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 !!!! |
void |
generateOptimizedNonBooleanEqual(BlockScope currentScope,
CodeStream codeStream,
BranchLabel trueLabel,
BranchLabel falseLabel,
boolean valueRequired)
Boolean generation for == with non-boolean operands |
boolean |
isCompactableOperation()
|
TypeBinding |
resolveType(BlockScope scope)
Resolve the type of this expression in the context of a blockScope |
void |
traverse(ASTVisitor visitor,
BlockScope scope)
Traverse an expression in the context of a blockScope |
| Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.BinaryExpression |
|---|
computeConstant, generateLogicalAnd, generateLogicalOr, generateLogicalXor, generateOptimizedGreaterThan, generateOptimizedGreaterThanOrEqual, generateOptimizedLessThan, generateOptimizedLessThanOrEqual, generateOptimizedLogicalAnd, generateOptimizedLogicalOr, generateOptimizedLogicalXor, generateOptimizedStringConcatenation, generateOptimizedStringConcatenationCreation, optimizedBooleanConstant, optimizedBooleanConstant, printExpressionNoParenthesis |
| Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.OperatorExpression |
|---|
classInitialize, generateTableTestCase, get_AND_AND, get_AND, get_DIVIDE, get_EQUAL_EQUAL, get_GREATER_EQUAL, get_GREATER, get_LEFT_SHIFT, get_LESS_EQUAL, get_LESS, get_MINUS, get_MULTIPLY, get_OR_OR, get_OR, get_PLUS, get_REMAINDER, get_RIGHT_SHIFT, get_UNSIGNED_RIGHT_SHIFT, get_XOR, operatorToString, printExpression |
| Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement |
|---|
analyseArguments, branchChainTo, checkAgainstNullTypeAnnotation, complainIfUnreachable, expectedType, findConstructorBinding, generateArguments, getExpressionContext, invocationTargetType, isBoxingCompatible, isEmptyBlock, isKnowDeadCodePattern, isValidJavaStatement, recordExceptionsForEnclosingLambda, resolveCase |
| Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode |
|---|
checkInvocationArguments, concreteStatement, copySE8AnnotationsToType, isFieldUseDeprecated, isImplicitThis, isMethodUseDeprecated, isSuper, isThis, isTypeUseDeprecated, isUnqualifiedSuper, printAnnotations, printIndent, printModifiers, receiverIsImplicitThis, resolveAnnotations, resolveAnnotations, resolveAnnotations, resolveDeprecatedAnnotations, resolvePolyExpressionArguments, resolvePolyExpressionArguments, sourceEnd, sourceStart, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public EqualExpression(Expression left,
Expression right,
int operator)
| Method Detail |
|---|
public FlowInfo analyseCode(BlockScope currentScope,
FlowContext flowContext,
FlowInfo flowInfo)
analyseCode in class BinaryExpression
public final void computeConstant(TypeBinding leftType,
TypeBinding rightType)
public void generateCode(BlockScope currentScope,
CodeStream codeStream,
boolean valueRequired)
generateCode in class BinaryExpressioncurrentScope - org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BlockScopecodeStream - org.aspectj.org.eclipse.jdt.internal.compiler.codegen.CodeStreamvalueRequired - boolean
public void generateOptimizedBoolean(BlockScope currentScope,
CodeStream codeStream,
BranchLabel trueLabel,
BranchLabel falseLabel,
boolean valueRequired)
generateOptimizedBoolean in class BinaryExpression
public void generateBooleanEqual(BlockScope currentScope,
CodeStream codeStream,
boolean valueRequired)
public void generateOptimizedBooleanEqual(BlockScope currentScope,
CodeStream codeStream,
BranchLabel trueLabel,
BranchLabel falseLabel,
boolean valueRequired)
public void generateNonBooleanEqual(BlockScope currentScope,
CodeStream codeStream,
boolean valueRequired)
public void generateOptimizedNonBooleanEqual(BlockScope currentScope,
CodeStream codeStream,
BranchLabel trueLabel,
BranchLabel falseLabel,
boolean valueRequired)
public boolean isCompactableOperation()
isCompactableOperation in class BinaryExpressionpublic TypeBinding resolveType(BlockScope scope)
Expression
resolveType in class BinaryExpression
public void traverse(ASTVisitor visitor,
BlockScope scope)
Expression
traverse in class BinaryExpression
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||