edu.isi.stella
Class MethodSlot

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.MethodSlot

public class MethodSlot
extends Slot


Field Summary
 java.lang.reflect.Method functionCode
           
 java.lang.reflect.Method methodCode
           
 boolean methodFunctionP
           
 List methodParameterNames
           
 List methodParameterTypeSpecifiers
           
 List methodReturnTypeSpecifiers
           
 boolean methodSetterP
           
 java.lang.String methodStringifiedSource
           
 
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
MethodSlot()
           
 
Method Summary
static Stella_Object accessMethodSlotSlotValue(MethodSlot self, Symbol slotname, Stella_Object value, boolean setvalueP)
           
 int arity()
           
static MethodSlot attachFunction(MethodSlot newfunction)
           
static MethodSlot attachMethodSlotToOwner(MethodSlot newmethod)
           
static Cons clTranslateMethodParameters(MethodSlot method)
           
static Cons clYieldMethodArglistTypeDeclarations(MethodSlot method)
           
static Cons clYieldMethodParameterTypeDeclarationTrees(MethodSlot method)
           
static Stella_Object clYieldMethodReturnTypeDeclaration(MethodSlot method)
           
static Cons clYieldMethodTypeDeclarationTree(MethodSlot method)
           
static boolean commandP(MethodSlot method)
          Return true if method is an evaluable command.
static int compatibleRealMethods(MethodSlot prototypemethod, Surrogate abstracttype, java.lang.Object[] MV_returnarray)
           
static StandardObject computeMostGeneralReturnType(MethodSlot method, StandardObject returntype)
           
 StandardObject computeReturnTypeSpec(StandardObject firstargtype)
           
 boolean conformingSignaturesP(Slot superslot)
           
static boolean cppConstructorP(MethodSlot method)
           
static boolean cppMethodObjectIsFunctionP(MethodSlot method)
           
static boolean cppMethodObjectIsOverloadedFunctionP(MethodSlot method)
           
static boolean cppNativeMethodP(MethodSlot methodslot)
           
static StringWrapper cppTranslateConstructorName(MethodSlot constructor)
           
static StringWrapper cppTranslateFunctionName(MethodSlot function)
           
static Cons cppTranslateFunctionParameters(MethodSlot method)
           
static StringWrapper cppTranslateMethodName(MethodSlot method)
           
static Cons cppYieldConstructorSignatureTree(MethodSlot method)
           
static Cons cppYieldMemberFuncSignatureTree(MethodSlot method)
           
static MethodSlot createEvaluatorWrapperUnit(MethodSlot method)
           
static void destroyFunction(MethodSlot function)
           
static void destroyMethod(MethodSlot self)
           
static void finalizeAuxiliaryMethod(MethodSlot method)
           
 void finalizeSlotTypeComputations()
           
 Stella_Object finishWalkingCallSlotTree(Cons tree, StandardObject firstargtype, java.lang.Object[] MV_returnarray)
           
 void helpFinalizeLocalSlot()
           
static boolean identicalSignaturesP(MethodSlot method1, MethodSlot method2)
           
static boolean idlConstructorP(MethodSlot method)
           
static boolean idlMethodObjectIsOverloadedFunctionP(MethodSlot method)
           
static StringWrapper idlTranslateConstructorName(MethodSlot constructor)
           
static StringWrapper idlTranslateFunctionName(MethodSlot function)
           
static Cons idlTranslateMethodParameters(MethodSlot method)
           
static Cons idlYieldConstructorSignatureTree(MethodSlot method)
           
static Cons idlYieldOperationSignatureTree(MethodSlot method)
           
static boolean illegalIdlMethodP(MethodSlot methodslot)
           
static void incorporateFirstInputParameter(MethodSlot method)
           
static void incorporateInputParameters(MethodSlot method, Cons parameters)
           
static Stella_Object inlinableMethodBody(MethodSlot method)
           
static boolean inlineMethodCallP(MethodSlot method)
           
static boolean javaFlotsamFunctionP(MethodSlot method)
           
static boolean javaFunctionInDifferentModuleP(MethodSlot method)
           
static boolean javaMethodObjectDefinedOnNativeTypeP(MethodSlot method)
           
static boolean javaMethodObjectIsFunctionP(MethodSlot method)
           
static boolean javaMethodObjectIsOverloadedFunctionP(MethodSlot method)
           
static boolean javaSynchronizedMethodP(MethodSlot method)
           
static StringWrapper javaTranslateFunctionName(MethodSlot function)
           
 StringWrapper javaTranslateMethodName()
           
static Cons javaTranslateMethodParameters(MethodSlot method)
           
static Cons javaTranslateMethodSignature(MethodSlot method)
           
static Cons javaTranslateParamTypeSpecifications(MethodSlot fn, StandardObject owner)
           
static java.lang.String javaYieldClassNameForFunction(MethodSlot function)
           
static StringWrapper javaYieldTranslatedClassAndFunctionNames(MethodSlot f, java.lang.Object[] MV_returnarray)
           
static boolean logFunctionCallP(MethodSlot method)
           
 int methodArgumentCount()
           
static boolean methodContainsAnchoredTypeP(MethodSlot method)
           
static boolean methodContainsUnknownTypeP(MethodSlot method)
           
 boolean methodEvaluateArgumentsP()
           
static boolean methodInlinableP(MethodSlot method)
           
 List methodInlinedFunctions()
           
