edu.isi.stella
Class Module

java.lang.Object
  extended by edu.isi.stella.Stella_Object
      extended by edu.isi.stella.StandardObject
          extended by edu.isi.stella.Thing
              extended by edu.isi.stella.Context
                  extended by edu.isi.stella.Module

public class Module
extends Context


Field Summary
 Module cardinalModule
           
 boolean caseSensitiveP
           
 World defaultInferenceCache
           
 java.lang.String documentation
           
 java.lang.String moduleFullName
           
 java.lang.String moduleName
           
 java.lang.String moduleStringifiedSource
           
 List nicknames
           
 List parentModules
           
 World prototypeInferenceCache
           
 List requires
           
 World strictInferenceCache
           
 java.lang.String stringifiedOptions
           
 StringToIntegerHashTable surrogateOffsetTable
           
 StringToIntegerHashTable symbolOffsetTable
           
 List usedBy
           
 List uses
           
 
Fields inherited from class edu.isi.stella.Context
allSuperContexts, baseModule, childContexts, contextNumber
 
Fields inherited from class edu.isi.stella.Thing
dynamicSlots, surrogateValueInverse
 
Constructor Summary
Module()
           
 
Method Summary
static Stella_Object accessModuleSlotValue(Module self, Symbol slotname, Stella_Object value, boolean setvalueP)
           
static Iterator allClasses(Module module, boolean localP)
          Iterate over all classes visible from 'module'.
static Iterator allFunctions(Module module, boolean localP)
          Iterate over all functions visible from 'module'.
static Iterator allIncludedModules(Module self)
          Generate a sequence of all modules included by 'self', inclusive, starting from the highest ancestor and working down to 'self' (which is last).
static Iterator allMethods(Module module, boolean localP)
          Iterate over all methods visible from 'module'.
static Iterator allPublicFunctions(Module module, boolean localP)
          Iterate over all functions visible from 'module'.
static Iterator allPublicMethods(Module module, boolean localP)
          Iterate over all public methods visible from 'module'.
static Iterator allSlots(Module module, boolean localP)
          Iterate over all slots visible from 'module'.
static Iterator allSurrogates(Module module, boolean localP)
          Iterate over all surrogates visible from 'module'.
static Iterator allSymbols(Module module, boolean localP)
          Iterate over all symbols visible from 'module'.
static Iterator allVariables(Module module, boolean localP)
          Iterate over all variables visible from 'module'.
static boolean cardinalModuleP(Module self)
           
static Module changeCurrentModule(Module module)
           
 Module changeModule()
          Change the current module to be the module 'module'.
 boolean clearableP()
           
static void cppOutputNamespaceChange(Module fromnamespace, Module tonamespace)
           
static void cppOutputNamespaceFooter(Module module)
           
static void cppOutputNamespaceHeader(Module module)
           
 java.lang.String cppPackage()
           
static java.lang.String cppYieldNamespacePrefixFromModule(Module module)
           
static Module defineModule(java.lang.String name, Cons options)
          Define or redefine a module named 'name' having the options 'options'.
static Module defineModuleFromStringifiedSource(java.lang.String name, java.lang.String stringifiedoptions)
           
 void describeObject(OutputStream stream, Keyword mode)
          Prints a description of 'self' to stream 'stream'.
 void destroyContext()
          Destroy the context 'self', and recursively destroy all contexts that inherit 'self'.
static void destroyModule(Module self)
          Destroy the module 'self', and recursively destroy all contexts that inherit 'self'.
static void finalizeModule(Module self)
           
static void helpDestroyModule(Module self)
           
static Cons helpMemoizeVisibleModules(Module from)
           
 void helpPrintOutline(OutputStream stream, int currentDepth, int depth, boolean namedP)
          Helper method for printOutline
static boolean identicalModuleStructureP(Module oldmodule, Module newmodule, java.lang.String newoptions)
           
static void incorporateIncludesModules(Module module, Stella_Object includees)
           
static void incorporateModuleName(Module module, java.lang.String name)
           
static void incorporateModuleOptions(Module self, Cons options)
           
static void incorporateUsesModules(Module module, Stella_Object usees)
           
static boolean inCurrentJavaPackageP(Module module)
           
 void inheritSupercontexts()
           
static void inheritUsedModules(Module module)
           
