edu.isi.stella
Class Stella_Object

java.lang.Object
  extended by edu.isi.stella.Stella_Object
Direct Known Subclasses:
Quantity, ReferenceCountObject, Session, StandardObject, Wrapper

public abstract class Stella_Object
extends java.lang.Object

A reflective object that can participate in dynamically-typed contexts. Either a STANDARD-OBJECT or a WRAPPER or a GENERIC-OBJECT. Also, either an OBJECT-WITH-INHERITED-TYPE or an OBJECT-WITH-OWN-TYPE.


Constructor Summary
Stella_Object()
           
 
Method Summary
static Stella_Object _(Stella_Object place, Cons decrement)
          Decrement the value of place and return the result.
static Stella_Object accessInContext(Stella_Object value, Context homecontext, boolean dontinheritP)
           
static Symbol amPm(Stella_Object string)
           
static boolean anchoredTypeSpecifierP(Stella_Object x)
           
static boolean andOrNotTreeP(Stella_Object tree)
           
static Stella_Object applyCoercionMethod(Stella_Object expression, Surrogate sourcetype, Surrogate targettype, Stella_Object coercionmethod, java.lang.Object[] MV_returnarray)
           
static boolean atomicExpressionP(Stella_Object tree)
           
static boolean bindToSurrogateP(Stella_Object self, java.lang.String name, boolean clipoldvalueP, boolean askforpermissionP, java.lang.Object[] MV_returnarray)
           
static boolean booleanP(Stella_Object x)
           
static boolean bootstrapIsaP(Stella_Object x, Surrogate type)
           
static Stella_Object bquotify(Stella_Object tree)
           
static Stella_Object cast(Stella_Object value, Surrogate type)
          Perform a run-time type check, and then return value.
static boolean characterP(Stella_Object x)
           
 Stella_Object clTranslateAtomicTree()
           
static Stella_Object clTranslateATree(Stella_Object tree)
           
static Stella_Object clTranslateBooleanTest(Stella_Object tree, boolean invertP)
           
static Stella_Object clTranslatePlainBooleanTest(Stella_Object tree, boolean invertP)
           
static Stella_Object clTranslateVerbatimBodySymbols(Stella_Object body, List parameters)
           
static Stella_Object clYieldTypedExpressionTree(Stella_Object tree, StandardObject type)
           
static Stella_Object coerceATree(Stella_Object tree, StandardObject sourcetype, StandardObject targettype, java.lang.Object[] MV_returnarray)
           
static Stella_Object coerceEvaluatedTree(Stella_Object tree, Stella_Object sourcetree, StandardObject sourcetype, StandardObject targettype, boolean evaluateP, java.lang.Object[] MV_returnarray)
           
static Stella_Object coerceMvTree(Stella_Object tree, Symbol operator, List sourcetypes, List targettypes, java.lang.Object[] MV_returnarray)
           
static BooleanWrapper coerceToBoolean(Stella_Object renamed_Object)
           
static Module coerceToModule(Stella_Object renamed_Object, boolean warnP)
           
static java.lang.String coerceToModuleName(Stella_Object namespec, boolean warnP)
           
static GeneralizedSymbol coerceToSymbol(Stella_Object name)
          Return the (generalized) symbol represented by name.
static XmlElement coerceToXmlElement(Stella_Object regiontag)
           
static boolean coercibleP(Stella_Object tree, StandardObject sourcetype, StandardObject targettype)
           
static List collectFeatureList(Stella_Object tree)
           
static KeyValueList collectKeyValueList(Stella_Object tree)
           
static boolean commonLispSymbolP(Stella_Object self)
           
static StandardObject computeExpressionType(Stella_Object expression, boolean wrapP)
           
static Cons cons(Stella_Object value, Cons rest)
          Return a cons record that points to value and rest.
 Cons consify()
          If renamed_Object is a CONS, return it.
static Stella_Object consifyListsAndIterators(Stella_Object tree)
           
static boolean consP(Stella_Object x)
           
static boolean consTreeMatchP(Stella_Object tree, Stella_Object pattern)
          Predicate version of matchConsTree (which see).
static Stella_Object convertToLiteral(Stella_Object renamed_Object)
           
static Stella_Object copyConsTree(Stella_Object self)
          Return a copy of the cons tree self.
static boolean cppArgumentIsStreamP(Stella_Object arg)
           
static boolean cppBinaryOperatorP(Stella_Object statement)
           
static boolean cppBlockP(Stella_Object tree)
           
static void cppMaybeOutputStatementWithParentheses(Stella_Object statement)
           