static boolean methodMustBeEvaluableP(MethodSlot method)
           
static boolean methodNeedsEvaluatorWrapperP(MethodSlot method)
           
static boolean methodNeedsLispMacroP(MethodSlot method)
           
 List methodParameterDirections()
           
 List methodParameterNames()
           
 List methodParameterTypeSpecifiers()
           
 List methodReturnTypeSpecifiers()
           
 boolean methodStartupFunctionP()
           
static boolean mostSpecificMethodP(MethodSlot method)
           
static boolean nativeMethodP(MethodSlot slot)
           
static MethodSlot newMethodSlot()
           
static boolean passVariableArgumentsAsListP(MethodSlot method)
           
 void prettyPrintObject(OutputStream stream)
           
 Surrogate primaryType()
          Returns the primary type of self.
 void printDocumentation(OutputStream stream, boolean shortP)
           
 void printObject(java.io.PrintStream stream)
           
static Cons quoteArguments(MethodSlot method, Cons arguments)
           
static void registerAuxiliaryMethod(MethodSlot method, Slot reason)
           
 boolean setterP()
           
static boolean slotReaderP(MethodSlot method)
           
static boolean stringConcatenateMethodP(MethodSlot method)
           
static boolean stringifyMethodBodyP(MethodSlot method)
           
static Cons synthesizeMethodBody(MethodSlot method)
           
static boolean undefineConflictingDefinitionsP(MethodSlot newslot)
           
 void unfinalizeLocalSlot()
           
static boolean useDefconsmethodP(MethodSlot method)
           
static Symbol variableArgumentsName(MethodSlot method)
           
static StandardObject variableArgumentsType(MethodSlot method)
           
static StandardObject walkFirstArgumentToFunction(MethodSlot fnslot, Cons tree)
           
static Stella_Object walkInlineMethodCall(MethodSlot method, Cons walkedargs)
           
static boolean warnAboutFunctionShadowingSlotsP(MethodSlot function)
           
static Cons wrapBodyWithLogFunctionCallTree(MethodSlot method, Cons body)
           
static Cons yieldDefineStellaMethodObject(MethodSlot method, MethodSlot codemethod, MethodSlot wrappermethod)
           
static Cons yieldEvaluatorWrapperTree(MethodSlot method)
           
static StandardObject yieldListifiedVariableArgumentsType(MethodSlot method)
           
static Cons yieldMixinMethodTree(MethodSlot method, Stella_Class renamed_Class)
           
static Cons yieldVerbatimInlineCallTree(MethodSlot method, Cons walkedargs)
           
static boolean zeroArgumentFunctionP(MethodSlot method)
           
 
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, publicP, recordSlotHomeModule, registerSlotName, renames, slotDirectSubs, slotDirectSupers, slotNameConflictP, slotValueIsBareLiteralP, systemDefaultValue, 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, describeObject, 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

methodSetterP

public boolean methodSetterP

methodParameterNames

public List methodParameterNames

methodParameterTypeSpecifiers

public List methodParameterTypeSpecifiers

methodReturnTypeSpecifiers

public List methodReturnTypeSpecifiers

methodStringifiedSource

public java.lang.String methodStringifiedSource

methodCode

public java.lang.reflect.Method methodCode

functionCode

public java.lang.reflect.Method functionCode

methodFunctionP

public boolean methodFunctionP
Constructor Detail

MethodSlot

public MethodSlot()
Method Detail

newMethodSlot

public static MethodSlot newMethodSlot()

idlConstructorP

public static boolean idlConstructorP(MethodSlot method)

illegalIdlMethodP

public static boolean illegalIdlMethodP(MethodSlot methodslot)

idlYieldConstructorSignatureTree

public static Cons idlYieldConstructorSignatureTree(MethodSlot method)

idlYieldOperationSignatureTree

public static Cons idlYieldOperationSignatureTree(MethodSlot method)

idlTranslateConstructorName

public static StringWrapper idlTranslateConstructorName(MethodSlot constructor)

idlTranslateMethodParameters

public static Cons idlTranslateMethodParameters(MethodSlot method)

idlTranslateFunctionName

public static StringWrapper idlTranslateFunctionName(MethodSlot function)

idlMethodObjectIsOverloadedFunctionP

public static boolean idlMethodObjectIsOverloadedFunctionP(MethodSlot method)

javaYieldClassNameForFunction

public static java.lang.String javaYieldClassNameForFunction(MethodSlot function)

javaTranslateMethodName

public StringWrapper javaTranslateMethodName()

javaFunctionInDifferentModuleP

public static boolean javaFunctionInDifferentModuleP(MethodSlot method)

javaMethodObjectIsFunctionP

public static boolean javaMethodObjectIsFunctionP(MethodSlot method)

javaMethodObjectIsOverloadedFunctionP

public static boolean javaMethodObjectIsOverloadedFunctionP(MethodSlot method)

javaMethodObjectDefinedOnNativeTypeP

public static boolean javaMethodObjectDefinedOnNativeTypeP(MethodSlot method)

zeroArgumentFunctionP

public static boolean zeroArgumentFunctionP(MethodSlot method)

javaTranslateMethodParameters

public static Cons javaTranslateMethodParameters(MethodSlot method)

javaTranslateFunctionName

public static StringWrapper javaTranslateFunctionName(MethodSlot function)