Class DemangledFunction

    • Constructor Detail

      • DemangledFunction

        public DemangledFunction​(java.lang.String name)
        Constructs a new demangled function.
        Parameters:
        name - the name of the function
    • Method Detail

      • setReturnType

        public void setReturnType​(DemangledDataType returnType)
        Sets the function return type.
        Parameters:
        returnType - the function return type
      • setCallingConvention

        public void setCallingConvention​(java.lang.String callingConvention)
        Sets the function calling convention. For example, "__cdecl".
        Parameters:
        callingConvention - the function calling convention
      • setOverloadedOperator

        public void setOverloadedOperator​(boolean isOverloadedOperator)
        Sets whether this demangled function represents an overloaded operator. For example, "operator+()".
        Parameters:
        isOverloadedOperator - true if overloaded operator
      • getReturnType

        public DemangledDataType getReturnType()
        Returns the return type or null, if unspecified.
        Returns:
        the return type or null, if unspecified
      • getCallingConvention

        public java.lang.String getCallingConvention()
        Returns the calling convention or null, if unspecified.
        Returns:
        the calling convention or null, if unspecified
      • setTemplatedConstructorType

        public void setTemplatedConstructorType​(java.lang.String type)
        Special constructor where it has a templated type before the parameter list
      • isTrailingConst

        public boolean isTrailingConst()
      • setTrailingConst

        public void setTrailingConst()
      • isTrailingVolatile

        public boolean isTrailingVolatile()
      • setTrailingVolatile

        public void setTrailingVolatile()
      • isTrailingPointer64

        public boolean isTrailingPointer64()
      • setTrailingPointer64

        public void setTrailingPointer64()
      • isTrailingUnaligned

        public boolean isTrailingUnaligned()
      • setTrailingUnaligned

        public void setTrailingUnaligned()
      • isTrailingRestrict

        public boolean isTrailingRestrict()
      • setTrailingRestrict

        public void setTrailingRestrict()
      • isTypeCast

        public boolean isTypeCast()
      • setTypeCast

        public void setTypeCast()
      • setThrowAttribute

        public void setThrowAttribute​(java.lang.String throwAttribute)
      • getSignature

        public java.lang.String getSignature​(boolean format)
        Description copied from class: DemangledObject
        Returns a complete signature for the demangled symbol. For example: "unsigned long foo" "unsigned char * ClassA::getFoo(float, short *)" "void * getBar(int **, MyStruct &)" Note: based on the underlying mangling scheme, the return type may or may not be specified in the signature.
        Specified by:
        getSignature in class DemangledObject
        Parameters:
        format - true if signature should be pretty printed
        Returns:
        a complete signature for the demangled symbol
      • getParameterString

        public java.lang.String getParameterString()
      • isAlreadyDemangled

        protected boolean isAlreadyDemangled​(Program program,
                                             Address address)
        Description copied from class: DemangledObject
        Determine if the symbol at address has already been demangled. While memory symbols check for presence of demangledName, external symbols simply check if demangled/alternate name has already been assigned.
        Overrides:
        isAlreadyDemangled in class DemangledObject
        Parameters:
        program - the program being modified
        address - address of demangled symbol
        Returns:
        true if symbol at address has already been demangled