Package soot.JastAddJ
Class AndBitwiseExpr
- java.lang.Object
-
- beaver.Symbol
-
- soot.JastAddJ.ASTNode<ASTNode>
-
- soot.JastAddJ.Expr
-
- soot.JastAddJ.Binary
-
- soot.JastAddJ.BitwiseExpr
-
- soot.JastAddJ.AndBitwiseExpr
-
public class AndBitwiseExpr extends BitwiseExpr implements Cloneable
-
-
Field Summary
-
Fields inherited from class soot.JastAddJ.BitwiseExpr
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
-
-
Constructor Summary
Constructors Constructor Description AndBitwiseExpr()
AndBitwiseExpr(Expr p0, Expr p1)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AndBitwiseExpr
clone()
Constant
constant()
AndBitwiseExpr
copy()
Value
emitOperation(Body b, Value left, Value right)
void
flushCache()
void
flushCollectionCache()
AndBitwiseExpr
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.BitwiseExpr
type, typeCheck
-
Methods inherited from class soot.JastAddJ.Binary
binaryNumericPromotedType, Define_boolean_isDAbefore, Define_boolean_isDUbefore, emitShiftExpr, eval, 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, emitEvalBranch, 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_soot_jimple_Stmt_condition_false_label, Define_soot_jimple_Stmt_condition_true_label, 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, definesLabel, 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 classBitwiseExpr
-
flushCollectionCache
public void flushCollectionCache()
- Overrides:
flushCollectionCache
in classBitwiseExpr
-
clone
public AndBitwiseExpr clone() throws CloneNotSupportedException
- Overrides:
clone
in classBitwiseExpr
- Throws:
CloneNotSupportedException
-
copy
public AndBitwiseExpr copy()
-
fullCopy
public AndBitwiseExpr fullCopy()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
-
emitOperation
public Value emitOperation(Body b, Value left, Value right)
- Overrides:
emitOperation
in classBinary
-
init$Children
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.- Overrides:
init$Children
in classBitwiseExpr
-
numChildren
protected int numChildren()
- Overrides:
numChildren
in classBitwiseExpr
-
mayHaveRewrite
public boolean mayHaveRewrite()
- Overrides:
mayHaveRewrite
in classBitwiseExpr
-
setLeftOperand
public void setLeftOperand(Expr node)
Replaces the LeftOperand child.- Overrides:
setLeftOperand
in classBitwiseExpr
- Parameters:
node
- The new node to replace the LeftOperand child.
-
getLeftOperand
public Expr getLeftOperand()
Retrieves the LeftOperand child.- Overrides:
getLeftOperand
in classBitwiseExpr
- 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 classBitwiseExpr
- Returns:
- The current node used as the LeftOperand child.
-
setRightOperand
public void setRightOperand(Expr node)
Replaces the RightOperand child.- Overrides:
setRightOperand
in classBitwiseExpr
- Parameters:
node
- The new node to replace the RightOperand child.
-
getRightOperand
public Expr getRightOperand()
Retrieves the RightOperand child.- Overrides:
getRightOperand
in classBitwiseExpr
- 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 classBitwiseExpr
- Returns:
- The current node used as the RightOperand child.
-
rewriteTo
public ASTNode rewriteTo()
- Overrides:
rewriteTo
in classBitwiseExpr
-
-