edu.isi.stella
Class Symbol

java.lang.Object
  extended by edu.isi.stella.Stella_Object
      extended by edu.isi.stella.StandardObject
          extended by edu.isi.stella.ContextSensitiveObject
              extended by edu.isi.stella.GeneralizedSymbol
                  extended by edu.isi.stella.Symbol
Direct Known Subclasses:
TransientSymbol

public class Symbol
extends GeneralizedSymbol


Field Summary
 int symbolSlotOffset
           
 Cons symbolValueAndPlist
           
 
Fields inherited from class edu.isi.stella.GeneralizedSymbol
symbolId, symbolName
 
Fields inherited from class edu.isi.stella.ContextSensitiveObject
homeContext
 
Constructor Summary
Symbol()
           
 
Method Summary
static Stella_Object accessSymbolSlotValue(Symbol self, Symbol slotname, Stella_Object value, boolean setvalueP)
           
static int clStructSlotOffset(Symbol slotname, Surrogate classtype)
           
 Stella_Object clTranslateAtomicTree()
           
static Stella_Object clTranslateGlobalSymbol(Symbol symbol)
           
static Stella_Object clTranslateLocalSymbol(Symbol symbol)
           
static Cons clTranslateNormalCallMethodTree(Symbol operator, Surrogate owner, Cons arguments)
           
static Stella_Object coerceARestToCons(Symbol restvariable)
          Coerce the argument list variable restvariable into a CONS list containing all its elements (uses argument list iteration to do so).
static Cons combineStartupFunctionUnits(Symbol startupfnname)
           
static boolean constantSymbolP(Symbol symbol)
           
static Symbol cppCreateOverloadedFunctionName(Symbol functionname, Surrogate classtype)
           
static Symbol cppFixupNameSymbol(Symbol namesymbol, Module homemodule)
           
static Cons cppLookupOperatorTable(Symbol operator)
           
static StringWrapper cppLookupReservedWordTable(Symbol word)
           
 void cppOutputLiteral()
           
static Cons cppTranslateArefMethodCall(Symbol operator, Surrogate owner, Cons arguments)
           
static Cons cppTranslateArgumentListTree(Symbol operator, Surrogate owner, Stella_Object argument)
           
 Cons cppTranslateAtomicTree()
           
static StringWrapper cppTranslateClassParameterName(Symbol namesymbol)
           
static StringWrapper cppTranslateFunctionNameFromName(Symbol functionname)
           
static Stella_Object cppTranslateFunctionParameter(Symbol name, StandardObject type, MethodSlot method)
           
static StringWrapper cppTranslateGlobalName(Symbol namesymbol)
           
static Cons cppTranslateHardcodedSymbolReference(Symbol operator, int offset)
           
static StringWrapper cppTranslateMethodNameFromName(Symbol methodname, StandardObject methodowner)
           
static StringWrapper cppTranslateName(Symbol namesymbol)
           
static Cons cppTranslateNormalMethodCall(Symbol methodname, Surrogate owner, Cons arguments, boolean referencedP)
           
static Cons cppTranslateNthMethodCall(Symbol operator, Surrogate owner, Cons arguments)
           
static StringWrapper cppTranslateReturnParameterName(Symbol namesymbol, int parameternumber)
           
static StringWrapper cppTranslateSymbolId(Symbol symbol)
           
static StringWrapper cppTranslateSymbolName(Symbol symbol)
           
static StringWrapper cppYieldRenamedReservedWord(Symbol word)
           
static Cons cppYieldVaEndTree(Symbol iteratorvar)
           
static Cons cppYieldVaIteratorDeclarations(Symbol iteratorvar)
           
static Symbol cppYieldVaIteratorHelperVariable(Symbol iteratorvar)
           
static Cons cppYieldVaStartTree(Symbol iteratorvar)
           
static void createLispMacroUnits(Symbol name, MethodSlot method)
           
static boolean declarationOperatorP(Symbol operator)
           
static MethodSlot defineInlineMethod(Symbol name, Cons parametersandbody)
           
static MethodSlot defineStellaMethodSlot(Symbol inputname, Cons returntypes, boolean functionP, Cons inputparameters, KeywordKeyValueList options)
          Define a new Stella method object (a slot), and attach it to the class identified by the first parameter in 'inputParameters'.
static Slot defineStellaSlot(Symbol name, Surrogate owner, Surrogate basetype, Cons typespecifier, KeywordKeyValueList options)
           