static boolean cppOperatorP(Stella_Object statement)
           
static void cppOutputAtomicExpression(Stella_Object atom)
           
 void cppOutputLiteral()
           
static void cppOutputOneActualParameter(Stella_Object parameter)
           
static void cppOutputStatement(Stella_Object statement)
           
static void cppOutputTypedEntity(Stella_Object type, Stella_Object entity, Stella_Object initialvalue)
           
static Cons cppPrognifyStatement(Stella_Object statement)
           
static boolean cppPrognP(Stella_Object tree)
           
static Cons cppStatementToList(Stella_Object statement)
           
static boolean cppStreamIsStandardOutputP(Stella_Object tree)
           
static void cpptrans(Stella_Object statement)
          Translate statement to C++ and print the result.
 Cons cppTranslateAtomicTree()
           
static Stella_Object cppTranslateATree(Stella_Object tree)
           
static boolean cppTranslatedArrayTypeP(Stella_Object translatedtype)
           
static boolean csValueP(Stella_Object self)
           
static BooleanWrapper dateDivider(Stella_Object thecharacter)
           
static BooleanWrapper dateTimeDivider(Stella_Object thecharacter)
           
static BooleanWrapper day(Stella_Object number)
           
static void dealWithAmPm(Stella_Object formValue, DecodedDateTime parsedValues)
           
static void dealWithEra(Stella_Object formValue, DecodedDateTime parsedValues)
           
static void dealWithNoonMidn(Stella_Object formValue, DecodedDateTime parsedValues)
           
 void decrementReferenceCount()
           
static void defaultOptionHandler(Stella_Object self, StorageSlot slot, Stella_Object tree)
           
static SystemDefinition defineSystem(Stella_Object name, Cons options)
           
static void defmodule(Stella_Object name, Cons options)
          Define (or redefine) a module named name.
 boolean deletedP()
          Default deletedP method which always returns FALSE.
static void describe(Stella_Object name, Cons mode)
          Print a description of an object in :verbose, :terse, or :source modes.
 void describeObject(OutputStream stream, Keyword mode)
          Prints a description of 'self' to stream 'stream'.
static void describeTersely(Stella_Object self, OutputStream stream)
           
static Symbol destructureMethodNameTree(Stella_Object nametree, java.lang.Object[] MV_returnarray)
           
static Stella_Object deUglifyParseTree(Stella_Object tree)
           
static Stella_Object either(Stella_Object value1, Stella_Object value2)
          If 'value1' is defined, return that, else return 'value2'.
static boolean eqlP(Stella_Object x, Stella_Object y)
          Return true if x and y are eqP or equivalent literals such as strings that also might be wrapped in non-identical wrappers.
static boolean eqlToBooleanP(Stella_Object y, boolean x)
           
static boolean eqlToCharacterP(Stella_Object y, char x)
           
static boolean eqlToFloatP(Stella_Object y, double x)
           
static boolean eqlToIntegerP(Stella_Object y, int x)
           
static boolean eqlToStringP(Stella_Object y, java.lang.String x)
           
static boolean equalConsTreesP(Stella_Object tree1, Stella_Object tree2)
          Return true iff the cons trees tree1 and tree2 are structurally equivalent.
 int equalHashCode()
          Return a hash code for self (can be negative).
static boolean equalP(Stella_Object x, Stella_Object y)
          Return true if x and y are eqlP or considered equal by a user-defined objectEqualP method.
static Symbol era(Stella_Object string)
           
static int estimatedEvaluationCost(Stella_Object tree)
           
static Stella_Object evaluate(Stella_Object expression)
          Evaluate the expression expression and return the result.
static Stella_Object evaluateArgumentTree(Stella_Object tree, boolean evaluateP, java.lang.Object[] MV_returnarray)
           
static Stella_Object evaluateAtomicTree(Stella_Object tree, java.lang.Object[] MV_returnarray)
           
static Stella_Object evaluateCommand(Stella_Object command, boolean finalizeP)
           
static Stella_Object expandBquoteTree(Stella_Object tree)
           
static boolean filterModuleP(Stella_Object self, AllPurposeIterator iterator)
           
static boolean floatP(Stella_Object x)
           
 void free()
          Default method.
static Stella_Object get(Stella_Object name, Cons type)
           
 Stella_Object getObject(Stella_Object type)
           
 int hashCode_()
          Return a hash code for self (can be negative).
static Stella_Object hashlist(Stella_Object list, Stella_Object table)
           
static int hashMemoizedArguments(Stella_Object arg1, Stella_Object arg2, Stella_Object arg3, Stella_Object arg4, int eqvector)
           
