Package ptolemy.copernicus.kernel
Class PtolemyUtilities
- java.lang.Object
-
- ptolemy.copernicus.kernel.PtolemyUtilities
-
public class PtolemyUtilities extends java.lang.Object
This class consists of ptolemy-specific static utility methods for use with Soot.- Since:
- Ptolemy II 2.0
- Version:
- $Id$
- Author:
- Stephen Neuendorffer
- Pt.AcceptedRating:
- Red (cxh)
- Pt.ProposedRating:
- Red (cxh)
-
-
Field Summary
Fields Modifier and Type Field Description static soot.SootClass
actorClass
static soot.Type
actorType
static soot.SootMethod
arraycopyMethod
static soot.SootMethod
arrayGetElementMethod
static soot.SootClass
arrayTokenClass
static soot.SootMethod
arrayTokenConstructor
static soot.SootMethod
arrayTokenWithTypeConstructor
static soot.SootClass
arrayTypeClass
static soot.SootMethod
arrayValueMethod
static soot.SootClass
atomicActorClass
static soot.SootMethod
attachTextMethod
static soot.SootMethod
attributeChangedMethod
static soot.SootClass
attributeClass
static soot.Type
attributeType
static soot.SootClass
baseTypeClass
static soot.SootMethod
booleanMatrixMethod
static soot.SootMethod
booleanMatrixTokenArrayConstructor
static soot.SootClass
booleanMatrixTokenClass
static soot.SootMethod
booleanMatrixTokenConstructor
static soot.SootField
booleanMatrixTypeField
static soot.SootClass
booleanTokenClass
static soot.SootMethod
booleanTokenConstructor
static soot.SootField
booleanTypeField
static soot.SootMethod
booleanValueMethod
static soot.SootField
byteTypeField
static soot.SootClass
classClass
static soot.SootMethod
complexMatrixMethod
static soot.SootMethod
complexMatrixTokenArrayConstructor
static soot.SootClass
complexMatrixTokenClass
static soot.SootMethod
complexMatrixTokenConstructor
static soot.SootField
complexMatrixTypeField
static soot.SootClass
complexTokenClass
static soot.SootMethod
complexTokenConstructor
static soot.SootField
complexTypeField
static soot.SootMethod
complexValueMethod
static soot.SootClass
componentEntityClass
static soot.RefType
componentEntityType
static soot.SootClass
componentPortClass
static soot.Type
componentPortType
static soot.SootClass
compositeActorClass
static soot.SootClass
compositeEntityClass
static soot.SootMethod
connectionsChangedMethod
static soot.SootField
debuggingField
static soot.SootMethod
doubleMatrixMethod
static soot.SootMethod
doubleMatrixTokenArrayConstructor
static soot.SootClass
doubleMatrixTokenClass
static soot.SootMethod
doubleMatrixTokenConstructor
static soot.SootField
doubleMatrixTypeField
static soot.SootClass
doubleTokenClass
static soot.SootMethod
doubleTokenConstructor
static soot.SootField
doubleTypeField
static soot.SootMethod
doubleValueMethod
static soot.SootClass
entityClass
static soot.RefType
entityType
static soot.SootClass
exceptionClass
static soot.SootMethod
executableFireMethod
static soot.SootClass
executableInterface
static soot.SootMethod
executablePostfireMethod
static soot.SootMethod
executablePrefireMethod
static soot.SootClass
explicitChangeContextClass
static soot.SootMethod
findEffigyMethod
static soot.SootMethod
fixMatrixMethod
static soot.SootMethod
fixMatrixTokenArrayConstructor
static soot.SootClass
fixMatrixTokenClass
static soot.SootMethod
fixMatrixTokenConstructor
static soot.SootField
fixMatrixTypeField
static soot.SootClass
fixTokenClass
static soot.SootMethod
fixTokenConstructor
static soot.SootMethod
fixTokenThreeArgConstructor
static soot.SootClass
fixTypeClass
static soot.SootField
fixTypeField
static soot.SootMethod
fixValueMethod
static soot.SootClass
floatTokenClass
static soot.SootMethod
floatTokenConstructor
static soot.SootField
floatTypeField
static soot.SootMethod
floatValueMethod
static soot.SootClass
functionInterface
static soot.SootMethod
functionTokenApplyMethod
static soot.SootClass
functionTokenClass
static soot.SootMethod
functionTokenConstructor
static soot.SootClass
functionTypeClass
static soot.SootField
generalTypeField
static soot.SootMethod
getAttributeMethod
static soot.SootMethod
getClassMethod
static soot.SootMethod
getContainerMethod
static soot.SootMethod
getDirectorMethod
static soot.SootMethod
getEntityMethod
static soot.SootMethod
getExpressionMethod
static soot.SootMethod
getFullNameMethod
static soot.SootMethod
getInsideMethod
static soot.SootMethod
getMethod
static soot.SootMethod
getModelURIMethod
static soot.SootMethod
getNameMethod
static soot.SootMethod
getPortMethod
static soot.SootMethod
handleModelErrorMethod
static soot.SootMethod
hasTokenMethod
static soot.SootClass
inequalityTermClass
static soot.SootClass
initializableInterface
static soot.SootMethod
insertLinkMethod
static soot.SootMethod
intMatrixMethod
static soot.SootMethod
intMatrixTokenArrayConstructor
static soot.SootClass
intMatrixTokenClass
static soot.SootMethod
intMatrixTokenConstructor
static soot.SootField
intMatrixTypeField
static soot.SootClass
intTokenClass
static soot.SootMethod
intTokenConstructor
static soot.SootField
intTypeField
static soot.SootMethod
intValueMethod
static soot.SootMethod
invalidateResolvedTypesMethod
static soot.SootClass
ioportClass
static soot.Type
ioportType
static soot.SootClass
kernelExceptionClass
static soot.SootClass
kernelRuntimeExceptionClass
static soot.SootClass
limitedFiringSourceClass
static soot.SootMethod
longMatrixMethod
static soot.SootMethod
longMatrixTokenArrayConstructor
static soot.SootClass
longMatrixTokenClass
static soot.SootMethod
longMatrixTokenConstructor
static soot.SootField
longMatrixTypeField
static soot.SootClass
longTokenClass
static soot.SootMethod
longTokenConstructor
static soot.SootField
longTypeField
static soot.SootMethod
longValueMethod
static soot.SootClass
managerClass
static soot.SootMethod
matrixGetElementAsTokenMethod
static soot.SootClass
matrixTokenClass
static soot.SootMethod
matrixTokenCreateMethod
static soot.SootClass
matrixTypeClass
static soot.SootClass
namedObjClass
static soot.SootClass
nonStrictTestClass
static soot.SootClass
objectClass
static soot.SootMethod
objectConstructor
static soot.SootField
objectTypeField
static soot.SootClass
parameterClass
static soot.SootClass
portClass
static soot.SootClass
portParameterClass
static soot.SootMethod
portParameterGetPortMethod
static soot.SootMethod
portParameterUpdateMethod
static soot.SootMethod
portSetTypeMethod
static soot.SootClass
ptParserClass
static soot.SootMethod
recordGetMethod
static soot.SootClass
recordTokenClass
static soot.SootMethod
recordTokenConstructor
static soot.SootClass
recordTypeClass
static soot.SootClass
relationClass
static soot.Type
relationType
static soot.SootClass
runtimeExceptionClass
static soot.SootMethod
runtimeExceptionConstructor
static soot.SootMethod
runtimeExceptionStringConstructor
static soot.SootClass
scalarTokenClass
static soot.SootMethod
sendInsideMethod
static soot.SootMethod
sendMethod
static soot.SootMethod
setExpressionMethod
static soot.SootMethod
setInputMethod
static soot.SootMethod
setMultiportMethod
static soot.SootMethod
setNameMethod
static soot.SootMethod
setOutputMethod
static soot.SootClass
settableClass
static soot.Type
settableType
static soot.SootMethod
setVisibilityMethod
static soot.SootClass
shortTokenClass
static soot.SootMethod
shortTokenConstructor
static soot.SootField
shortTypeField
static soot.SootMethod
shortValueMethod
static soot.SootField
stopRequestedField
static soot.SootClass
stringAttributeClass
static soot.SootClass
stringClass
static soot.SootClass
stringTokenClass
static soot.SootMethod
stringTokenConstructor
static soot.SootField
stringTypeField
static soot.SootMethod
stringValueMethod
static soot.SootClass
systemClass
static soot.SootMethod
tokenAddMethod
static soot.SootMethod
tokenBitwiseAndMethod
static soot.SootMethod
tokenBitwiseNotMethod
static soot.SootMethod
tokenBitwiseOrMethod
static soot.SootMethod
tokenBitwiseXorMethod
static soot.SootClass
tokenClass
static soot.SootMethod
tokenDivideMethod
static soot.SootMethod
tokenEqualsMethod
static soot.SootMethod
tokenGetTypeMethod
static soot.SootMethod
tokenIntValueMethod
static soot.SootMethod
tokenIsLessThanMethod
static soot.SootMethod
tokenLeftShiftMethod
static soot.SootMethod
tokenLogicalRightShiftMethod
static soot.SootMethod
tokenModuloMethod
static soot.SootMethod
tokenMultiplyMethod
static soot.SootMethod
tokenNotMethod
static soot.SootMethod
tokenPowMethod
static soot.SootMethod
tokenRightShiftMethod
static soot.SootMethod
tokenSubtractMethod
static soot.RefType
tokenType
static soot.SootMethod
tokenZeroMethod
static soot.SootMethod
toplevelMethod
static soot.SootMethod
toStringMethod
static soot.SootClass
typeClass
static soot.SootMethod
typeConvertMethod
static soot.SootClass
typeLatticeClass
static soot.SootField
unknownTypeField
static soot.SootClass
unsignedByteTokenClass
static soot.SootMethod
unsignedByteTokenConstructor
static soot.SootMethod
unsignedByteValueMethod
static soot.SootMethod
validateMethod
static soot.SootClass
variableClass
static soot.SootMethod
variableConstructorWithoutToken
static soot.SootMethod
variableConstructorWithToken
static soot.SootMethod
variableGetTokenMethod
static soot.SootMethod
variableSetTokenMethod
-
Constructor Summary
Constructors Constructor Description PtolemyUtilities()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static soot.Local
addTokenLocal(soot.Body body, java.lang.String localName, soot.SootClass tokenClass, soot.SootMethod tokenConstructor, soot.Value constructorArg)
static soot.Local
addTokenLocalBefore(soot.Body body, soot.Unit insertPoint, java.lang.String localName, soot.SootClass tokenClass, soot.SootMethod tokenConstructor, java.util.List constructorArgs)
static soot.Local
addTokenLocalBefore(soot.Body body, soot.Unit insertPoint, java.lang.String localName, soot.SootClass tokenClass, soot.SootMethod tokenConstructor, soot.Value constructorArg)
static soot.Local
buildConstantTokenLocal(soot.jimple.JimpleBody body, soot.Unit insertPoint, Token token, java.lang.String localName)
Create a new Local variable in the given body with the given name.static soot.Local
buildConstantTypeLocal(soot.Body body, java.lang.Object insertPoint, Type type)
Insert a local into the given body and code before the given insertion point to initialize that local to an instance that is equal to the given type.static void
callAttributeChanged(soot.Local base, soot.Local attributeLocal, soot.SootClass theClass, soot.SootMethod method, soot.jimple.JimpleBody body, soot.jimple.Stmt insertPoint)
Insert code into the given body before the given insertion point to call the attribute changed method on the object stored in the given local.static soot.Local
createNamedObjAndLocal(soot.Body body, java.lang.String className, soot.Local container, java.lang.String name)
In the given body, create a new local with the given name.static soot.SootMethod
createSuperConstructor(soot.SootClass theClass, soot.SootMethod superConstructor)
Create a constructor in theClass that has the same signature as the given method.static soot.RefType
getBaseTokenType(soot.Type type)
If the given type is a reference type to a class that derives from ptolemy.data.Token, or array whose element type derives from ptolemy.data.Token, then return that token type.static soot.RefType
getBaseTokenTypeType(soot.Type type)
If the given type is a reference type to a class that derives from ptolemy.data.Type, or array whose element type derives from ptolemy.data.Type, then return that token type.static soot.RefType
getSootTypeForTokenType(Type type)
Given a ptolemy token type, return the soot type that can reference tokens of the ptolemy type.static Type
getTokenTypeForSootType(soot.RefType type)
Given a soot type that references a token class, return the ptolemy token type associated with the token class.static Type
getTokenTypeTypeForSootType(soot.RefType type)
Given a soot type that references a type class, return the ptolemy token type associated with the type class.static int
getTypeDepth(Type type)
Return the depth of the given type.static Type
getTypeValue(soot.SootMethod method, soot.Local local, soot.Unit location, soot.toolkits.scalar.LocalDefs localDefs, soot.toolkits.scalar.LocalUses localUses)
Attempt to determine the constant value of the given local, which is assumed to have a variable type.static boolean
inlineTypeableMethods(soot.jimple.JimpleBody body, soot.Unit unit, soot.ValueBox box, soot.jimple.InstanceInvokeExpr expr, Typeable typeable)
Inline the given invocation expression, given knowledge that the method was invoked on the given Typeable object, and that the typeable object has a final resolved type.static boolean
isArrayTokenType(soot.Type type)
Return true if the given type references a ptolemy token type.static boolean
isConcreteTokenType(soot.Type type)
Return true if the given type references a concrete ptolemy token type.static boolean
isExactTokenType(Type type)
Return true if the given type is an exact token type.static boolean
isTokenType(soot.Type type)
Return true if the given type references a ptolemy token type.static boolean
isTypeType(soot.Type type)
Return true if the given type references a ptolemy token type type.static void
loadSootReferences()
Initialize the fields of this class to point to classes in the current soot tree.
-
-
-
Field Detail
-
actorClass
public static soot.SootClass actorClass
-
actorType
public static soot.Type actorType
-
atomicActorClass
public static soot.SootClass atomicActorClass
-
arraycopyMethod
public static soot.SootMethod arraycopyMethod
-
arrayTokenClass
public static soot.SootClass arrayTokenClass
-
arrayTokenConstructor
public static soot.SootMethod arrayTokenConstructor
-
arrayTokenWithTypeConstructor
public static soot.SootMethod arrayTokenWithTypeConstructor
-
arrayGetElementMethod
public static soot.SootMethod arrayGetElementMethod
-
arrayValueMethod
public static soot.SootMethod arrayValueMethod
-
arrayTypeClass
public static soot.SootClass arrayTypeClass
-
attachTextMethod
public static soot.SootMethod attachTextMethod
-
attributeChangedMethod
public static soot.SootMethod attributeChangedMethod
-
attributeClass
public static soot.SootClass attributeClass
-
attributeType
public static soot.Type attributeType
-
baseTypeClass
public static soot.SootClass baseTypeClass
-
booleanTokenClass
public static soot.SootClass booleanTokenClass
-
booleanTokenConstructor
public static soot.SootMethod booleanTokenConstructor
-
booleanValueMethod
public static soot.SootMethod booleanValueMethod
-
booleanMatrixTokenClass
public static soot.SootClass booleanMatrixTokenClass
-
booleanMatrixTokenConstructor
public static soot.SootMethod booleanMatrixTokenConstructor
-
booleanMatrixTokenArrayConstructor
public static soot.SootMethod booleanMatrixTokenArrayConstructor
-
booleanMatrixMethod
public static soot.SootMethod booleanMatrixMethod
-
booleanTypeField
public static soot.SootField booleanTypeField
-
booleanMatrixTypeField
public static soot.SootField booleanMatrixTypeField
-
byteTypeField
public static soot.SootField byteTypeField
-
classClass
public static soot.SootClass classClass
-
complexTokenClass
public static soot.SootClass complexTokenClass
-
complexTokenConstructor
public static soot.SootMethod complexTokenConstructor
-
complexValueMethod
public static soot.SootMethod complexValueMethod
-
complexMatrixTokenClass
public static soot.SootClass complexMatrixTokenClass
-
complexMatrixTokenConstructor
public static soot.SootMethod complexMatrixTokenConstructor
-
complexMatrixTokenArrayConstructor
public static soot.SootMethod complexMatrixTokenArrayConstructor
-
complexMatrixMethod
public static soot.SootMethod complexMatrixMethod
-
complexTypeField
public static soot.SootField complexTypeField
-
complexMatrixTypeField
public static soot.SootField complexMatrixTypeField
-
compositeActorClass
public static soot.SootClass compositeActorClass
-
compositeEntityClass
public static soot.SootClass compositeEntityClass
-
componentEntityClass
public static soot.SootClass componentEntityClass
-
componentEntityType
public static soot.RefType componentEntityType
-
componentPortClass
public static soot.SootClass componentPortClass
-
componentPortType
public static soot.Type componentPortType
-
connectionsChangedMethod
public static soot.SootMethod connectionsChangedMethod
-
debuggingField
public static soot.SootField debuggingField
-
doubleTokenClass
public static soot.SootClass doubleTokenClass
-
doubleTokenConstructor
public static soot.SootMethod doubleTokenConstructor
-
doubleValueMethod
public static soot.SootMethod doubleValueMethod
-
doubleMatrixTokenClass
public static soot.SootClass doubleMatrixTokenClass
-
doubleMatrixTokenConstructor
public static soot.SootMethod doubleMatrixTokenConstructor
-
doubleMatrixTokenArrayConstructor
public static soot.SootMethod doubleMatrixTokenArrayConstructor
-
doubleMatrixMethod
public static soot.SootMethod doubleMatrixMethod
-
doubleTypeField
public static soot.SootField doubleTypeField
-
doubleMatrixTypeField
public static soot.SootField doubleMatrixTypeField
-
entityClass
public static soot.SootClass entityClass
-
entityType
public static soot.RefType entityType
-
exceptionClass
public static soot.SootClass exceptionClass
-
executableInterface
public static soot.SootClass executableInterface
-
executablePrefireMethod
public static soot.SootMethod executablePrefireMethod
-
executableFireMethod
public static soot.SootMethod executableFireMethod
-
executablePostfireMethod
public static soot.SootMethod executablePostfireMethod
-
fixTokenClass
public static soot.SootClass fixTokenClass
-
fixTokenConstructor
public static soot.SootMethod fixTokenConstructor
-
fixTokenThreeArgConstructor
public static soot.SootMethod fixTokenThreeArgConstructor
-
fixValueMethod
public static soot.SootMethod fixValueMethod
-
fixMatrixTokenClass
public static soot.SootClass fixMatrixTokenClass
-
fixMatrixTokenConstructor
public static soot.SootMethod fixMatrixTokenConstructor
-
fixMatrixTokenArrayConstructor
public static soot.SootMethod fixMatrixTokenArrayConstructor
-
fixMatrixMethod
public static soot.SootMethod fixMatrixMethod
-
fixTypeClass
public static soot.SootClass fixTypeClass
-
fixTypeField
public static soot.SootField fixTypeField
-
fixMatrixTypeField
public static soot.SootField fixMatrixTypeField
-
floatTokenClass
public static soot.SootClass floatTokenClass
-
floatTokenConstructor
public static soot.SootMethod floatTokenConstructor
-
floatTypeField
public static soot.SootField floatTypeField
-
floatValueMethod
public static soot.SootMethod floatValueMethod
-
generalTypeField
public static soot.SootField generalTypeField
-
getClassMethod
public static soot.SootMethod getClassMethod
-
getMethod
public static soot.SootMethod getMethod
-
getInsideMethod
public static soot.SootMethod getInsideMethod
-
getAttributeMethod
public static soot.SootMethod getAttributeMethod
-
getContainerMethod
public static soot.SootMethod getContainerMethod
-
getDirectorMethod
public static soot.SootMethod getDirectorMethod
-
getEntityMethod
public static soot.SootMethod getEntityMethod
-
findEffigyMethod
public static soot.SootMethod findEffigyMethod
-
functionTokenClass
public static soot.SootClass functionTokenClass
-
functionTokenConstructor
public static soot.SootMethod functionTokenConstructor
-
functionTokenApplyMethod
public static soot.SootMethod functionTokenApplyMethod
-
functionTypeClass
public static soot.SootClass functionTypeClass
-
functionInterface
public static soot.SootClass functionInterface
-
getExpressionMethod
public static soot.SootMethod getExpressionMethod
-
getFullNameMethod
public static soot.SootMethod getFullNameMethod
-
getNameMethod
public static soot.SootMethod getNameMethod
-
getModelURIMethod
public static soot.SootMethod getModelURIMethod
-
getPortMethod
public static soot.SootMethod getPortMethod
-
handleModelErrorMethod
public static soot.SootMethod handleModelErrorMethod
-
hasTokenMethod
public static soot.SootMethod hasTokenMethod
-
initializableInterface
public static soot.SootClass initializableInterface
-
inequalityTermClass
public static soot.SootClass inequalityTermClass
-
explicitChangeContextClass
public static soot.SootClass explicitChangeContextClass
-
insertLinkMethod
public static soot.SootMethod insertLinkMethod
-
intTokenClass
public static soot.SootClass intTokenClass
-
intTokenConstructor
public static soot.SootMethod intTokenConstructor
-
intValueMethod
public static soot.SootMethod intValueMethod
-
intMatrixTokenClass
public static soot.SootClass intMatrixTokenClass
-
intMatrixTokenConstructor
public static soot.SootMethod intMatrixTokenConstructor
-
intMatrixTokenArrayConstructor
public static soot.SootMethod intMatrixTokenArrayConstructor
-
intMatrixMethod
public static soot.SootMethod intMatrixMethod
-
intTypeField
public static soot.SootField intTypeField
-
intMatrixTypeField
public static soot.SootField intMatrixTypeField
-
invalidateResolvedTypesMethod
public static soot.SootMethod invalidateResolvedTypesMethod
-
ioportClass
public static soot.SootClass ioportClass
-
ioportType
public static soot.Type ioportType
-
kernelExceptionClass
public static soot.SootClass kernelExceptionClass
-
kernelRuntimeExceptionClass
public static soot.SootClass kernelRuntimeExceptionClass
-
limitedFiringSourceClass
public static soot.SootClass limitedFiringSourceClass
-
longTokenClass
public static soot.SootClass longTokenClass
-
longTokenConstructor
public static soot.SootMethod longTokenConstructor
-
longValueMethod
public static soot.SootMethod longValueMethod
-
longMatrixTokenClass
public static soot.SootClass longMatrixTokenClass
-
longMatrixTokenConstructor
public static soot.SootMethod longMatrixTokenConstructor
-
longMatrixTokenArrayConstructor
public static soot.SootMethod longMatrixTokenArrayConstructor
-
longMatrixMethod
public static soot.SootMethod longMatrixMethod
-
longTypeField
public static soot.SootField longTypeField
-
longMatrixTypeField
public static soot.SootField longMatrixTypeField
-
managerClass
public static soot.SootClass managerClass
-
matrixTokenClass
public static soot.SootClass matrixTokenClass
-
matrixTokenCreateMethod
public static soot.SootMethod matrixTokenCreateMethod
-
matrixGetElementAsTokenMethod
public static soot.SootMethod matrixGetElementAsTokenMethod
-
matrixTypeClass
public static soot.SootClass matrixTypeClass
-
namedObjClass
public static soot.SootClass namedObjClass
-
nonStrictTestClass
public static soot.SootClass nonStrictTestClass
-
objectClass
public static soot.SootClass objectClass
-
objectConstructor
public static soot.SootMethod objectConstructor
-
objectTypeField
public static soot.SootField objectTypeField
-
parameterClass
public static soot.SootClass parameterClass
-
portClass
public static soot.SootClass portClass
-
portParameterClass
public static soot.SootClass portParameterClass
-
portParameterGetPortMethod
public static soot.SootMethod portParameterGetPortMethod
-
portParameterUpdateMethod
public static soot.SootMethod portParameterUpdateMethod
-
portSetTypeMethod
public static soot.SootMethod portSetTypeMethod
-
ptParserClass
public static soot.SootClass ptParserClass
-
relationClass
public static soot.SootClass relationClass
-
recordTokenClass
public static soot.SootClass recordTokenClass
-
recordTokenConstructor
public static soot.SootMethod recordTokenConstructor
-
recordGetMethod
public static soot.SootMethod recordGetMethod
-
recordTypeClass
public static soot.SootClass recordTypeClass
-
relationType
public static soot.Type relationType
-
runtimeExceptionClass
public static soot.SootClass runtimeExceptionClass
-
runtimeExceptionConstructor
public static soot.SootMethod runtimeExceptionConstructor
-
runtimeExceptionStringConstructor
public static soot.SootMethod runtimeExceptionStringConstructor
-
scalarTokenClass
public static soot.SootClass scalarTokenClass
-
sendMethod
public static soot.SootMethod sendMethod
-
sendInsideMethod
public static soot.SootMethod sendInsideMethod
-
setExpressionMethod
public static soot.SootMethod setExpressionMethod
-
setInputMethod
public static soot.SootMethod setInputMethod
-
setOutputMethod
public static soot.SootMethod setOutputMethod
-
setMultiportMethod
public static soot.SootMethod setMultiportMethod
-
setNameMethod
public static soot.SootMethod setNameMethod
-
settableClass
public static soot.SootClass settableClass
-
settableType
public static soot.Type settableType
-
setVisibilityMethod
public static soot.SootMethod setVisibilityMethod
-
stopRequestedField
public static soot.SootField stopRequestedField
-
stringAttributeClass
public static soot.SootClass stringAttributeClass
-
stringClass
public static soot.SootClass stringClass
-
shortTypeField
public static soot.SootField shortTypeField
-
stringTypeField
public static soot.SootField stringTypeField
-
shortTokenClass
public static soot.SootClass shortTokenClass
-
shortTokenConstructor
public static soot.SootMethod shortTokenConstructor
-
shortValueMethod
public static soot.SootMethod shortValueMethod
-
stringTokenClass
public static soot.SootClass stringTokenClass
-
stringTokenConstructor
public static soot.SootMethod stringTokenConstructor
-
stringValueMethod
public static soot.SootMethod stringValueMethod
-
systemClass
public static soot.SootClass systemClass
-
tokenClass
public static soot.SootClass tokenClass
-
tokenGetTypeMethod
public static soot.SootMethod tokenGetTypeMethod
-
tokenAddMethod
public static soot.SootMethod tokenAddMethod
-
tokenSubtractMethod
public static soot.SootMethod tokenSubtractMethod
-
tokenModuloMethod
public static soot.SootMethod tokenModuloMethod
-
tokenMultiplyMethod
public static soot.SootMethod tokenMultiplyMethod
-
tokenDivideMethod
public static soot.SootMethod tokenDivideMethod
-
tokenEqualsMethod
public static soot.SootMethod tokenEqualsMethod
-
tokenIsLessThanMethod
public static soot.SootMethod tokenIsLessThanMethod
-
tokenNotMethod
public static soot.SootMethod tokenNotMethod
-
tokenBitwiseAndMethod
public static soot.SootMethod tokenBitwiseAndMethod
-
tokenBitwiseOrMethod
public static soot.SootMethod tokenBitwiseOrMethod
-
tokenBitwiseXorMethod
public static soot.SootMethod tokenBitwiseXorMethod
-
tokenBitwiseNotMethod
public static soot.SootMethod tokenBitwiseNotMethod
-
tokenLeftShiftMethod
public static soot.SootMethod tokenLeftShiftMethod
-
tokenRightShiftMethod
public static soot.SootMethod tokenRightShiftMethod
-
tokenLogicalRightShiftMethod
public static soot.SootMethod tokenLogicalRightShiftMethod
-
tokenIntValueMethod
public static soot.SootMethod tokenIntValueMethod
-
tokenZeroMethod
public static soot.SootMethod tokenZeroMethod
-
tokenPowMethod
public static soot.SootMethod tokenPowMethod
-
tokenType
public static soot.RefType tokenType
-
toplevelMethod
public static soot.SootMethod toplevelMethod
-
toStringMethod
public static soot.SootMethod toStringMethod
-
typeClass
public static soot.SootClass typeClass
-
typeConvertMethod
public static soot.SootMethod typeConvertMethod
-
typeLatticeClass
public static soot.SootClass typeLatticeClass
-
unknownTypeField
public static soot.SootField unknownTypeField
-
unsignedByteTokenClass
public static soot.SootClass unsignedByteTokenClass
-
unsignedByteTokenConstructor
public static soot.SootMethod unsignedByteTokenConstructor
-
unsignedByteValueMethod
public static soot.SootMethod unsignedByteValueMethod
-
validateMethod
public static soot.SootMethod validateMethod
-
variableClass
public static soot.SootClass variableClass
-
variableConstructorWithoutToken
public static soot.SootMethod variableConstructorWithoutToken
-
variableConstructorWithToken
public static soot.SootMethod variableConstructorWithToken
-
variableGetTokenMethod
public static soot.SootMethod variableGetTokenMethod
-
variableSetTokenMethod
public static soot.SootMethod variableSetTokenMethod
-
-
Method Detail
-
buildConstantTokenLocal
public static soot.Local buildConstantTokenLocal(soot.jimple.JimpleBody body, soot.Unit insertPoint, Token token, java.lang.String localName)
Create a new Local variable in the given body with the given name. Insert statements into the given body before the given unit to initialize the value of that local to a token that has the same value as the given token.- Returns:
- The new local.
-
addTokenLocal
public static soot.Local addTokenLocal(soot.Body body, java.lang.String localName, soot.SootClass tokenClass, soot.SootMethod tokenConstructor, soot.Value constructorArg)
-
addTokenLocalBefore
public static soot.Local addTokenLocalBefore(soot.Body body, soot.Unit insertPoint, java.lang.String localName, soot.SootClass tokenClass, soot.SootMethod tokenConstructor, soot.Value constructorArg)
-
addTokenLocalBefore
public static soot.Local addTokenLocalBefore(soot.Body body, soot.Unit insertPoint, java.lang.String localName, soot.SootClass tokenClass, soot.SootMethod tokenConstructor, java.util.List constructorArgs)
-
buildConstantTypeLocal
public static soot.Local buildConstantTypeLocal(soot.Body body, java.lang.Object insertPoint, Type type)
Insert a local into the given body and code before the given insertion point to initialize that local to an instance that is equal to the given type.- Returns:
- The created local.
-
callAttributeChanged
public static void callAttributeChanged(soot.Local base, soot.Local attributeLocal, soot.SootClass theClass, soot.SootMethod method, soot.jimple.JimpleBody body, soot.jimple.Stmt insertPoint)
Insert code into the given body before the given insertion point to call the attribute changed method on the object stored in the given local.- Parameters:
base
- A local that is assumed to have an attribute type.
-
createNamedObjAndLocal
public static soot.Local createNamedObjAndLocal(soot.Body body, java.lang.String className, soot.Local container, java.lang.String name)
In the given body, create a new local with the given name. The local will refer to an object of type className. Add instructions to the end of the chain of the body to create and initialize a new named object with the given container and name. Assign the value of the local to the created instance.- Returns:
- The local that was created.
-
createSuperConstructor
public static soot.SootMethod createSuperConstructor(soot.SootClass theClass, soot.SootMethod superConstructor)
Create a constructor in theClass that has the same signature as the given method. Add instructions to the body of the constructor that call the given method with the same arguments.
-
getBaseTokenType
public static soot.RefType getBaseTokenType(soot.Type type)
If the given type is a reference type to a class that derives from ptolemy.data.Token, or array whose element type derives from ptolemy.data.Token, then return that token type. Otherwise return null.
-
getBaseTokenTypeType
public static soot.RefType getBaseTokenTypeType(soot.Type type)
If the given type is a reference type to a class that derives from ptolemy.data.Type, or array whose element type derives from ptolemy.data.Type, then return that token type. Otherwise return null.
-
getTypeDepth
public static int getTypeDepth(Type type)
Return the depth of the given type. Most simple types have depth one, while structured types have depth greater than one.
-
getSootTypeForTokenType
public static soot.RefType getSootTypeForTokenType(Type type)
Given a ptolemy token type, return the soot type that can reference tokens of the ptolemy type.
-
getTokenTypeForSootType
public static Type getTokenTypeForSootType(soot.RefType type)
Given a soot type that references a token class, return the ptolemy token type associated with the token class. If the type is an array token, then the returned type will have an indeterminate element type.
-
getTokenTypeTypeForSootType
public static Type getTokenTypeTypeForSootType(soot.RefType type)
Given a soot type that references a type class, return the ptolemy token type associated with the type class. If the type is an array token, then the returned type will have an indeterminate element type.
-
getTypeValue
public static Type getTypeValue(soot.SootMethod method, soot.Local local, soot.Unit location, soot.toolkits.scalar.LocalDefs localDefs, soot.toolkits.scalar.LocalUses localUses)
Attempt to determine the constant value of the given local, which is assumed to have a variable type. Walk backwards through all the possible places that the local may have been defined and try to symbolically evaluate the value of the variable. If the value can be determined, then return it, otherwise throw an exception
-
inlineTypeableMethods
public static boolean inlineTypeableMethods(soot.jimple.JimpleBody body, soot.Unit unit, soot.ValueBox box, soot.jimple.InstanceInvokeExpr expr, Typeable typeable)
Inline the given invocation expression, given knowledge that the method was invoked on the given Typeable object, and that the typeable object has a final resolved type. The getType method will be replace with code that returns the resolved type as a constant, methods that add type constraints are removed, and other methods that return a value are changed to throw exceptions.- Parameters:
body
- The body in which the invoke occurred.unit
- The unit in which the invoke occurred.box
- The value box containing the invoke expression.typeable
- A reference to an object that has the same resolve type as the typeable object that the invoke would have occurred on, has the code actually been executed.
-
isExactTokenType
public static boolean isExactTokenType(Type type)
Return true if the given type is an exact token type.
-
isConcreteTokenType
public static boolean isConcreteTokenType(soot.Type type)
Return true if the given type references a concrete ptolemy token type. In other words It is either a direct reference to a token, or an array of tokens. This method only returns true if the token is an instantiable token.
-
isArrayTokenType
public static boolean isArrayTokenType(soot.Type type)
Return true if the given type references a ptolemy token type. In other words It is either a direct reference to a token, or an array of tokens.
-
isTokenType
public static boolean isTokenType(soot.Type type)
Return true if the given type references a ptolemy token type. In other words It is either a direct reference to a Token, or an array of Tokens.
-
isTypeType
public static boolean isTypeType(soot.Type type)
Return true if the given type references a ptolemy token type type. In other words It is either a direct reference to a Type, or an array of Types.
-
loadSootReferences
public static void loadSootReferences()
Initialize the fields of this class to point to classes in the current soot tree.
-
-