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.void
generate
(COutputSink out, boolean definition) Get the native address associated with this identifier.int
getFlags()
int
getId()
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 boolean
void
setFlags
(int flags) boolean
boolean
setName
(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
CIdentifierClass
of 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:ICElement
Deep duplication of the element. Sub-elements are duplicated.Note:
ICClass
,ICMethod
,ICField
,ICIdentifier
,ICConstant
,ICType
andICLabel
are not duplicated.- Specified by:
duplicate
in interfaceICElement
- Specified by:
duplicate
in interfaceICExpression
- Specified by:
duplicate
in interfaceICLeftExpression
-