static Stella_Object helpBquotify(Stella_Object tree)
           
static Stella_Object helpClTranslateATree(Stella_Object tree)
           
static Stella_Object helpCoerceATree(Stella_Object tree, StandardObject sourcetype, StandardObject targettype, boolean testonlyP, java.lang.Object[] MV_returnarray)
           
static void helpLptrans(Stella_Object statement)
           
 void helpPrintOutline(OutputStream stream, int currentDepth, int depth, boolean namedP)
          Helper method for printOutline
static Cons helpTransformBooleanProceduralExpression(Stella_Object expression, Symbol testvariable)
           
static Stella_Object helpWalkATree(Stella_Object tree, java.lang.Object[] MV_returnarray)
           
 Module homeModule()
          Return the home module of self.
static BooleanWrapper hour(Stella_Object number)
           
static void idlOutputAtomicExpression(Stella_Object atom)
           
 void idlOutputLiteral()
           
static void idlOutputStatement(Stella_Object statement)
           
 Cons idlTranslateAtomicTree()
           
static Stella_Object idlTranslateATree(Stella_Object tree)
           
static boolean illegalTreeP(Stella_Object tree)
           
static java.lang.String implodePathname(Stella_Object filepath)
           
static Stella_Object incrementallyTranslate(Stella_Object tree)
          Translate a single Stella expression tree and return the result.
 void incrementReferenceCount()
           
static Stella_Object inlineUnwrapBoolean(Stella_Object expression)
           
static Stella_Object inlineWrapBoolean(Stella_Object expression)
           
static Module inModule(Stella_Object name)
          Change the current module to the module named name.
static boolean integerP(Stella_Object x)
           
static boolean isaP(Stella_Object renamed_Object, Surrogate type)
          Return true iff renamed_Object is an instance of the class named type.
static boolean javaBinaryOperatorP(Stella_Object statement)
           
static boolean javaBlockP(Stella_Object tree)
           
static boolean javaEndOfLineTokenP(Stella_Object token)
           
static void javaHelpOutputPrintStream(Stella_Object stream, Cons exps, boolean nativestreamP, boolean endoflineP)
           
static void javaMaybeOutputStatementWithParentheses(Stella_Object statement)
           
static boolean javaOperatorP(Stella_Object statement)
           
 void javaOutputLiteral()
           
static void javaOutputStatement(Stella_Object statement)
           
static boolean javaPrognP(Stella_Object tree)
           
static boolean javaStreamIsStandardOutputP(Stella_Object tree)
           
static boolean javaSymbolCaseP(Stella_Object keyform)
           
 Cons javaTranslateAtomicTree()
           
static Stella_Object javaTranslateATree(Stella_Object tree)
           
static Cons javaTranslateWithNativeWrapper(Stella_Object tree, StandardObject type)
           
static void jptrans(Stella_Object statement)
          Translate statement to C++ and print the result.
static boolean keywordP(Stella_Object x)
           
static KvCons kvCons(Stella_Object key, Stella_Object value, KvCons rest)
          Create, fill-in, and return a new KV-CONS.
static boolean legalTokenizerFromStateP(Stella_Object x)
           
static boolean legalTokenizerStateP(Stella_Object x)
           
static boolean legalTokenizerToStateP(Stella_Object x)
           
static boolean literalEqlP(Stella_Object x, Stella_Object y)
           
static boolean logLevelLE(Stella_Object level, java.lang.String module)
          Return TRUE if level is lower than or equal to the current log level of module.
static void lptrans(Stella_Object statement)
          Translate statement to Common-Lisp and print the result.
static java.lang.String makeFileNameFromRelativePath(Stella_Object filepath, Keyword type)
           
static Cons makeMemoizedValueEntry(Stella_Object value, Stella_Object arg1, Stella_Object arg2, Stella_Object arg3, Stella_Object arg4)
           
static Cons makeMemoizedValueEntryn(Stella_Object value, Cons args)
           
static KeyValueList matchConsTree(Stella_Object tree, Stella_Object pattern, KeyValueList bindings)
          Match pattern against tree and return a list of variable bindings if they match, or NULL otherwise.
static boolean methodSlotP(Stella_Object x)
           
static BooleanWrapper minute(Stella_Object number)
           
static IntegerWrapper month(Stella_Object thing)
           
static java.lang.String nameToString(Stella_Object name)
          Return the string represented by name.
static boolean nilP(Stella_Object x)
          Return true iff x equals nil.