static SystemDefinition defsystem(Symbol name, Cons options)
          Define a system of files that collectively define a Stella application.
static boolean duplicateCursorVariableP(Symbol variable, Cons iteratorbindings)
           
static Cons expandXmlTagCase(Symbol item, Cons clauses)
           
static Stella_Object extractOptionAndResidue(Symbol option, Cons tail, java.lang.Object[] MV_returnarray)
           
static MethodSlot findPrototypeMethod(Symbol methodname, Surrogate abstracttype)
           
static MethodSlot getFunctionWithIdenticalSignature(Symbol name, java.lang.String stringifiedsource)
           
static Stella_Object getLocalVariableInfo(Symbol variable, Keyword key)
           
static MethodSlot getMethodWithIdenticalSignature(Symbol name, Cons parameterstree, java.lang.String stringifiedsource)
           
 Stella_Class getStellaClass(boolean errorP)
          Return a class with name className.
 Context getStellaContextSlowly()
           
static Symbol idlCreateOverloadedFunctionName(Symbol functionname, Surrogate classtype)
           
static StringWrapper idlLookupReservedWordTable(Symbol word)
           
 void idlOutputLiteral()
           
 Cons idlTranslateAtomicTree()
           
static StringWrapper idlTranslateClassParameterName(Symbol namesymbol)
           
static Stella_Object idlTranslateMethodParameter(Symbol name, StandardObject type, Symbol direction)
           
static StringWrapper idlTranslateName(Symbol namesymbol)
           
static StringWrapper idlTranslateSymbolId(Symbol symbol)
           
static StringWrapper idlTranslateSymbolName(Symbol symbol)
           
static StringWrapper idlYieldRenamedReservedWord(Symbol word)
           
static Symbol importSymbol(Symbol symbol, Module module)
          Import symbol into module and return the imported symbol.
static boolean inlineVariableReferenceP(Symbol self)
           
static Symbol javaCreateOverloadedFunctionName(Symbol functionname, Surrogate classtype)
           
static Cons javaLookupOperatorTable(Symbol operator)
           
 void javaOutputLiteral()
           
static Cons javaTranslateArefMethodCall(Symbol operator, Surrogate owner, Cons arguments)
           
 Cons javaTranslateAtomicTree()
           
static Cons javaTranslateGeneralSymbol(Symbol tree)
           
static StringWrapper javaTranslateGlobalName(Symbol namesymbol, boolean definitionP)
           
static Stella_Object javaTranslateMethodParameter(Symbol name, StandardObject type, MethodSlot method)
           
static StringWrapper javaTranslateName(Symbol namesymbol)
           
static Cons javaTranslateNormalMethodCall(Symbol methodname, Surrogate classtype, Cons allargs)
           
static Cons javaTranslateNthMethodCall(Symbol operator, Surrogate owner, Cons arguments)
           
static StringWrapper javaTranslateSymbolId(Symbol symbol)
           
static StringWrapper javaTranslateSymbolName(Symbol symbol)
           
static StringWrapper javaTranslateVariableLengthArgName(Symbol namesymbol, int parameternumber)
           
static StringWrapper javaYieldRenamedReservedWord(Symbol word)
           
 Stella_Class lookupClass()
          Return a class with name name.
static MethodSlot lookupCommand(Symbol name)
          If name names an evaluable command return its associated command object; otherwise, return null.
static Surrogate lookupConstantSymbol(Symbol self)
           
static MethodSlot lookupFunction(Symbol functionsymbol)
          Return the function defined for 'functionSymbol', if it exists.
static Module lookupFunctionHomeModule(Symbol functionsymbol)
           
static MethodSlot lookupFunctionOrStellaFunction(Symbol functionsymbol)
           
static StandardObject lookupGlobalVariableType(Symbol name)
           
static MethodSlot lookupMacro(Symbol name)
          If name has a macro definition, return the method object holding its expander function.
static Symbol lookupOldValueVariable(Symbol variable)
           
static StandardObject lookupVariableType(Symbol variablename)
           
static Surrogate makeMemoizationTableSurrogate(Symbol memoname)
           
static Cons matchPatternElement(Symbol patternElement, Stella_Object datumElement)
           
static void maybeRenameLocalVariable(Symbol variable)
           
static Symbol methodCallTypeForVectorStructs(Symbol slotname, Surrogate owner, boolean functionP)
           
