Package ghidra.app.util.demangler

# Class DemangledFunctionIndirect

java.lang.Object
ghidra.app.util.demangler.DemangledType
ghidra.app.util.demangler.DemangledDataType
ghidra.app.util.demangler.AbstractDemangledFunctionDefinitionDataType
ghidra.app.util.demangler.DemangledFunctionIndirect

All Implemented Interfaces:
  `Demangled`

public class DemangledFunctionIndirect extends AbstractDemangledFunctionDefinitionDataType
A class to represent a demangled function indirect. A function indirect is similar to a function pointer or a function reference except that it does not have the start (*) for a pointer or ampersand (&) for a reference, but is still an indirect definition (not a regular function definition). The function indirect is prevalent in the Microsoft model, if not other models.

- ## Field Summary

  ### Fields inherited from class ghidra.app.util.demangler.AbstractDemangledFunctionDefinitionDataType

  `callingConvention, DEFAULT_NAME_PREFIX, EMPTY_STRING, ID, isConstPointer, isTrailingPointer64, isTrailingRestrict, isTrailingUnaligned, modifier, parameters, parentName, returnType`

  ### Fields inherited from class ghidra.app.util.demangler.DemangledDataType

  `ARR_NOTATION, BOOL, CHAR, CHAR8_T, CLASS, COCLASS, COINTERFACE, COMPLEX, CONST, DEMANGLER_ANONYMOUS_FUNCTION_CATEGORY_PATH, DEMANGLER_ROOT_CATEGORY_PATH, DOUBLE, ENUM, FLOAT, FLOAT128, FLOAT2, INT, INT0_T, INT128, INT16, INT32, INT64, INT8, LONG, LONG_DOUBLE, LONG_LONG, PRIMITIVES, PTR_NOTATION, PTR64, REF_NOTATION, RESTRICT, RIGHT_REF_NOTATION, SHORT, SIGNED, SPACE, STRING, STRUCT, UNALIGNED, UNDEFINED, UNION, UNSIGNED, VARARGS, VOID, VOLATILE, WCHAR_T, WCHAR16, WCHAR32`

  ### Fields inherited from class ghidra.app.util.demangler.DemangledType

  `mangled, namespace, template`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DemangledFunctionIndirect(String mangled, String originalDemangled)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `addFunctionPointerParens(StringBuilder buffer, String s)`
  `protected String`
  `getTypeString()`
  Returns the string for this type of reference (e.g., * or &)

  ### Methods inherited from class ghidra.app.util.demangler.AbstractDemangledFunctionDefinitionDataType

  `addParameter, addParentName, getCallingConvention, getConventionPointerNameString, getDataType, getParameters, getReturnType, getSignature, isConstPointer, isTrailingPointer64, isTrailingRestrict, isTrailingUnaligned, setCallingConvention, setConstPointer, setModifier, setReturnType, setTrailingPointer64, setTrailingRestrict, setTrailingUnaligned, toSignature`

  ### Methods inherited from class ghidra.app.util.demangler.DemangledDataType

  `getArrayDimensions, getBasedName, getDemanglerCategoryPath, getMemberScope, getPointerLevels, incrementPointerLevels, isArray, isClass, isCoclass, isCointerface, isComplex, isEnum, isLValueReference, isPointer, isPointer64, isPrimitive, isReference, isRestrict, isRValueReference, isSigned, isStruct, isTemplate, isUnaligned, isUnion, isUnsigned, isVarArgs, isVoid, setArray, setBasedName, setClass, setCoclass, setCointerface, setComplex, setEnum, setEnumType, setEnumType, setLValueReference, setMemberScope, setPointer64, setReference, setRestrict, setRValueReference, setSigned, setStruct, setTemplate, setUnaligned, setUnion, setUnsigned, setVarArgs, toString`

  ### Methods inherited from class ghidra.app.util.demangler.DemangledType

  `getDemangledName, getMangledString, getName, getNamespace, getNamespaceName, getNamespaceString, getOriginalDemangled, getTemplate, isConst, isVolatile, setConst, setName, setNamespace, setTemplate, setVolatile`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface ghidra.app.util.demangler.Demangled

  `getMangledContext, setMangledContext`

- ## Constructor Details

  - ### DemangledFunctionIndirect

    public DemangledFunctionIndirect(String mangled, String originalDemangled)

- ## Method Details

  - ### getTypeString

    protected String getTypeString()
    Description copied from class: `AbstractDemangledFunctionDefinitionDataType`
    Returns the string for this type of reference (e.g., * or &)
    Specified by:
      `getTypeString` in class `AbstractDemangledFunctionDefinitionDataType`
    Returns:
      the string

  - ### addFunctionPointerParens

    protected void addFunctionPointerParens(StringBuilder buffer, String s)
    Overrides:
      `addFunctionPointerParens` in class `AbstractDemangledFunctionDefinitionDataType`