Class CompareIdentityExpression
java.lang.Object
org.codehaus.groovy.ast.ASTNode
org.codehaus.groovy.ast.AnnotatedNode
org.codehaus.groovy.ast.expr.Expression
org.codehaus.groovy.ast.expr.BinaryExpression
org.codehaus.groovy.transform.sc.transformers.CompareIdentityExpression
- All Implemented Interfaces:
GroovydocHolder<AnnotatedNode>
,NodeMetaDataHandler
Compares two objects using identity comparison.
This expression will generate bytecode using the IF_ACMPNE instruction, instead of
using the "equals" method that is currently mapped to "==" in Groovy.
This expression should only be used to compare to objects, not primitives, and only
in the context of reference equality check.
-
Field Summary
Fields inherited from class org.codehaus.groovy.ast.expr.Expression
EMPTY_ARRAY
Fields inherited from interface groovy.lang.groovydoc.GroovydocHolder
DOC_COMMENT
-
Constructor Summary
ConstructorDescriptionCompareIdentityExpression
(Expression leftExpression, boolean eq, Expression rightExpression) CompareIdentityExpression
(Expression leftExpression, Expression rightExpression) -
Method Summary
Modifier and TypeMethodDescriptionboolean
isEq()
void
transformExpression
(ExpressionTransformer transformer) Return a copy of the expression calling the transformer on any nested expressionsvoid
visit
(GroovyCodeVisitor visitor) Methods inherited from class org.codehaus.groovy.ast.expr.BinaryExpression
getLeftExpression, getOperation, getRightExpression, getText, isSafe, newAssignmentExpression, newInitializationExpression, setLeftExpression, setRightExpression, setSafe, toString
Methods inherited from class org.codehaus.groovy.ast.expr.Expression
getType, transformExpressions, transformExpressions
Methods inherited from class org.codehaus.groovy.ast.AnnotatedNode
addAnnotation, addAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, getGroovydoc, getInstance, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic
Methods inherited from class org.codehaus.groovy.ast.ASTNode
copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePosition
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.codehaus.groovy.ast.NodeMetaDataHandler
copyNodeMetaData, getNodeMetaData, getNodeMetaData, getNodeMetaData, putNodeMetaData, removeNodeMetaData, setNodeMetaData
-
Constructor Details
-
CompareIdentityExpression
-
CompareIdentityExpression
-
-
Method Details
-
isEq
public boolean isEq() -
setType
- Overrides:
setType
in classExpression
-
transformExpression
Description copied from class:Expression
Return a copy of the expression calling the transformer on any nested expressions- Overrides:
transformExpression
in classBinaryExpression
-
visit
- Overrides:
visit
in classBinaryExpression
-