Interface IUnmangledRoutine

All Superinterfaces:
IUnmangledData

public interface IUnmangledRoutine extends IUnmangledData
Interface to access an unmangled routine declaration.
  • Method Details

    • getName

      String getName()
      Returns:
      routine name
    • getNameWithParameters

      String getNameWithParameters(boolean emptyParameters)
      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

      String getSignature(boolean noCppFeatures)
      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

      String getSignature(boolean noCppFeatures, boolean safeForParser)
      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
      safeForParser - 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

      String getPrototype(boolean noCppFeatures)
      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

      String getPrototype(boolean noCppFeatures, boolean safeForParser)
      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 features
      safeForParser - 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)