static boolean nativeNameP(Symbol name, Keyword language, Keyword category)
           
static Symbol newSymbol(java.lang.String symbolName)
           
static Module overloadedFunctionNameModule(Symbol functionName, Surrogate classType)
           
 Stella_Object permanentify()
           
static Stella_Object popq(Symbol variable)
          Pops a value from the cons list 'variable'.
 Surrogate primaryType()
          Returns the primary type of self.
 void printObject(java.io.PrintStream stream)
           
static void printSymbol(Symbol self, java.io.PrintStream stream)
           
static Stella_Object pushq(Symbol variable, Stella_Object value)
          Push 'value' onto the cons list 'variable'.
static Stella_Object pushqNew(Symbol variable, Stella_Object value)
          Push value onto the cons list variable, unless value is already a member of the list.
static void pushSpecial(Symbol variable, Symbol oldvaluevariable)
           
static void pushVariableBinding(Symbol variable, StandardObject type)
           
static boolean registeredSlotNameP(Symbol slotName)
          Return true if slotName is the name of some registered; slot in the system.
static void registerNativeName(Symbol name, Keyword language, Keyword category)
           
static void registerReferenceToGlobalVariable(Symbol variablename)
           
static Symbol safeImportSymbol(Symbol symbol, Module module)
          Safe version of importSymbol (which see).
static void setLocalVariableInfo(Symbol variable, Keyword key, Stella_Object info)
           
static Stella_Object setqP(Symbol variable, Cons expression)
          Assign 'variable' the result of evaluating 'expression', and return TRUE if 'expression' is not NULL else return FALSE.
static Stella_Object signal(Symbol type, Cons body)
          Signal error message, placing non-string arguments in quotes.
static boolean slotReaderFromNameP(Symbol methodname, StandardObject methodowner)
           
 Symbol softPermanentify()
           
 Surrogate surrogatify()
          Converts 'self' into a surrogate (same semantics as symbolToSurrogate which see).
static boolean symbolCommonLispP(Symbol self)
           
static Cons symbolPlist(Symbol symbol)
          Return the property list of symbol.
static Cons symbolPlistSetter(Symbol symbol, Cons plist)
           
static Stella_Object symbolProperty(Symbol symbol, StandardObject key)
          Return the property of symbol whose key is eqP to key.
static Stella_Object symbolPropertySetter(Symbol symbol, Stella_Object value, StandardObject key)
           
static Surrogate symbolToSurrogate(Symbol self)
          Return a surrogate with the same name as 'self'.
static Surrogate symbolToType(Symbol self)
          Convert self into a surrogate with the same name and module.
static Stella_Object symbolValue(Symbol symbol)
          Return the value of symbol.
static Stella_Object symbolValueSetter(Symbol symbol, Stella_Object value)
           
static Symbol trueSlotName(Symbol slotname, Surrogate type)
           
static Symbol trueVariableName(Symbol variable)
           
static void undefineExternalSlots(Symbol name)
           
static void undefineFunction(Symbol name)
           
static void uninternSymbol(Symbol self)
          Remove self from its home module and the symbol table.
static boolean variableEqlP(Symbol var1, Symbol var2)
           
static boolean visibleSymbolP(Symbol self)
          Return true if self is visible from the current module.
static Cons walkADeclaration(Symbol variable, Stella_Object typetree, Stella_Object value, boolean inputparameterP)
           
 Stella_Object walkAtomicTree(java.lang.Object[] MV_returnarray)
           
static Symbol walkConstantSymbol(Symbol self, java.lang.Object[] MV_returnarray)
           
static Cons walkInlineVariableReference(Symbol self, java.lang.Object[] MV_returnarray)
           
static Stella_Object yieldArgumentAccessTree(Symbol argumentsvariable, int index, boolean restargumentP)
           
static Cons yieldArithmeticOperatorCallTree(Symbol operator, Cons operands)
           
static Cons yieldCastedTypecaseClauseTrees(Symbol testvariable, StandardObject clausetype, Cons clausetrees)
           
static Stella_Object yieldClosSlotAccessorName(Symbol slotname)
           
static Cons yieldCollectCode(Symbol collectvariable, Stella_Object intovariable, Stella_Object collecttree)
           
static Cons yieldCollectIntoConsCode(Symbol collectvariable, Stella_Object intovariable, Stella_Object collecttree)
           
static Cons yieldCollectIntoListCode(Symbol collectvariable, Stella_Object intovariable, Stella_Object collecttree)
           
