[operations] [attributes] [fields] [template] [definition]
[implementation] [documentation]
To use the search tool you need to use a browser which supports JAVA (c)

[next] [prev] [superclass] [next peer] [prev peer] [subclass] [index] [hierarchy]

DebugNamesDatabase

mixes in with Object

DebugNamesDatabase



Operations

Get list of all operations

ClassNameByNumber
ClassOperationNameByNumber
DebugBoxLiteral
DebugDateLiteral
DebugDotLiteral
DebugFixedLiteral
DebugMicronLiteral
DebugNameLiteral
DebugTextLiteral
DebugTimeLiteral
DumpName
DumpNameFancy
FindObjectOrIndexicalByName
GetDebugInfo
GetDebugPackageText
IndexicalName
IndexicalTag
InstanceTag
IntrinsicNameByNumber
OperationNameByNumber


Attributes

Get list of all attributes

Class DebugNamesDatabase defines no new attributes.


Fields

No fields are defined by DebugNamesDatabase or any of its superclasses.


Instance template

Class DebugNamesDatabase cannot be instantiated.


Class definition

Define Class DebugNamesDatabase;
    mixes in with Object;
//  abstract;

    operation DebugNameLiteral(object: Object): Literal, noMethod;
        // call to get a C string containing the name of an object suitable for logging
        // names share a single fixed-size buffer, so the C string should be used right away
        // and for debugging purposes only because of the risk of overflow
    operation DebugTextLiteral(text: Text): Literal, noMethod;
        // call to get a C string corresponding to the characters in the text object
        // restrictions on multiple calls are same as for DebugNameLiteral
    operation DebugMicronLiteral(micron: Micron): Literal, noMethod;
        // call to get a C string containing a display of a coordinate suitable for logging
        // restrictions on multiple calls are same as for DebugNameLiteral
    operation DebugDotLiteral(dot: Dot): Literal, noMethod;
        // call to get a C string containing a display of a both coordinates of a dot suitable for logging
        // restrictions on multiple calls are same as for DebugNameLiteral
    operation DebugBoxLiteral(box: Box): Literal, noMethod;
        // call to get a C string containing a display of all four coordinates of a box suitable for logging
        // restrictions on multiple calls are same as for DebugNameLiteral
    operation DebugFixedLiteral(fixed: Fixed): Literal, noMethod;
        // call to get a C string containing a formatted fixed-point integer suitable for logging
        // restrictions on multiple calls are same as for DebugNameLiteral
    operation DebugDateLiteral(days: Signed): Literal, noMethod;
        // call to get a C string containing a formatted date suitable for logging
        // restrictions on multiple calls are same as for DebugNameLiteral
    operation DebugTimeLiteral(milliseconds: Unsigned): Literal, noMethod;
        // call to get a C string containing a formatted time suitable for logging
        // restrictions on multiple calls are same as for DebugNameLiteral

    operation DumpName(object: Object; relativeTo: Object): Text, noMethod;
        // call to get name used when dumping this object
    operation DumpNameFancy(object: Object; relativeTo: Object; showNumber: Boolean; showName: Boolean; showShared: Boolean): Text, noMethod;
        // same as DumpName, but with more knobs
    operation IndexicalName(targetIndexical: Object; relativeTo: Object): Text, noMethod;
        // call to get name of an indexical
    operation InstanceTag(object: Object): Text, noMethod;
        // call to get/set tag used to identify this instance
        // returns nil if object was not created by ObjectMaker
    operation IndexicalTag(targetIndexical: Object): Text, noMethod;
        // call to get tag of an indexical
        // return nil if indexical does not have a tag
    
    operation GetDebugInfo(object: Object): Object, noMethod;
        // return a debug name, or a DebugPackageClass for a class
    operation GetDebugPackageText(object: Object; offset: Unsigned): Text, noMethod;
        // return field name information for offset in the object

    operation ClassNameByNumber(number: ClassNumber): Text, noMethod;
        // call to get the name of a class if you know its number
    operation OperationNameByNumber(number: OperationNumber): Text, noMethod;
        // call to get the name of an operation if you know its number
    operation ClassOperationNameByNumber(number: ClassOperationNumber): Text, noMethod;
        // call to get the name of a class operation if you know its number
    operation IntrinsicNameByNumber(number: IntrinsicNumber): Text, noMethod;
        // call to get the name of an intrinsic operation if you know its number

    operation FindObjectOrIndexicalByName(name: Text; exactMatch: Boolean; limit: Unsigned): Object, noMethod;
        // find an indexical or object by name, or part of a name
        // return a list -- if the list has a single item then the item is
        // a reference to the indexical or object.  if the list has more than
        // one item then it's a list of fully qualified tags (or names) for things
        // that match.  if the list is empty, then no match was found (duh)
end class;