Class ReturnParameterDB

    • Method Detail

      • getName

        public java.lang.String getName()
        Description copied from interface: Variable
        Get the Name of this variable or null if not assigned or not-applicable
        Specified by:
        getName in interface Variable
        Overrides:
        getName in class VariableDB
        Returns:
        the name of the variable
      • getComment

        public java.lang.String getComment()
        Description copied from interface: Variable
        Get the Comment for this variable
        Specified by:
        getComment in interface Variable
        Overrides:
        getComment in class VariableDB
        Returns:
        the comment
      • setComment

        public void setComment​(java.lang.String comment)
        Description copied from interface: Variable
        Set the comment for this variable
        Specified by:
        setComment in interface Variable
        Overrides:
        setComment in class VariableDB
        Parameters:
        comment - the comment
      • getOrdinal

        public final int getOrdinal()
        Description copied from interface: Parameter
        Returns the ordinal (index) of this parameter within the function signature.
        Specified by:
        getOrdinal in interface Parameter
      • setDataType

        public void setDataType​(DataType type,
                                VariableStorage newStorage,
                                boolean force,
                                SourceType source)
                         throws InvalidInputException,
                                VariableSizeException
        Description copied from interface: Variable
        Set the Data Type of this variable and the associated storage whose size matches the data type length.

        NOTE: The storage and source are ignored if the function does not have custom storage enabled.

        Specified by:
        setDataType in interface Variable
        Overrides:
        setDataType in class VariableDB
        Parameters:
        type - the data type
        newStorage - properly sized storage for the new data type
        force - overwrite conflicting variables
        source - variable storage source (used only for function parameters and return)
        Throws:
        InvalidInputException - if data type is not a fixed length or violates storage constraints.
        VariableSizeException - if force is false and data type size causes a conflict with other variables
      • setDataType

        public void setDataType​(DataType type,
                                boolean alignStack,
                                boolean force,
                                SourceType source)
                         throws InvalidInputException
        Description copied from interface: Variable
        Set the Data Type of this variable. The given dataType must have a fixed length.
        Specified by:
        setDataType in interface Variable
        Overrides:
        setDataType in class VariableDB
        Parameters:
        type - the data type
        alignStack - maintain proper stack alignment/justification if supported by implementation. If false and this is a stack variable, the current stack address/offset will not change. If true, the affect is implementation dependent since alignment can not be performed without access to a compiler specification.
        force - overwrite conflicting variables
        source - signature source
        Throws:
        InvalidInputException - if data type is not a fixed length or violates storage constraints.
        VariableSizeException - if force is false and data type size causes a conflict with other variables
      • getFormalDataType

        public DataType getFormalDataType()
        Description copied from interface: Parameter
        Get the original formal signature data type before a possible forced indirect was possibly imposed by the functions calling convention. The Variable.getDataType() method will always return the effective data type which corresponds to the allocated variable storage.
        Specified by:
        getFormalDataType in interface Parameter
        Returns:
        Formal data type. This type will only differ from the Variable.getDataType() value if this parameter isForcedIndirect.
      • getFirstUseOffset

        public int getFirstUseOffset()
        Specified by:
        getFirstUseOffset in interface Variable
        Returns:
        the first use offset relative to the function entry point.
      • isForcedIndirect

        public boolean isForcedIndirect()
        Description copied from interface: Parameter
        If this parameter which was forced by the associated calling convention to be passed as a pointer instead of its original formal type.
        Specified by:
        isForcedIndirect in interface Parameter
        Returns:
        true if this parameter was forced to be passed as a pointer instead of its original formal type
      • isAutoParameter

        public boolean isAutoParameter()
        Specified by:
        isAutoParameter in interface Parameter
        Returns:
        true if this parameter is automatically generated based upon the associated function calling convention and function signature. An example of such a parameter include the "__return_storage_ptr__" parameter.
      • getAutoParameterType

        public AutoParameterType getAutoParameterType()
        Description copied from interface: Parameter
        If this is an auto-parameter this method will indicate its type.
        Specified by:
        getAutoParameterType in interface Parameter
        Returns:
        auto-parameter type of null if not applicable.