static Symbol yieldEvaluatorWrapperName(Symbol methodname)
           
static Cons yieldLispMacroTrees(Symbol name, MethodSlot method, java.lang.Object[] MV_returnarray)
           
static Symbol yieldLocalVariableAlias(Symbol variable, int level)
           
static Cons yieldNestedArithmeticOperatorCallTree(Symbol operator, Cons operands)
           
static Symbol yieldRenamedNameIfNative(Symbol name, Keyword language, Keyword category)
           
static Symbol yieldSetterMethodName(Symbol methodname)
           
static Cons yieldSlotValueReaderTree(Symbol slotname, Stella_Object objectref, Surrogate objecttype)
           
static Cons yieldSlotValueWriterTree(Symbol slotname, Stella_Object objectref, Surrogate objecttype, Stella_Object valueref)
           
static java.lang.String yieldStartupFunctionClassname(Symbol functionName)
           
 StandardObject yieldTypeSpecifier()
           
 
Methods inherited from class edu.isi.stella.GeneralizedSymbol
accessGeneralizedSymbolSlotValue, constructSymbolConstantName, cppChangeCase, cppQualifyNameP, cppTranslateClassName, cppTranslateClassTypename, cppTranslateSymbolConstantId, cppTranslateSymbolConstantName, cppYieldNamespacePrefix, createStartupSymbol, deletedP, explicitlyQualifiedNameP, generalizedSymbolLessThanP, helpCppChangeCase, idlChangeCase, idlTranslateClassName, idlTranslateSymbolConstantId, idlTranslateSymbolConstantName, internDerivedSurrogate, internDerivedSymbol, javaChangeCase, javaTranslateClassName, javaTranslateSymbolConstantId, javaTranslateSymbolConstantName, keywordify, localPrintName, lookupGlobalVariable, registerSymbol, relativeName, shadowedSymbolP, visibleName, yieldSymbolConstantName
 
Methods inherited from class edu.isi.stella.ContextSensitiveObject
homeModule
 
Methods inherited from class edu.isi.stella.StandardObject
arrayTypeSpecifierP, baseTypeToTypeSpec, cantOverwriteActiveCollectionSlot, compatibleParameterTypesP, computeAnchoredTypeSpec, computeRelativeTypeSpec, conformingTypeSpecP, copyWrappedLiteral, cppReferenceTypeP, cppReferencizeType, cppTranslateAndPointerizeTypeSpec, cppTranslateAndReferencizeTypeSpec, cppTranslateTypeSpec, 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, amPm, anchoredTypeSpecifierP, andOrNotTreeP, applyCoercionMethod, atomicExpressionP, bindToSurrogateP, booleanP, bootstrapIsaP, bquotify, cast, characterP, clTranslateATree, clTranslateBooleanTest, clTranslatePlainBooleanTest, clTranslateVerbatimBodySymbols, clYieldTypedExpressionTree, coerceATree, coerceEvaluatedTree, coerceMvTree, coerceToBoolean, coerceToModule, coerceToModuleName, coerceToSymbol, coerceToXmlElement, coercibleP, collectFeatureList, collectKeyValueList, commonLispSymbolP, computeExpressionType, cons, consify, consifyListsAndIterators, consP, consTreeMatchP, convertToLiteral, copyConsTree, cppArgumentIsStreamP, cppBinaryOperatorP, cppBlockP, cppMaybeOutputStatementWithParentheses, cppOperatorP, cppOutputAtomicExpression, cppOutputOneActualParameter, cppOutputStatement, cppOutputTypedEntity, cppPrognifyStatement, cppPrognP, cppStatementToList, cppStreamIsStandardOutputP, cpptrans, cppTranslateATree, cppTranslatedArrayTypeP, csValueP, dateDivider, dateTimeDivider, day, dealWithAmPm, dealWithEra, dealWithNoonMidn, decrementReferenceCount, defaultOptionHandler, defineSystem, defmodule, describe, describeObject, describeTersely, destructureMethodNameTree, deUglifyParseTree, either, eqlP, eqlToBooleanP, eqlToCharacterP, eqlToFloatP, eqlToIntegerP, eqlToStringP, equalConsTreesP, equalHashCode, equalP, era, estimatedEvaluationCost, evaluate, evaluateArgumentTree, evaluateAtomicTree, evaluateCommand, expandBquoteTree, filterModuleP, floatP