edu.isi.stella
Class StorageSlot

java.lang.Object
  extended by edu.isi.stella.Stella_Object
      extended by edu.isi.stella.StandardObject
          extended by edu.isi.stella.MappableObject
              extended by edu.isi.stella.Relation
                  extended by edu.isi.stella.PolymorphicRelation
                      extended by edu.isi.stella.Slot
                          extended by edu.isi.stella.StorageSlot

public class StorageSlot
extends Slot


Field Summary
 boolean slotComponentP
           
 boolean slotContextSensitiveP
           
 boolean slotHardwiredP
           
 boolean slotReadOnlyP
           
 boolean slotRequiredP
           
 
Fields inherited from class edu.isi.stella.Slot
slotBaseType, slotExternalP, slotMarkedP, slotName, slotOwner, slotPublicP, slotRenamedP, slotSlotref
 
Fields inherited from class edu.isi.stella.PolymorphicRelation
slotDirectEquivalent
 
Fields inherited from class edu.isi.stella.Relation
abstractP
 
Fields inherited from class edu.isi.stella.MappableObject
dynamicSlots
 
Constructor Summary
StorageSlot()
           
 
Method Summary
static Stella_Object accessStorageSlotSlotValue(StorageSlot self, Symbol slotname, Stella_Object value, boolean setvalueP)
           
static void activateSlot(StorageSlot self)
           
 Keyword allocation()
          Return the most specific :allocation facet, or :instance if all inherited values are NULL.
 int arity()
           
static StorageSlot canonicalSlot(StorageSlot slot)
           
static boolean checkForSlotDemonsP(StorageSlot slot)
           
static boolean classSlotP(StorageSlot slot)
           
 boolean componentP()
          True if fillers of this slot are components of the owner slot, and therefore should be deleted if the owner is deleted.
static StandardObject computeRealSlotType(StorageSlot slot, StandardObject firstargtype, StandardObject returntype)
           
 StandardObject computeReturnTypeSpec(StandardObject firstargtype)
           
 boolean conformingSignaturesP(Slot superslot)
           
static Cons cppYieldMemberVarTree(StorageSlot slot, Stella_Class renamed_Class)
           
static Cons cppYieldParameterizedMemberVarTree(StorageSlot slot, Stella_Class renamed_Class)
           
static Cons cppYieldStaticMemberAllocationTree(StorageSlot slot, Stella_Class renamed_Class)
           
static void createAccessorUnitsForMixinSlot(StorageSlot slot, Stella_Class renamed_Class)
           
static void createAccessorUnitsForSlot(StorageSlot slot, Stella_Class renamed_Class, boolean mixinaccessorsP, boolean signaturesonlyP)
           
 Stella_Object defaultForm()
          Returns the current value of default expression when the slot has not been assigned a value.
 void describeObject(OutputStream stream, Keyword mode)
          Prints a description of 'self' to stream 'stream'.
static boolean dynamicSlotP(StorageSlot slot)
           
 boolean dynamicStorageP()
           
 void finalizeSlotTypeComputations()
           
 Stella_Object finishWalkingCallSlotTree(Cons tree, StandardObject firstargtype, java.lang.Object[] MV_returnarray)
           
static boolean genericSlotReaderP(StorageSlot slot)
           
static boolean genericSlotWriterP(StorageSlot slot)
           
static Symbol getSlotClassParameterName(StorageSlot slot)
           
static boolean hasNonNullDefaultValueP(StorageSlot slot)
           
 void helpFinalizeLocalSlot()
           
static Cons idlYieldAttributeTree(StorageSlot slot, Stella_Class renamed_Class)
           
static Cons idlYieldParameterizedAttributeTree(StorageSlot slot, Stella_Class renamed_Class)
           
static Cons idlYieldStaticMemberAllocationTree(StorageSlot slot, Stella_Class renamed_Class)
           
 Stella_Object initially()
          Defines the value of a slot before it has been assigned a value.
 Stella_Object initialValue()
          Return an initial value for self, or null.
static boolean isContextSensitiveSlotP(StorageSlot slot)
           
static Cons javaYieldInstanceVarTree(StorageSlot slot, Stella_Class renamed_Class)
           
static MethodSlot lookupOptionHandler(StorageSlot slot)
           
 int methodArgumentCount()
           
 boolean methodBodyArgumentP()
           
 boolean methodVariableArgumentsP()
           
static boolean nativeSlotP(StorageSlot slot)
           
static Stella_Class nativeStorageSlotHome(StorageSlot slot, Stella_Class renamed_Class)
           
static StorageSlot newStorageSlot()
           
static boolean parameterSlotP(StorageSlot slot)
           
 void prettyPrintObject(OutputStream stream)
           
static void prettyPrintSlotOptions(StorageSlot slot, OutputStream stream)
           
 Surrogate primaryType()
          Returns the primary type of self.
 Symbol reader()
          Name of a method called to read the value of the slot self.
