Package soot.JastAddJ
Class EQExpr
-
public class EQExpr extends EqualityExpr implements Cloneable
-
-
Field Summary
-
Fields inherited from class soot.JastAddJ.RelationalExpr
type_computed, type_value
-
Fields inherited from class soot.JastAddJ.Binary
isConstant_computed, isConstant_initialized, isConstant_value, isConstant_visited, isDAafter_Variable_values, isDAafterFalse_Variable_values, isDAafterTrue_Variable_values, isDUafter_Variable_values, isDUbefore_Variable_values
-
Fields inherited from class soot.JastAddJ.Expr
false_label_computed, false_label_value, true_label_computed, true_label_value
-
Fields inherited from class soot.JastAddJ.ASTNode
children, generatedWithCacheCycle, generatedWithCircularEnabled, generatedWithComponentCheck, in$Circle, is$Final, numChildren, parent, PRIMITIVE_PACKAGE_NAME, state
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EQExpr
clone()
Value
comparison(Body b, Value left, Value right)
Value
comparisonInv(Body b, Value left, Value right)
Constant
constant()
EQExpr
copy()
void
flushCache()
void
flushCollectionCache()
EQExpr
fullCopy()
Create a deep copy of the AST subtree at this node.Expr
getLeftOperand()
Retrieves the LeftOperand child.Expr
getLeftOperandNoTransform()
Retrieves the LeftOperand child.Expr
getRightOperand()
Retrieves the RightOperand child.Expr
getRightOperandNoTransform()
Retrieves the RightOperand child.void
init$Children()
Initializes the child array to the correct size.boolean
mayHaveRewrite()
protected int
numChildren()
String
printOp()
ASTNode
rewriteTo()
void
setLeftOperand(Expr node)
Replaces the LeftOperand child.void
setRightOperand(Expr node)
Replaces the RightOperand child.-
Methods inherited from class soot.JastAddJ.EqualityExpr
typeCheck
-
Methods inherited from class soot.JastAddJ.RelationalExpr
Define_soot_jimple_Stmt_condition_false_label, Define_soot_jimple_Stmt_condition_true_label, definesLabel, emitEvalBranch, eval, type
-
Methods inherited from class soot.JastAddJ.Binary
binaryNumericPromotedType, Define_boolean_isDAbefore, Define_boolean_isDUbefore, emitOperation, emitShiftExpr, isConstant, isDAafter, isDAafterFalse, isDAafterTrue, isDUafter, isDUbefore, left, right, toString
-
Methods inherited from class soot.JastAddJ.Expr
addDependencyIfNeeded, applicableAndAccessible, assignConvertedType, canBeFalse, canBeTrue, chooseConstructor, collectTypesToHierarchy, condition_false_label, condition_true_label, emitBooleanCondition, emitStore, enclosingBodyDecl, enclosingStmt, false_label, hasNextAccess, hasPackage, hasParentDot, hasQualifiedPackage, hostPackage, hostType, inExtendsOrImplements, inStaticContext, isArrayAccess, isClassAccess, isDAbefore, isDest, isDUafterFalse, isDUafterTrue, isEnumConstant, isFalse, isFieldAccess, isIncOrDec, isLeftChildOfDot, isMethodAccess, isPackageAccess, isPositive, isRightChildOfDot, isSource, isSuperAccess, isSuperConstructorAccess, isThisAccess, isTrue, isTypeAccess, isUnknown, isVariable, isVariable, keepAccessibleFields, keepAccessibleTypes, lookupMethod, lookupType, lookupType, lookupVariable, mayAccess, methodHost, modifiedInScope, mostSpecific, mostSpecificConstructor, nameType, nextAccess, packageName, parentDot, qualifiedLookupType, qualifiedLookupVariable, qualifiesAccess, refined_BooleanExpressions_Expr_emitEvalBranch, representableIn, staticContextQualifier, throwTypes, true_label, typeBoolean, typeByte, typeChar, typeDouble, typeFloat, typeInt, typeLong, typeName, typeNull, typeShort, typeString, typeVoid, unknownType, varDecl
-
Methods inherited from class soot.JastAddJ.ASTNode
accessControl, addAttributes, addChild, addsIndentationLevel, asImmediate, asLocal, asLocal, asRValue, beginExceptionRange, branchTarget, checkDUeverywhere, checkEnum, checkUncheckedConversion, checkWarnings, clearLocations, cloneSubtree, collectBranches, collectEnclosingVariables, collectErrors, collectExceptions, collectFinally, collectTypesToSignatures, compilationUnit, Define_Annotation_lookupAnnotation, Define_ArrayList_exceptionRanges, Define_ASTNode_enclosingBlock, Define_BodyDecl_enclosingBodyDecl, Define_boolean_enclosedByExceptionHandler, Define_boolean_handlesException, Define_boolean_hasPackage, Define_boolean_inExplicitConstructorInvocation, Define_boolean_inExtendsOrImplements, Define_boolean_inhModifiedInScope, Define_boolean_insideLoop, Define_boolean_insideSwitch, Define_boolean_inStaticContext, Define_boolean_isAnonymous, Define_boolean_isAnonymousDecl, Define_boolean_isCatchParam, Define_boolean_isConstructorParameter, Define_boolean_isDest, Define_boolean_isExceptionHandlerParameter, Define_boolean_isExplicitGenericConstructorAccess, Define_boolean_isIncOrDec, Define_boolean_isLocalClass, Define_boolean_isMemberType, Define_boolean_isMethodParameter, Define_boolean_isNestedType, Define_boolean_isSource, Define_boolean_mayBeAbstract, Define_boolean_mayBeFinal, Define_boolean_mayBeNative, Define_boolean_mayBePrivate, Define_boolean_mayBeProtected, Define_boolean_mayBePublic, Define_boolean_mayBeStatic, Define_boolean_mayBeStrictfp, Define_boolean_mayBeSynchronized, Define_boolean_mayBeTransient, Define_boolean_mayBeVolatile, Define_boolean_mayUseAnnotationTarget, Define_boolean_reachable, Define_boolean_reachableCatchClause, Define_boolean_reportUnreachable, Define_boolean_resourcePreviouslyDeclared, Define_boolean_variableArityValid, Define_boolean_withinDeprecatedAnnotation, Define_boolean_withinSuppressWarnings, Define_Case_bind, Define_CatchClause_catchClause, Define_ClassInstanceExpr_getClassInstanceExpr, Define_Collection_lookupConstructor, Define_Collection_lookupMethod, Define_Collection_lookupSuperConstructor, Define_Collection_TypeDecl__caughtExceptions, Define_CompilationUnit_compilationUnit, Define_ConstructorDecl_constructorDecl, Define_ConstructorDecl_unknownConstructor, Define_ElementValue_lookupElementTypeValue, Define_Expr_nestedScope, Define_GLBType_lookupGLBType, Define_int_localNum, Define_LabeledStmt_lookupLabel, Define_LUBType_lookupLUBType, Define_MethodDecl_unknownMethod, Define_NameType_nameType, Define_SimpleSet_allImportedTypes, Define_SimpleSet_lookupType, Define_SimpleSet_lookupVariable, Define_String_hostPackage, Define_String_methodHost, Define_String_packageName, Define_String_typeDeclIndent, Define_TypeDecl_assignConvertedType, Define_TypeDecl_componentType, Define_TypeDecl_declType, Define_TypeDecl_enclosingAnnotationDecl, Define_TypeDecl_enclosingInstance, Define_TypeDecl_enclosingType, Define_TypeDecl_expectedType, Define_TypeDecl_genericDecl, Define_TypeDecl_hostType, Define_TypeDecl_lookupType, Define_TypeDecl_lookupWildcardExtends, Define_TypeDecl_lookupWildcardSuper, Define_TypeDecl_returnType, Define_TypeDecl_superType, Define_TypeDecl_switchType, Define_TypeDecl_typeBoolean, Define_TypeDecl_typeByte, Define_TypeDecl_typeChar, Define_TypeDecl_typeCloneable, Define_TypeDecl_typeDouble, Define_TypeDecl_typeError, Define_TypeDecl_typeException, Define_TypeDecl_typeFloat, Define_TypeDecl_typeInt, Define_TypeDecl_typeLong, Define_TypeDecl_typeNull, Define_TypeDecl_typeNullPointerException, Define_TypeDecl_typeObject, Define_TypeDecl_typeRuntimeException, Define_TypeDecl_typeSerializable, Define_TypeDecl_typeShort, Define_TypeDecl_typeString, Define_TypeDecl_typeThrowable, Define_TypeDecl_typeVoid, Define_TypeDecl_typeWildcard, Define_TypeDecl_unknownType, Define_Variable_unknownField, Define_VariableScope_outerScope, definiteAssignment, dumpString, dumpTree, dumpTree, dumpTreeNoRewrite, dumpTreeNoRewrite, duringAnnotations, duringAnonymousClasses, duringBoundNames, duringDU, duringEnums, duringGenericTypeVariables, duringImplicitConstructor, duringLiterals, duringNameResolution, duringSyntacticClassification, duringVariableDeclarationTransformation, emitConstant, end, endExceptionRange, error, errorPrefix, exceptionHandling, extractIndent, extractSingleType, flushCaches, getChild, getChildNoTransform, getIndexOfChild, getNumChild, getNumChildNoTransform, getParent, in$Circle, in$Circle, indent, insertChild, is$Final, is$Final, isDescendantTo, isStringAdd, iterator, jimplify1phase1, jimplify1phase2, jimplify2, jimplify2, lineNumber, location, nameCheck, newLabel, options, putSimpleSetElement, reachedException, removeChild, removeInstanceMethods, removeInstanceVariables, replace, setChild, setEnd, setLocation, setParent, setStart, sourceFile, start, state, toString, transformation, transformEnumConstructors, unassignedEverywhere, usesTypeVariable, varChildIndex, varChildIndex, warning, warningPrefix, with
-
Methods inherited from class beaver.Symbol
getColumn, getEnd, getId, getLine, getStart, makePosition
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
flushCache
public void flushCache()
- Overrides:
flushCache
in classEqualityExpr
-
flushCollectionCache
public void flushCollectionCache()
- Overrides:
flushCollectionCache
in classEqualityExpr
-
clone
public EQExpr clone() throws CloneNotSupportedException
- Overrides:
clone
in classEqualityExpr
- Throws:
CloneNotSupportedException
-
fullCopy
public EQExpr fullCopy()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
-
comparison
public Value comparison(Body b, Value left, Value right)
- Overrides:
comparison
in classRelationalExpr
-
comparisonInv
public Value comparisonInv(Body b, Value left, Value right)
- Overrides:
comparisonInv
in classRelationalExpr
-
init$Children
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.- Overrides:
init$Children
in classEqualityExpr
-
numChildren
protected int numChildren()
- Overrides:
numChildren
in classEqualityExpr
-
mayHaveRewrite
public boolean mayHaveRewrite()
- Overrides:
mayHaveRewrite
in classEqualityExpr
-
setLeftOperand
public void setLeftOperand(Expr node)
Replaces the LeftOperand child.- Overrides:
setLeftOperand
in classEqualityExpr
- Parameters:
node
- The new node to replace the LeftOperand child.
-
getLeftOperand
public Expr getLeftOperand()
Retrieves the LeftOperand child.- Overrides:
getLeftOperand
in classEqualityExpr
- Returns:
- The current node used as the LeftOperand child.
-
getLeftOperandNoTransform
public Expr getLeftOperandNoTransform()
Retrieves the LeftOperand child.This method does not invoke AST transformations.
- Overrides:
getLeftOperandNoTransform
in classEqualityExpr
- Returns:
- The current node used as the LeftOperand child.
-
setRightOperand
public void setRightOperand(Expr node)
Replaces the RightOperand child.- Overrides:
setRightOperand
in classEqualityExpr
- Parameters:
node
- The new node to replace the RightOperand child.
-
getRightOperand
public Expr getRightOperand()
Retrieves the RightOperand child.- Overrides:
getRightOperand
in classEqualityExpr
- Returns:
- The current node used as the RightOperand child.
-
getRightOperandNoTransform
public Expr getRightOperandNoTransform()
Retrieves the RightOperand child.This method does not invoke AST transformations.
- Overrides:
getRightOperandNoTransform
in classEqualityExpr
- Returns:
- The current node used as the RightOperand child.
-
rewriteTo
public ASTNode rewriteTo()
- Overrides:
rewriteTo
in classEqualityExpr
-
-