static void initializeKernelModule(Module module, java.lang.String name, java.lang.String fullname, Module parent)
           
static java.lang.String javaMakeGlobalOutputFileName(Module module, boolean donttruncateP)
           
 java.lang.String javaPackage()
           
static java.lang.String javaPackagePrefix(Module module, java.lang.String separator)
           
static java.lang.String javaYieldFlotsamClassName(Module mod)
           
static void linkToParentModule(Module self, Module parent, boolean insertFirstP)
           
 java.lang.String lispPackage()
           
 java.lang.String moduleCppPackage()
           
 java.lang.String moduleLispPackage()
           
 boolean multipleParentsP()
          Return TRUE if 'module' has more than one parent.
 java.lang.String name()
           
static Module newModule()
           
static void normalizeParentModules(Module self)
           
static boolean omitJavaPackagePrefixP(Module module, java.lang.String stellaClassName)
           
 Iterator parentContexts()
           
 Module parentModule()
           
 Surrogate primaryType()
          Returns the primary type of self.
 void printDefinition(OutputStream stream)
           
static void printUndefinedMethods(Module module, boolean localP)
          Print all declared but not yet defined functions and methods in module.
 boolean protectSurrogatesP()
           
static StringToIntegerHashTable selectSymbolOffsetTable(Module module, int kindofsym)
           
 List shadowedSurrogates()
           
static Iterator unboundSurrogates(Module module, boolean localP)
          Iterate over all unbound surrogates visible from module.
static void undefineModule(Module oldmodule, Module newmodule)
           
 void unfinalizeModule()
           
static void uninheritUsedModules(Module module)
           
static void updateNonStructuralModuleOptions(Module oldmodule, Module newmodule, java.lang.String newoptions)
           
