Package soot.JastAddJ
Class CompilationUnit
- java.lang.Object
-
- beaver.Symbol
-
- soot.JastAddJ.ASTNode<ASTNode>
-
- soot.JastAddJ.CompilationUnit
-
- Direct Known Subclasses:
AnnotatedCompilationUnit
,PrimitiveCompilationUnit
,WildcardsCompilationUnit
public class CompilationUnit extends ASTNode<ASTNode> implements Cloneable
-
-
Field Summary
Fields Modifier and Type Field Description protected ArrayList
errors
boolean
isResolved
protected Map
lookupType_String_values
int
PackageDeclend
int
PackageDeclstart
protected boolean
packageName_computed
protected String
packageName_value
protected Collection
parseErrors
protected String
tokenjava_lang_String_PackageDecl
protected ArrayList
warnings
-
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 CompilationUnit()
CompilationUnit(Symbol p0, List<ImportDecl> p1, List<TypeDecl> p2)
CompilationUnit(String p0, List<ImportDecl> p1, List<TypeDecl> p2)
-
Method Summary
-
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, collectTypesToHierarchy, collectTypesToSignatures, compilationUnit, Define_Annotation_lookupAnnotation, Define_ArrayList_exceptionRanges, Define_ASTNode_enclosingBlock, Define_BodyDecl_enclosingBodyDecl, Define_boolean_enclosedByExceptionHandler, 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_isDAbefore, Define_boolean_isDest, Define_boolean_isDUbefore, Define_boolean_isExceptionHandlerParameter, Define_boolean_isExplicitGenericConstructorAccess, Define_boolean_isMethodParameter, 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_lookupSuperConstructor, Define_Collection_TypeDecl__caughtExceptions, 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_soot_jimple_Stmt_condition_false_label, Define_soot_jimple_Stmt_condition_true_label, Define_String_methodHost, Define_String_typeDeclIndent, Define_TypeDecl_assignConvertedType, Define_TypeDecl_componentType, Define_TypeDecl_declType, Define_TypeDecl_enclosingAnnotationDecl, Define_TypeDecl_enclosingInstance, Define_TypeDecl_expectedType, Define_TypeDecl_genericDecl, 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, 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, newLabel, options, putSimpleSetElement, reachedException, removeChild, removeInstanceMethods, removeInstanceVariables, replace, setChild, setEnd, setLocation, setParent, setStart, sourceFile, start, state, toString, transformEnumConstructors, typeCheck, 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
-
-
-
-
Field Detail
-
errors
protected ArrayList errors
-
warnings
protected ArrayList warnings
-
parseErrors
protected Collection parseErrors
-
isResolved
public boolean isResolved
-
tokenjava_lang_String_PackageDecl
protected String tokenjava_lang_String_PackageDecl
-
PackageDeclstart
public int PackageDeclstart
-
PackageDeclend
public int PackageDeclend
-
packageName_computed
protected boolean packageName_computed
-
packageName_value
protected String packageName_value
-
lookupType_String_values
protected Map lookupType_String_values
-
-
Constructor Detail
-
CompilationUnit
public CompilationUnit()
-
CompilationUnit
public CompilationUnit(String p0, List<ImportDecl> p1, List<TypeDecl> p2)
-
CompilationUnit
public CompilationUnit(Symbol p0, List<ImportDecl> p1, List<TypeDecl> p2)
-
-
Method Detail
-
flushCache
public void flushCache()
- Overrides:
flushCache
in classASTNode<ASTNode>
-
flushCollectionCache
public void flushCollectionCache()
- Overrides:
flushCollectionCache
in classASTNode<ASTNode>
-
clone
public CompilationUnit clone() throws CloneNotSupportedException
- Overrides:
clone
in classASTNode<ASTNode>
- Throws:
CloneNotSupportedException
-
copy
public CompilationUnit copy()
-
fullCopy
public CompilationUnit fullCopy()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
-
setRelativeName
public void setRelativeName(String name)
-
setPathName
public void setPathName(String name)
-
setFromSource
public void setFromSource(boolean value)
-
parseErrors
public Collection parseErrors()
-
addParseError
public void addParseError(Problem msg)
-
errorCheck
public void errorCheck(Collection collection)
-
errorCheck
public void errorCheck(Collection err, Collection warn)
-
refined_NameCheck_CompilationUnit_nameCheck
public void refined_NameCheck_CompilationUnit_nameCheck()
-
toString
public void toString(StringBuffer s)
-
transformation
public void transformation()
- Overrides:
transformation
in classASTNode<ASTNode>
-
init$Children
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.- Overrides:
init$Children
in classASTNode<ASTNode>
-
numChildren
protected int numChildren()
- Overrides:
numChildren
in classASTNode<ASTNode>
-
mayHaveRewrite
public boolean mayHaveRewrite()
- Overrides:
mayHaveRewrite
in classASTNode<ASTNode>
-
setPackageDecl
public void setPackageDecl(String value)
Replaces the lexeme PackageDecl.- Parameters:
value
- The new value for the lexeme PackageDecl.
-
setPackageDecl
public void setPackageDecl(Symbol symbol)
JastAdd-internal setter for lexeme PackageDecl using the Beaver parser.
-
getPackageDecl
public String getPackageDecl()
Retrieves the value for the lexeme PackageDecl.- Returns:
- The value for the lexeme PackageDecl.
-
setImportDeclList
public void setImportDeclList(List<ImportDecl> list)
Replaces the ImportDecl list.- Parameters:
list
- The new list node to be used as the ImportDecl list.
-
getNumImportDecl
public int getNumImportDecl()
Retrieves the number of children in the ImportDecl list.- Returns:
- Number of children in the ImportDecl list.
-
getNumImportDeclNoTransform
public int getNumImportDeclNoTransform()
Retrieves the number of children in the ImportDecl list. Calling this method will not trigger rewrites..- Returns:
- Number of children in the ImportDecl list.
-
getImportDecl
public ImportDecl getImportDecl(int i)
Retrieves the element at indexi
in the ImportDecl list..- Parameters:
i
- Index of the element to return.- Returns:
- The element at position
i
in the ImportDecl list.
-
addImportDecl
public void addImportDecl(ImportDecl node)
Append an element to the ImportDecl list.- Parameters:
node
- The element to append to the ImportDecl list.
-
addImportDeclNoTransform
public void addImportDeclNoTransform(ImportDecl node)
-
setImportDecl
public void setImportDecl(ImportDecl node, int i)
Replaces the ImportDecl list element at indexi
with the new nodenode
.- Parameters:
node
- The new node to replace the old list element.i
- The list index of the node to be replaced.
-
getImportDecls
public List<ImportDecl> getImportDecls()
Retrieves the ImportDecl list.- Returns:
- The node representing the ImportDecl list.
-
getImportDeclsNoTransform
public List<ImportDecl> getImportDeclsNoTransform()
Retrieves the ImportDecl list.This method does not invoke AST transformations.
- Returns:
- The node representing the ImportDecl list.
-
getImportDeclList
public List<ImportDecl> getImportDeclList()
Retrieves the ImportDecl list.- Returns:
- The node representing the ImportDecl list.
-
getImportDeclListNoTransform
public List<ImportDecl> getImportDeclListNoTransform()
Retrieves the ImportDecl list.This method does not invoke AST transformations.
- Returns:
- The node representing the ImportDecl list.
-
setTypeDeclList
public void setTypeDeclList(List<TypeDecl> list)
Replaces the TypeDecl list.- Parameters:
list
- The new list node to be used as the TypeDecl list.
-
getNumTypeDecl
public int getNumTypeDecl()
Retrieves the number of children in the TypeDecl list.- Returns:
- Number of children in the TypeDecl list.
-
getNumTypeDeclNoTransform
public int getNumTypeDeclNoTransform()
Retrieves the number of children in the TypeDecl list. Calling this method will not trigger rewrites..- Returns:
- Number of children in the TypeDecl list.
-
getTypeDecl
public TypeDecl getTypeDecl(int i)
Retrieves the element at indexi
in the TypeDecl list..- Parameters:
i
- Index of the element to return.- Returns:
- The element at position
i
in the TypeDecl list.
-
addTypeDecl
public void addTypeDecl(TypeDecl node)
Append an element to the TypeDecl list.- Parameters:
node
- The element to append to the TypeDecl list.
-
addTypeDeclNoTransform
public void addTypeDeclNoTransform(TypeDecl node)
-
setTypeDecl
public void setTypeDecl(TypeDecl node, int i)
Replaces the TypeDecl list element at indexi
with the new nodenode
.- Parameters:
node
- The new node to replace the old list element.i
- The list index of the node to be replaced.
-
getTypeDecls
public List<TypeDecl> getTypeDecls()
Retrieves the TypeDecl list.- Returns:
- The node representing the TypeDecl list.
-
getTypeDeclsNoTransform
public List<TypeDecl> getTypeDeclsNoTransform()
Retrieves the TypeDecl list.This method does not invoke AST transformations.
- Returns:
- The node representing the TypeDecl list.
-
getTypeDeclList
public List<TypeDecl> getTypeDeclList()
Retrieves the TypeDecl list.- Returns:
- The node representing the TypeDecl list.
-
getTypeDeclListNoTransform
public List<TypeDecl> getTypeDeclListNoTransform()
Retrieves the TypeDecl list.This method does not invoke AST transformations.
- Returns:
- The node representing the TypeDecl list.
-
relativeName
public String relativeName()
-
pathName
public String pathName()
-
fromSource
public boolean fromSource()
-
dumpString
public String dumpString()
- Overrides:
dumpString
in classASTNode<ASTNode>
-
packageName
public String packageName()
-
importedMethods
public Collection importedMethods(String name)
-
importedMethodsOnDemand
public Collection importedMethodsOnDemand(String name)
-
lookupMethod
public Collection lookupMethod(String name)
-
Define_CompilationUnit_compilationUnit
public CompilationUnit Define_CompilationUnit_compilationUnit(ASTNode caller, ASTNode child)
- Overrides:
Define_CompilationUnit_compilationUnit
in classASTNode<ASTNode>
-
Define_boolean_isIncOrDec
public boolean Define_boolean_isIncOrDec(ASTNode caller, ASTNode child)
- Overrides:
Define_boolean_isIncOrDec
in classASTNode<ASTNode>
-
Define_boolean_handlesException
public boolean Define_boolean_handlesException(ASTNode caller, ASTNode child, TypeDecl exceptionType)
- Overrides:
Define_boolean_handlesException
in classASTNode<ASTNode>
-
Define_SimpleSet_lookupType
public SimpleSet Define_SimpleSet_lookupType(ASTNode caller, ASTNode child, String name)
- Overrides:
Define_SimpleSet_lookupType
in classASTNode<ASTNode>
-
Define_SimpleSet_allImportedTypes
public SimpleSet Define_SimpleSet_allImportedTypes(ASTNode caller, ASTNode child, String name)
- Overrides:
Define_SimpleSet_allImportedTypes
in classASTNode<ASTNode>
-
Define_String_packageName
public String Define_String_packageName(ASTNode caller, ASTNode child)
- Overrides:
Define_String_packageName
in classASTNode<ASTNode>
-
Define_NameType_nameType
public NameType Define_NameType_nameType(ASTNode caller, ASTNode child)
- Overrides:
Define_NameType_nameType
in classASTNode<ASTNode>
-
Define_TypeDecl_enclosingType
public TypeDecl Define_TypeDecl_enclosingType(ASTNode caller, ASTNode child)
- Overrides:
Define_TypeDecl_enclosingType
in classASTNode<ASTNode>
-
Define_boolean_isNestedType
public boolean Define_boolean_isNestedType(ASTNode caller, ASTNode child)
- Overrides:
Define_boolean_isNestedType
in classASTNode<ASTNode>
-
Define_boolean_isMemberType
public boolean Define_boolean_isMemberType(ASTNode caller, ASTNode child)
- Overrides:
Define_boolean_isMemberType
in classASTNode<ASTNode>
-
Define_boolean_isLocalClass
public boolean Define_boolean_isLocalClass(ASTNode caller, ASTNode child)
- Overrides:
Define_boolean_isLocalClass
in classASTNode<ASTNode>
-
Define_String_hostPackage
public String Define_String_hostPackage(ASTNode caller, ASTNode child)
- Overrides:
Define_String_hostPackage
in classASTNode<ASTNode>
-
Define_TypeDecl_hostType
public TypeDecl Define_TypeDecl_hostType(ASTNode caller, ASTNode child)
- Overrides:
Define_TypeDecl_hostType
in classASTNode<ASTNode>
-
Define_SimpleSet_lookupVariable
public SimpleSet Define_SimpleSet_lookupVariable(ASTNode caller, ASTNode child, String name)
- Overrides:
Define_SimpleSet_lookupVariable
in classASTNode<ASTNode>
-
Define_Collection_lookupMethod
public Collection Define_Collection_lookupMethod(ASTNode caller, ASTNode child, String name)
- Overrides:
Define_Collection_lookupMethod
in classASTNode<ASTNode>
-
-