static Symbol noonMidn(Stella_Object string)
           
 double numberWrapperToFloat()
           
 boolean objectEqlP(Stella_Object y)
           
 boolean objectEqualP(Stella_Object y)
          Return true if x and y are eqP.
static int objectHashCode(Stella_Object self)
          Return a hash code for self (can be negative).
static Stella_Object one(Stella_Object expression)
          Subtract 1 from 'expression' and return the result.
static Stella_Object oneI(Stella_Object expression)
          Add 1 to 'expression' and return the result.
static Stella_Object onlyIf(Stella_Object test, Stella_Object expression)
          If 'test' is TRUE, return the result of evaluating 'expression'.
static boolean parametricTypeSpecifierP(Stella_Object x)
           
static List parseArrayDimensionsSpec(Stella_Object dimensionsspec)
           
static Cons parseTokenizerCharacterSpec(Stella_Object characterspec, List allcharactersets)
           
static int parseTokenizerStateModifiers(Stella_Object modifier)
           
static Stella_Object permanentCopy(Stella_Object tree)
           
 Stella_Object permanentify()
           
static Stella_Object permanentifyForm(Stella_Object form)
           
static void po(Stella_Object thing)
           
static void prettyPrintLiteral(Stella_Object literal, OutputStream stream)
           
 Stella_Class primaryClass()
           
 Surrogate primaryType()
          Returns the primary type of self.
 void printObject(java.io.PrintStream stream)
           
static void printOutline(Stella_Object thing, OutputStream stream, int depth, boolean namedP)
          Print an outline of thing and its subparts on stream.
static void printStellaCode(Stella_Object tree, java.io.PrintStream stream)
           
static void printStellaDefinition(Stella_Object tree, java.io.PrintStream stream)
           
static void printUndefinedSuperClasses(Stella_Object renamed_Class)
          Print all undefined or bad (indirect) super classes of renamed_Class.
static boolean proceduralExpressionP(Stella_Object tree)
           
static void ptrans(Stella_Object statement)
          Translate statement to Common-Lisp and print the result.
 Iterator publicSlots()
          Return an iterator over public slots of self.
static void registerRecycledItem(Stella_Object item)
           
static boolean runOptionHandlerP(Stella_Object renamed_Object, Keyword option, Stella_Object valuetree)
           
static int safeEqualHashCode(Stella_Object self)
          Return a hash code for self.
static int safeHashCode(Stella_Object self)
          Return a hash code for self.
static Surrogate safePrimaryType(Stella_Object x)
           
static StandardObject safeYieldTypeSpecifier(Stella_Object typetree)
           
static boolean searchConsTreeP(Stella_Object tree, Stella_Object value)
          Return true iff the value value is embedded within the cons tree tree.
static boolean searchConsTreeWithFilterP(Stella_Object tree, Stella_Object value, Cons filter)
          Return true iff the value value is embedded within the cons tree tree.
static Stella_Object searchForObject(Stella_Object self, Stella_Object typeref)
          If self is a string or a symbol, search for an object named self of type type.
static BooleanWrapper secondp(Stella_Object number)
           
static boolean sideEffectFreeExpressionP(Stella_Object tree)
           
static Stella_Object simplifyBquoteTree(Stella_Object tree)
           
static Symbol specialp(Stella_Object string)
           
 boolean standardObjectP()
           
static Stella_Object stella_Increment(Stella_Object place, Cons increment)
          Increment the value of place and return the result.
static boolean stellaClassP(Stella_Object x)
           
static boolean stellaCollectionP(Stella_Object self)
          Return true if self is a native collection.
static boolean stellaNeedToCompileP(Stella_Object file)
           
static boolean stellaNeedToTranslateP(Stella_Object file, Keyword language)
           
static boolean stellaObjectP(Stella_Object self)
          Return true if self is a member of the STELLA class OBJECT.
static Stella_Object stellify(Stella_Object self)
          Convert a Lisp object into a STELLA object.
static boolean storageSlotP(Stella_Object x)
           
static java.lang.String stringifyInModule(Stella_Object tree, Module module)
          Stringify a parse tree relative to module, or $MODULE$ if no module is specified.
static boolean stringP(Stella_Object x)
           
static Stella_Object substituteConsTree(Stella_Object tree, Stella_Object newvalue, Stella_Object oldvalue)
          Destructively replace each appearance of oldvalue by newvalue in the cons tree tree.
static boolean substituteOnce(Stella_Object expression, Stella_Object newtree, Stella_Object oldtree)
           
static boolean surrogateP(Stella_Object x)
           
 Surrogate surrogatify()
           
 void sweep()
          Default method.
static boolean