Interface IUnmangledRoutine
- All Superinterfaces:
IUnmangledData
Interface to access an unmangled routine declaration.
-
Method Summary
Modifier and TypeMethodDescriptiongetName()
getNameWithParameters
(boolean emptyParameters) getPrototype
(boolean noCppFeatures) Provide the routine prototype with the following JEB specific syntax:getPrototype
(boolean noCppFeatures, boolean safeForParser) Provide the routine prototype using the following JEB specific syntax:getSignature
(boolean noCppFeatures) Provide the routine prototype using C-style syntaxgetSignature
(boolean noCppFeatures, boolean safeForParser) Provide the routine prototype using C-style syntaxMethods inherited from interface com.pnfsoftware.jeb.core.units.code.asm.mangling.IUnmangledData
getFull, getSimple, isRawData
-
Method Details
-
getName
String getName()- Returns:
- routine name
-
getNameWithParameters
- Parameters:
emptyParameters
- true to force () parameters even if empty- Returns:
- routine name with its parameters if any
-
getReturnType
String getReturnType()- Returns:
- return type, null if not set
-
getCallingConvention
String getCallingConvention()- Returns:
- calling convention, null if not set
-
getSignature
Provide the routine prototype using C-style syntax- Parameters:
noCppFeatures
- if true a JEB prototype will be provided only if the original unmangled routine prototype is strict C, i.e. the method will return null if the unmangled string contains C++ specific features- Returns:
- routine prototype, null if not applicable (e.g. because of unmangler failure, or because the mangled declaration does not contain the full prototype)
-
getSignature
Provide the routine prototype using C-style syntax- Parameters:
noCppFeatures
- if true a JEB prototype will be provided only if the original unmangled routine prototype is strict C, i.e. the method will return null if the unmangled string contains C++ specific featuressafeForParser
- if true, single-parameter prototypes will be generated slightly differently: the parameter is deanonymized and given the name '_'- Returns:
- routine prototype, null if not applicable (e.g. because of unmangler failure, or because the mangled declaration does not contain the full prototype)
-
getPrototype
Provide the routine prototype with the following JEB specific syntax:<calling_convention> return_type(parameter1_type _)
<calling_convention> return_type(parameter1_type,parameter2_type...)
...
This method is equivalent
getPrototype(noCppFeatures, true)
.- Parameters:
noCppFeatures
- if true a JEB prototype will be provided only if the original unmangled routine prototype is strict C, i.e. the method will return null if the unmangled string contains C++ specific features- Returns:
- routine prototype, null if not applicable (e.g. because of unmangler failure, or because the mangled declaration does not contain the full prototype)
-
getPrototype
Provide the routine prototype using the following JEB specific syntax:<calling_convention> return_type(parameter1_type[ _])
<calling_convention> return_type(parameter1_type,parameter2_type...)
...
- Parameters:
noCppFeatures
- if true a JEB prototype will be provided only if the original unmangled routine prototype is strict C, i.e. the method will return null if the unmangled string contains C++ specific featuressafeForParser
- if true, single-parameter prototypes will be generated slightly differently: the parameter is deanonymized and given the name '_'- Returns:
- routine prototype, null if not applicable (e.g. because of unmangler failure, or because the mangled declaration does not contain the full prototype)
-