static Cons visibleModules(Module from)
          Return a list of all modules visible from module from (or $MODULE$ if from is NULL.
static java.lang.String xmoduleStringifiedSource(Module self)
           
static Cons yieldDefineModule(Module module)
           
static Stella_Object yieldGlobalLispSymbol(Module symbolmodule, java.lang.String symbolname)
           
static java.lang.String yieldReadableSymbolName(Module symbolmodule, java.lang.String symbolname, boolean localP)
           
 
Methods inherited from class edu.isi.stella.Context
accessContextSlotValue, allSubcontexts, changeContext, changeContextSlowly, changeCurrentContext, clearContext, clearOneContext, contextName, createWorld, deletedP, discardedContextP, helpClearContext, homeModule, printContext, printContextTree, printObject, subcontextP, uninheritSupercontexts, visibleFromP
 
Methods inherited from class edu.isi.stella.Thing
accessThingSlotValue, badP, deletedPSetter
 
Methods inherited from class edu.isi.stella.StandardObject
arrayTypeSpecifierP, baseTypeToTypeSpec, cantOverwriteActiveCollectionSlot, compatibleParameterTypesP, computeAnchoredTypeSpec, computeRelativeTypeSpec, conformingTypeSpecP, copyWrappedLiteral, cppNonPointerTypeP, cppReferenceTypeP, cppReferencizeType, cppTranslateAndPointerizeTypeSpec, cppTranslateAndReferencizeTypeSpec, cppTranslateTypeSpec, cppTypeWithoutInteriorPointersP, dropSlotValue, extractParameterType, extractRequiredArgumentValues, getSlot, hashCode_, idlTranslateTypeSpec, inverseSlotDemon, javaLiteralP, javaNativeLiteralWrapperNames, javaSpecialSetterName, javaTranslateArrayOfTypeSpec, javaTranslateTypeSpec, javaTranslateTypeSpecForFunction, javaTranslateTypeSpecHelper, javaYieldClassObjectArrayExpression, javaYieldClassObjectExpression, javaYieldFullyQualifiedTypeName, javaYieldTranslatedClassAndMethodNames, listifyTypeSpec, lookupClTypeFromStellaType, objectEqlP, putSlotValue, readSlotValue, runConstructorDemons, runDestructorDemons, runSlotDemons, runSlotGuardDemonsP, standardObjectP, subTypeSpecOfP, twoArgumentLeastCommonSupertype, typeSpecToBaseType, typeSpecToClass, typeToWalkedNullValueTree, validateTypeSpecifier, voidP, walkTypeSpecIsNativeTypeP, writeSlotValue, yieldTypeSpecTree
 
Methods inherited from class edu.isi.stella.Stella_Object
_, accessInContext, addPropertyValue, amPm, anchoredTypeSpecifierP, andOrNotTreeP, applyCoercionMethod, atomicExpressionP, bindToSurrogateP, booleanP, bootstrapIsaP, bquotify, cast, characterP, chooseSortPredicate, clConditionalizeTypeDeclarationTree, clTranslateAtomicTree, clTranslateATree, clTranslateBooleanTest, clTranslatePlainBooleanTest, clTranslateVerbatimBodySymbols, clYieldTypedExpressionTree, coerceATree, coerceEvaluatedTree, coerceMvTree, coerceOptionValue, coerceToBoolean, coerceToFloat, coerceToHashSet, coerceToModule, coerceToModuleName, coerceToString, coerceToSymbol, coerceToXmlElement, coerceValueToBoolean, coerceValueToFloat, coerceValueToString, coerceValueToType, coercibleP, collectFeatureList, collectKeyValueList, commonLispSymbolP, computeExpressionType, consify, consifyListsAndIterators, consP, consTreeMatchP, convertToLiteral, copyConsTree, cppArgumentIsStreamP, cppBinaryOperatorP, cppBlockP, cppMaybeOutputStatementWithParentheses, cppOperatorP, cppOutputAtomicExpression, cppOutputLiteral, cppOutputOneActualParameter, cppOutputStatement, cppOutputTypedEntity, cppPrognifyStatement, cppPrognP, cppStatementToList, cppStreamIsStandardOutputP, cpptrans, cppTranslateAtomicTree, cppTranslateATree, cppTranslatedArrayTypeP, csValueP, dateDivider, dateTimeDivider, day, dealWithAmPm, dealWithEra, dealWithNoonMidn, decrementReferenceCount, defaultOptionHandler, defineSystem, defmodule, describe, describeTersely, destructureMethodNameTree, deUglifyParseTree, either, eqlP, eqlToBooleanP, eqlToCharacterP, eqlToFloatP, eqlToIntegerP, eqlToLongIntegerP, eqlToStringP, equalConsTreesP, equalHashCode, equalP, era, estimatedEvaluationCost, evaluate, evaluateArgumentTree, evaluateAtomicTree, evaluateCommand, expandBquoteTree, filterModuleP, floatP, free, get, getObject, getProperty, hashlist, hashMemoizedArguments, helpBquotify, helpClTranslateATree, helpCoerceATree, helpLptrans, helpTransformBooleanProceduralExpression, helpWalkATree, hour, idlOutputAtomicExpression, idlOutputLiteral, idlOutputStatement, idlTranslateAtomicTree, idlTranslateATree, illegalTreeP, implodePathname, incrementallyTranslate, incrementReferenceCount, inlineUnwrapBoolean, inlineWrapBoolean, inModule, integerP, isaP, javaBinaryOperatorP, javaBlockP, javaEndOfLineTokenP, javaHelpOutputPrintStream, javaMaybeOutputStatementWithParentheses, javaOperatorP, javaOutputLiteral, javaOutputStatement, javaPrognP, javaStreamIsStandardOutputP, javaSymbolCaseP, javaTranslateAtomicTree, javaTranslateATree, javaTranslateWithNativeWrapper, jptrans, keywordP, legalTokenizerFromStateP, legalTokenizerStateP, legalTokenizerToStateP, literalEqlP, logLevelLE, longIntegerP, lptrans, makeEvaluatableBquoteTree, makeFileNameFromRelativePath, makeMemoizedValueEntry, makeMemoizedValueEntryn, matchConsTree, methodSlotP, minute, month, nameToString, nilP, noonMidn, numberWrapperToFloat, objectEqualP, objectHashCode, one, oneI, onlyIf, parametricTypeSpecifierP, parseArrayDimensionsSpec, parseOptions, parseTokenizerCharacterSpec, parseTokenizerStateModifiers, permanentCopy, permanentify, permanentifyForm, po, prettyPrintLiteral, primaryClass, printOutline, printStellaCode, printStellaDefinition, printUndefinedSuperClasses, proceduralExpressionP, ptrans, publicSlots, registerRecycledItem, runOptionHandlerP, safeEqualHashCode, safeHashCode, safePrimaryType, safeYieldTypeSpecifier, searchConsTreeP, searchConsTreeWithFilterP, searchForObject, secondp, setProperty, sideEffectFreeExpressionP, simplifyBquoteTree, specialp, stella_Increment, stellaClassP, stellaCollectionP, stellaNeedToCompileP, stellaNeedToTranslateP, stellaObjectP, stellify, storageSlotP, stringifyInModule, stringP, substituteConsTree, substituteOnce, surrogateP, surrogatify, sweep, symbolCaseP, symbolP, sysTree, targetLanguageType, taxonomyIsaP, timeDivider, timeMultiply, tokenizerIncludeSpecP, tokenizerToStateAlias, tokenizerToStateName, toString, traceIf, traceKeywordP, transientifyForm, transientObjectP, transientSymbolP, translateWalkedTree, treeSize, treeToTrees, trueOptionP, tryToEvaluate, typeP, typify, unmake, unregisterRecycledItem, updateInContext, valuesTreeP, variableExpressionP, verbatimStringP, verbatimTreeP, vetOptions, vrletExpressionP, walkAtomicTree, walkATree, walkCollectionTree, walkDontCallMeTree, walkedExpressionExpression, walkedExpressionType, walkExpressionTree, walkMvExpressionTree, walkMvTree, walkStatement, walkTopLevelExpression, walkWithoutTypeTree, warnAboutUnknownSourceType, weekday, withinContext, withinModule, withinWorld, withStellaTokenizer, withSystemDefinition, withTokenizer, wrapperP, wrapWhereTest, xmlAttributeP, xmlBaseAttributeP, xmlCdataFormP, xmlCdataP, xmlDeclarationFormP, xmlDeclarationP, xmlDoctypeFormP, xmlElementFormP, xmlElementP, xmlGlobalAttributeP, xmlLocalAttributeP, xmlnsAttributeP, xmlProcessingInstructionFormP, xmlProcessingInstructionP, xmlTagCase, year, yieldCondTest, yieldCondTestOrTests, yieldHardcodedCaseSymbolIdOrIds, yieldInCursorClausesForArgumentList, yieldInCursorClausesForGeneralCollection, yieldInCursorClausesForVector, yieldTypeSpecifier, zone, zoneMinute
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

parentModules

public List parentModules

documentation

public java.lang.String documentation

nicknames

public List nicknames

uses

public List uses

usedBy

public List usedBy

requires

public List requires

caseSensitiveP

public boolean caseSensitiveP

moduleFullName

public java.lang.String moduleFullName

moduleName

public java.lang.String moduleName

moduleStringifiedSource

public java.lang.String moduleStringifiedSource

stringifiedOptions

public java.lang.String stringifiedOptions

cardinalModule

public Module cardinalModule

symbolOffsetTable

public StringToIntegerHashTable symbolOffsetTable

surrogateOffsetTable

public StringToIntegerHashTable surrogateOffsetTable

strictInferenceCache

public World strictInferenceCache

defaultInferenceCache

public World defaultInferenceCache

prototypeInferenceCache

public World prototypeInferenceCache
Constructor Detail

Module

public Module()
Method Detail

defineModuleFromStringifiedSource

public static Module defineModuleFromStringifiedSource(java.lang.String name,
                                                       java.lang.String stringifiedoptions)

defineModule

public static Module defineModule(java.lang.String name,
                                  Cons options)
Define or redefine a module named 'name' having the options 'options'. Return the new module.

Parameters:
name -
options -
Returns:
Module

newModule

public static Module newModule()

helpPrintOutline

public void helpPrintOutline(OutputStream stream,
                             int currentDepth,
                             int depth,
                             boolean namedP)
Helper method for printOutline

Overrides:
helpPrintOutline in class Context
Parameters:
stream -
currentDepth -
depth -
namedP -

javaPackagePrefix

public static java.lang.String javaPackagePrefix(Module module,
                                                 java.lang.String separator)

omitJavaPackagePrefixP

public static boolean omitJavaPackagePrefixP(Module module,
                                             java.lang.String stellaClassName)

inCurrentJavaPackageP

public static boolean inCurrentJavaPackageP(Module module)

javaYieldFlotsamClassName

public static java.lang.String javaYieldFlotsamClassName(Module mod)

javaMakeGlobalOutputFileName

public static java.lang.String javaMakeGlobalOutputFileName(Module module,
                                                            boolean donttruncateP)

cppYieldNamespacePrefixFromModule

public static java.lang.String cppYieldNamespacePrefixFromModule(Module module)

cppOutputNamespaceChange

public static void cppOutputNamespaceChange(Module fromnamespace,
                                            Module tonamespace)

cppOutputNamespaceFooter

public static void cppOutputNamespaceFooter(Module module)

cppOutputNamespaceHeader

public static void cppOutputNamespaceHeader(Module module)

xmoduleStringifiedSource

public static java.lang.String xmoduleStringifiedSource(Module self)

describeObject

public void describeObject(OutputStream stream,
                           Keyword mode)
Description copied from class: Stella_Object
Prints a description of 'self' to stream 'stream'. 'mode' can be :terse, :verbose, or :source. The :terse mode is often equivalent to the standard print function.

Overrides:
describeObject in class Stella_Object

printDefinition

public void printDefinition(OutputStream stream)

cardinalModuleP

public static boolean cardinalModuleP(Module self)

helpMemoizeVisibleModules

public static Cons helpMemoizeVisibleModules(Module from)

visibleModules

public static Cons visibleModules(Module from)
Return a list of all modules visible from module from (or $MODULE$ if from is NULL. The generated modules are generated from most to least-specific and will start with the module from.

Parameters:
from -
Returns:
Cons

allIncludedModules

public static Iterator allIncludedModules(Module self)
Generate a sequence of all modules included by 'self', inclusive, starting from the highest ancestor and working down to 'self' (which is last).

Parameters:
self -
Returns:
Iterator

yieldDefineModule

public static Cons yieldDefineModule(Module module)

identicalModuleStructureP

public static boolean identicalModuleStructureP(Module oldmodule,
                                                Module newmodule,
                                                java.lang.String newoptions)

updateNonStructuralModuleOptions

public static void updateNonStructuralModuleOptions(Module oldmodule,
                                                    Module newmodule,
                                                    java.lang.String newoptions)

undefineModule

public static void undefineModule(Module oldmodule,
                                  Module newmodule)

incorporateModuleOptions

public static void incorporateModuleOptions(Module self,
                                            Cons options)

incorporateUsesModules

public static void incorporateUsesModules(Module module,
                                          Stella_Object usees)

incorporateIncludesModules

public static void incorporateIncludesModules(Module module,
                                              Stella_Object includees)

incorporateModuleName

public static void incorporateModuleName(Module module,
                                         java.lang.String name)

linkToParentModule

public static void linkToParentModule(Module self,
                                      Module parent,
                                      boolean insertFirstP)

destroyContext

public void destroyContext()
Destroy the context 'self', and recursively destroy all contexts that inherit 'self'.

Overrides:
destroyContext in class Context

helpDestroyModule

public static void helpDestroyModule(Module self)

destroyModule

public static void destroyModule(Module self)
Destroy the module 'self', and recursively destroy all contexts that inherit 'self'.

Parameters:
self -

unfinalizeModule

public void unfinalizeModule()

finalizeModule

public static void finalizeModule(Module self)

uninheritUsedModules

public static void uninheritUsedModules(Module module)

inheritUsedModules

public static void inheritUsedModules(Module module)

inheritSupercontexts

public void inheritSupercontexts()
Overrides:
inheritSupercontexts in class Context

normalizeParentModules

public static void normalizeParentModules(Module self)

multipleParentsP

public boolean multipleParentsP()
Return TRUE if 'module' has more than one parent.

Overrides:
multipleParentsP in class Context
Returns:
boolean

changeModule

public Module changeModule()
Change the current module to be the module 'module'.

Returns:
Module

changeCurrentModule

public static Module changeCurrentModule(Module module)

parentContexts

public Iterator parentContexts()
Overrides:
parentContexts in class Context

yieldGlobalLispSymbol

public static Stella_Object yieldGlobalLispSymbol(Module symbolmodule,
                                                  java.lang.String symbolname)

yieldReadableSymbolName

public static java.lang.String yieldReadableSymbolName(Module symbolmodule,
                                                       java.lang.String symbolname,
                                                       boolean localP)

printUndefinedMethods

public static void printUndefinedMethods(Module module,
                                         boolean localP)
Print all declared but not yet defined functions and methods in module. If localP is true, do not consider any parent modules of module. If module is NULL, look at all modules in the system. This is handy to pinpoint forward declarations that haven't been followed up by actual definitions.

Parameters:
module -
localP -

unboundSurrogates

public static Iterator unboundSurrogates(Module module,
                                         boolean localP)
Iterate over all unbound surrogates visible from module. Look at all modules if module is null. If localP, only consider surrogates interned in module.

Parameters:
module -
localP -
Returns:
Iterator

initializeKernelModule

public static void initializeKernelModule(Module module,
                                          java.lang.String name,
                                          java.lang.String fullname,
                                          Module parent)

selectSymbolOffsetTable

public static StringToIntegerHashTable selectSymbolOffsetTable(Module module,
                                                               int kindofsym)

allPublicMethods

public static Iterator allPublicMethods(Module module,
                                        boolean localP)
Iterate over all public methods visible from 'module'. If 'local?', return only methods interned in 'module'. If 'module' is null, return all methods interned everywhere.

Parameters:
module -
localP -
Returns:
Iterator

allMethods

public static Iterator allMethods(Module module,
                                  boolean localP)
Iterate over all methods visible from 'module'. If 'local?', return only methods interned in 'module'. If 'module' is null, return all methods interned everywhere.

Parameters:
module -
localP -
Returns:
Iterator

allSlots

public static Iterator allSlots(Module module,
                                boolean localP)
Iterate over all slots visible from 'module'. If 'local?', return only methods interned in 'module'. If 'module' is null, return all methods interned everywhere.

Parameters:
module -
localP -
Returns:
Iterator

allClasses

public static Iterator allClasses(Module module,
                                  boolean localP)
Iterate over all classes visible from 'module'. If 'local?', return only classes interned in 'module'. If 'module' is null, return all classes interned everywhere.

Parameters:
module -
localP -
Returns:
Iterator

allSurrogates

public static Iterator allSurrogates(Module module,
                                     boolean localP)
Iterate over all surrogates visible from 'module'. If 'local?', return only surrogates interned in 'module'. If 'module' is null, return all surrogates interned everywhere.

Parameters:
module -
localP -
Returns:
Iterator

allVariables

public static Iterator allVariables(Module module,
                                    boolean localP)
Iterate over all variables visible from 'module'. If 'local?', return only variables bound to symbols interned in 'module'. If 'module' is null, return all variables defined everywhere.

Parameters:
module -
localP -
Returns:
Iterator

allPublicFunctions

public static Iterator allPublicFunctions(Module module,
                                          boolean localP)
Iterate over all functions visible from 'module'. If 'local?', return only functions bound to symbols interned in 'module'. If 'module' is null, return all functions defined everywhere.

Parameters:
module -
localP -
Returns:
Iterator

allFunctions

public static Iterator allFunctions(Module module,
                                    boolean localP)
Iterate over all functions visible from 'module'. If 'local?', return only functions bound to symbols interned in 'module'. If 'module' is null, return all functions defined everywhere.

Parameters:
module -
localP -
Returns:
Iterator

allSymbols

public static Iterator allSymbols(Module module,
                                  boolean localP)
Iterate over all symbols visible from 'module'. If 'local?', return only symbols interned in 'module'. If 'module' is null, return all symbols interned everywhere.

Parameters:
module -
localP -
Returns:
Iterator

accessModuleSlotValue

public static Stella_Object accessModuleSlotValue(Module self,
                                                  Symbol slotname,
                                                  Stella_Object value,
                                                  boolean setvalueP)

protectSurrogatesP

public boolean protectSurrogatesP()

clearableP

public boolean clearableP()

javaPackage

public java.lang.String javaPackage()

moduleCppPackage

public java.lang.String moduleCppPackage()

moduleLispPackage

public java.lang.String moduleLispPackage()

shadowedSurrogates

public List shadowedSurrogates()

cppPackage

public java.lang.String cppPackage()

lispPackage

public java.lang.String lispPackage()

parentModule

public Module parentModule()

name

public java.lang.String name()

primaryType

public Surrogate primaryType()
Description copied from class: Stella_Object
Returns the primary type of self. Gets defined automatically for every non-abstract subclass of OBJECT.

Overrides:
primaryType in class Stella_Object
Returns:
Surrogate