Interface IPrototypeItem
- All Superinterfaces:
ICodeItem,ICodePrototype,ICodeType,INativeItem,INativeItemListenable,INativeType
A native prototype.
A prototype item contains return- and parameter types, calling convention, as well as other calling convention attributes.
Note: a reference-item to a prototype-item is a function-pointer type.
-
Field Summary
Fields inherited from interface com.pnfsoftware.jeb.core.units.code.ICodeItem
FLAG_ABSTRACT, FLAG_ANNOTATION, FLAG_ANONYMOUS, FLAG_ARTIFICIAL, FLAG_BRIDGE, FLAG_CONSTRUCTOR, FLAG_DECLARED_SYNCHRONIZED, FLAG_DESTRUCTOR, FLAG_ENUM, FLAG_FINAL, FLAG_INNER, FLAG_INTERFACE, FLAG_INTERNAL, FLAG_NATIVE, FLAG_PRIVATE, FLAG_PROTECTED, FLAG_PUBLIC, FLAG_STATIC, FLAG_STRICT, FLAG_SYNCHRONIZED, FLAG_SYNTHETIC, FLAG_TRANSIENT, FLAG_VARARGS, FLAG_VIRTUAL, FLAG_VOLATILE -
Method Summary
Modifier and TypeMethodDescriptionRetrieve the optional calling convention associated with the prototype.intGet the number of parameters.intGet the number of return values.Get optional parameter names.List<? extends INativeType> Get parameter types.Retrieve the prototype attributes.Get the primary return type.List<? extends INativeType> Get all return types.Get the optional routine name.booleanConvenience method.Methods inherited from interface com.pnfsoftware.jeb.core.units.code.ICodeItem
getAddress, getAddress, getGenericFlags, getIndex, getItemId, getName, getName, getSignature, getSignature, getSignature, isArtificial, isInternalMethods inherited from interface com.pnfsoftware.jeb.core.units.code.ICodePrototype
isVariableArgumentMethods inherited from interface com.pnfsoftware.jeb.core.units.code.ICodeType
getImplementingClassMethods inherited from interface com.pnfsoftware.jeb.core.units.code.asm.items.INativeItem
addFlags, dispose, getAttribute, getAttributes, hasAttribute, hasFlag, hasTrueAttribute, isAutoGenerated, isDisposed, isRenamed, removeAttribute, removeFlags, setAttribute, setAutoGenerated, setFlags, setNameMethods inherited from interface com.pnfsoftware.jeb.core.units.code.asm.items.INativeItemListenable
addListener, removeListenerMethods inherited from interface com.pnfsoftware.jeb.core.units.code.asm.type.INativeType
getBitsize, getReference, getSize, getTypeManager
-
Method Details
-
getCountOfReturns
int getCountOfReturns()Get the number of return values.- Returns:
- return value count
-
getReturnType
INativeType getReturnType()Get the primary return type.- Specified by:
getReturnTypein interfaceICodePrototype- Returns:
- return type, or null
-
getReturnTypes
List<? extends INativeType> getReturnTypes()Get all return types.- Returns:
- return types
-
getCountOfParameters
int getCountOfParameters()Get the number of parameters.- Returns:
- parameter count
-
getParameterTypes
List<? extends INativeType> getParameterTypes()Get parameter types.- Specified by:
getParameterTypesin interfaceICodePrototype- Returns:
- parameter types
-
getParameterNames
Get optional parameter names.- Returns:
- optional parameter names, if they were provided with the prototype
-
getRoutineName
String getRoutineName()Get the optional routine name.- Returns:
- optional routine name, if it was provided with the prototype
-
getCallingConvention
ICallingConvention getCallingConvention()Retrieve the optional calling convention associated with the prototype.- Returns:
- calling convention, or null
-
getPrototypeAttributes
Collection<PrototypeAttribute> getPrototypeAttributes()Retrieve the prototype attributes.- Returns:
- prototype attributes, never null
-
isNoReturn
boolean isNoReturn()Convenience method.- Returns:
- true if the prototype is non-returning
-