Interface ICIdentifier
- All Superinterfaces:
ICElement,ICExpression,ICLeftExpression
C AST interface to represent an identifier, or variable.
Example:
int someVariable = 3;
^^^^^^^^^^^^
C variable.
Refer to CIdentifierClass for the different types of identifiers.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionDeep duplication of the element.voidgenerate(COutputSink out, boolean definition) Get the native address associated with this identifier.intgetFlags()intgetId()Get a unique identifier associated with the identifier.Get the identifier class.getName()Get the current name given to the identifier.Get the original name given to the identifier.getType()Get the identifier type.default booleanvoidsetFlags(int flags) booleanbooleansetName(String name, IDynamicContentManager dcm) Methods inherited from interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICElement
addPhysicalOffset, addPhysicalOffsets, evaluate, format, generate, getData, getElementType, getPhysicalOffset, getPhysicalOffsets, getSubElements, replaceSubElement, setData, setPhysicalOffsets, toString, visitDepthPost, visitDepthPost, visitDepthPost, visitDepthPre, visitDepthPre, visitDepthPre
-
Field Details
-
FLAG_MEANINGFUL_NAME
static final int FLAG_MEANINGFUL_NAME- See Also:
-
-
Method Details
-
getId
int getId()Get a unique identifier associated with the identifier. -
getType
ICType getType()Get the identifier type. -
getOriginalName
String getOriginalName()Get the original name given to the identifier. -
getName
String getName()Get the current name given to the identifier. -
setName
- Parameters:
name-- Returns:
-
setName
- Parameters:
name-dcm-- Returns:
-
getIdentifierClass
CIdentifierClass getIdentifierClass()Get the identifier class. -
getMethodIndex
Integer getMethodIndex()- Returns:
-
getParameterIndex
Integer getParameterIndex()- Returns:
-
getAddress
Long getAddress()Get the native address associated with this identifier.The address depends of the
CIdentifierClassof the identifier:- for
CIdentifierClass.GLOBAL, it is an absolute address - for
CIdentifierClass.LOCAL, it is a relative address from the stack base pointer - for others classes, the value is null (meaningless)
- for
-
getFlags
int getFlags()- Returns:
-
setFlags
void setFlags(int flags) - Parameters:
flags-
-
isParameter
default boolean isParameter() -
generate
-
duplicate
ICIdentifier duplicate()Description copied from interface:ICElementDeep duplication of the element. Sub-elements are duplicated.Note:
ICClass,ICMethod,ICField,ICIdentifier,ICConstant,ICTypeandICLabelare not duplicated.- Specified by:
duplicatein interfaceICElement- Specified by:
duplicatein interfaceICExpression- Specified by:
duplicatein interfaceICLeftExpression
-