static boolean redundantSlotP(StorageSlot slot)
           
 boolean requiredP()
          True if a value must be assigned to this slot at creation time.
static boolean slotAccessMethodP(StorageSlot slot)
           
 Keyword slotAllocation()
           
 List slotDemons()
           
 List slotGuardDemons()
           
static boolean slotHasClassParameterTypeP(StorageSlot slot, Stella_Class renamed_Class)
           
static boolean slotHasUnknownTypeP(StorageSlot slot, Stella_Class renamed_Class)
           
static boolean spaceSaverSlotAllocationP(StorageSlot slot)
           
static boolean standardDynamicSlotAccessP(StorageSlot slot)
           
 Stella_Object systemDefaultValue()
          Return a default value expression, or if self has dynamic storage, an initial value expression.
static boolean systemDefinedSlotReaderP(StorageSlot slot)
           
static boolean systemDefinedSlotWriterP(StorageSlot slot)
           
 void unfinalizeLocalSlot()
           
static Cons wrapWithDefaultValueAndReturnCode(StorageSlot slot, Stella_Object defaultexpression)
           
 Symbol writer()
          Name of a method called to write the value of the slot self.
static Cons yieldActiveSlotReaderBody(StorageSlot slot, Stella_Object defaultexpression)
           
static Cons yieldActiveSlotWriterBody(StorageSlot slot)
           
static Cons yieldClosSlotTree(StorageSlot slot)
           
static Cons yieldClosSlotTypeTree(StorageSlot slot)
           
static Cons yieldContextSensitiveSlotValueSetterTree(StorageSlot slot, Stella_Object objectref, Stella_Object valueref, StandardObject returntype, Cons csoptions, java.lang.Object[] MV_returnarray)
           
static Cons yieldContextSensitiveSlotValueTree(StorageSlot slot, Stella_Object objectref, StandardObject returntype, Cons csoptions, java.lang.Object[] MV_returnarray)
           
static Cons yieldDynamicSlotValueSetterTree(StorageSlot slot, Stella_Object objectref, Stella_Object valueref, StandardObject returntype)
           
static Cons yieldDynamicSlotValueTree(StorageSlot slot, Stella_Object objectref, StandardObject returntype)
           
static Cons yieldHardwiredSlotReaderBody(StorageSlot slot, java.lang.Object[] MV_returnarray)
           
static Symbol yieldHardwiredSlotVariable(StorageSlot slot)
           
static Cons yieldInitialValueAssignment(StorageSlot slot, Keyword mode)
           
static Stella_Object yieldInitialValueExpression(StorageSlot slot)
           
static Symbol yieldMixinSlotReaderName(StorageSlot slot)
           
static Cons yieldMixinSlotReaderTree(StorageSlot slot)
           
static Symbol yieldMixinSlotWriterName(StorageSlot slot)
           
static Cons yieldMixinSlotWriterTree(StorageSlot slot)
           
static Symbol yieldNativeSlotReaderName(StorageSlot slot)
           
static Cons yieldNativeSlotReaderTree(StorageSlot slot, Stella_Class renamed_Class)
           
static Cons yieldNativeSlotValueSetterTree(StorageSlot slot, Stella_Object objectref, StandardObject objecttype, Stella_Object valueref)
           
static Cons yieldNativeSlotValueTree(StorageSlot slot, Stella_Object objectref, StandardObject objecttype)
           
static Symbol yieldNativeSlotWriterName(StorageSlot slot)
           
static Cons yieldNativeSlotWriterTree(StorageSlot slot, Stella_Class renamed_Class)
           
static Cons yieldSlotReaderTree(StorageSlot slot, Stella_Class renamed_Class)
           
static Stella_Object yieldSlotTypeTree(StorageSlot slot)
           
static Cons yieldSlotValueSetterTree(StorageSlot slot, Stella_Object objectref, StandardObject objecttype, Stella_Object valueref, StandardObject returntype, Cons csoptions, java.lang.Object[] MV_returnarray)
           
static Cons yieldSlotValueTree(StorageSlot slot, Stella_Object objectref, StandardObject objecttype, StandardObject returntype, Cons csoptions, java.lang.Object[] MV_returnarray)
           
static Cons yieldSlotWriterTree(StorageSlot slot, Stella_Class renamed_Class)
           
static Cons yieldStandardDynamicSlotValueSetterTree(StorageSlot slot, Stella_Object objectref, Stella_Object valueref, StandardObject returntype)
           
static Cons yieldStandardDynamicSlotValueTree(StorageSlot slot, Stella_Object objectref, StandardObject returntype)
           
static Cons yieldStructSlotTree(StorageSlot slot)
           
 
Methods inherited from class edu.isi.stella.Slot
accessSlotSlotValue, activeP, attachInverseSlotDemon, attachSlotToOwner, checkConformanceOfSlotSignature, closureAssumption, collectionValuedP, computeSlotDirectEquivalent, computeSlotInverses, destroyExternalSlot, filterMethodSlotP, filterNonAuxiliarySlotP, filterNonExternalSlotP, filterNonParameterSlotP, filterPrivateSlotP, filterPublicMethodSlotP, filterPublicSlotP, filterSlotP, finalizeLocalSlot, finishWalkingArgumentListTree, helpPrintOutline, homeModule, inlineMethodP, localSlotP, markDirectEquivalentSlot, mixinMethodP, mixinSlotP, multiValuedSlotWithDuplicatesP, name, nativeSlotHome, owner, printObject, publicP, recordSlotHomeModule, registerSlotName, renames, slotDirectSubs, slotDirectSupers, slotNameConflictP, slotValueIsBareLiteralP, sysTreeIfNeeded, transferExternalSlotToNewClass, type, typeSpecifier, unregisterSlotName, warnAboutSlotShadowedByAFunctionP, yieldFixedSlotValueSetterTree
 
Methods inherited from class edu.isi.stella.PolymorphicRelation
accessPolymorphicRelationSlotValue
 
Methods inherited from class edu.isi.stella.Relation
accessRelationSlotValue, allSupers, directSupers, primitiveP, privateP, properties, slots
 
Methods inherited from class edu.isi.stella.MappableObject
accessMappableObjectSlotValue, badP, deletedP, deletedPSetter, projectedFrom, projectsOnto
 
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, clTranslateAtomicTree, 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, 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, eqlToStringP, equalConsTreesP, equalHashCode, equalP, era, estimatedEvaluationCost, evaluate, evaluateArgumentTree, evaluateAtomicTree, evaluateCommand, expandBquoteTree, filterModuleP, floatP, free, get, getObject, 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, kvCons, legalTokenizerFromStateP, legalTokenizerStateP, legalTokenizerToStateP, literalEqlP, logLevelLE, lptrans, makeFileNameFromRelativePath, makeMemoizedValueEntry, makeMemoizedValueEntryn, matchConsTree, methodSlotP, minute, month, nameToString, nilP, noonMidn, numberWrapperToFloat, objectEqualP, objectHashCode, one, oneI, onlyIf, parametricTypeSpecifierP, parseArrayDimensionsSpec, 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, 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, walkedExpressionType, walkExpressionTree, walkMvExpressionTree, walkMvTree, walkStatement, walkTopLevelExpression, walkWithoutTypeTree, warnAboutUnknownSourceType, weekday, withinContext, withinModule, withinWorld, withStellaTokenizer, withSystemDefinition, withTokenizer, wrapperP, wrapWhereTest, xmlAttributeP, xmlCdataFormP, xmlCdataP, xmlDeclarationFormP, xmlDeclarationP, xmlDoctypeFormP, xmlElementFormP, xmlElementP, 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

slotRequiredP

public boolean slotRequiredP

slotComponentP

public boolean slotComponentP

slotReadOnlyP

public boolean slotReadOnlyP

slotHardwiredP

public boolean slotHardwiredP

slotContextSensitiveP

public boolean slotContextSensitiveP
Constructor Detail

StorageSlot

public StorageSlot()
Method Detail

newStorageSlot

public static StorageSlot newStorageSlot()

idlYieldStaticMemberAllocationTree

public static Cons idlYieldStaticMemberAllocationTree(StorageSlot slot,
                                                      Stella_Class renamed_Class)

idlYieldParameterizedAttributeTree

public static Cons idlYieldParameterizedAttributeTree(StorageSlot slot,
                                                      Stella_Class renamed_Class)

idlYieldAttributeTree

public static Cons idlYieldAttributeTree(StorageSlot slot,
                                         Stella_Class renamed_Class)

javaYieldInstanceVarTree

public static Cons javaYieldInstanceVarTree(StorageSlot slot,
                                            Stella_Class renamed_Class)

getSlotClassParameterName

public static Symbol getSlotClassParameterName(StorageSlot slot)

slotHasClassParameterTypeP

public static boolean slotHasClassParameterTypeP(StorageSlot slot,
                                                 Stella_Class renamed_Class)

cppYieldStaticMemberAllocationTree

public static Cons cppYieldStaticMemberAllocationTree(StorageSlot slot,
                                                      Stella_Class renamed_Class)

cppYieldParameterizedMemberVarTree

public static Cons cppYieldParameterizedMemberVarTree(StorageSlot slot,
                                                      Stella_Class renamed_Class)

cppYieldMemberVarTree

public static Cons cppYieldMemberVarTree(StorageSlot slot,
                                         Stella_Class renamed_Class)

describeObject

public void describeObject(OutputStream stream,