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 Symbol clMethodDefinitionOperator(MethodSlot method)
           
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, boolean qualifyP)
           
static Cons cppTranslateFunctionParameters(MethodSlot method)
           
static StringWrapper cppTranslateMethodName(MethodSlot method, boolean qualifyP)
           
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, StandardObject firstargtype)
           
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, 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, describeObject, 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

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)

javaTranslateParamTypeSpecifications

public static Cons javaTranslateParamTypeSpecifications(MethodSlot fn,
                                                        StandardObject owner)

javaYieldTranslatedClassAndFunctionNames

public static StringWrapper javaYieldTranslatedClassAndFunctionNames(MethodSlot f,
                                                                     java.lang.Object[] MV_returnarray)

javaTranslateMethodSignature

public static Cons javaTranslateMethodSignature(MethodSlot method)

javaSynchronizedMethodP

public static boolean javaSynchronizedMethodP(MethodSlot method)

javaFlotsamFunctionP

public static boolean javaFlotsamFunctionP(MethodSlot method)

cppNativeMethodP

public static boolean cppNativeMethodP(MethodSlot methodslot)

cppYieldConstructorSignatureTree

public static Cons cppYieldConstructorSignatureTree(MethodSlot method)

cppYieldMemberFuncSignatureTree

public static Cons cppYieldMemberFuncSignatureTree(MethodSlot method)

cppMethodObjectIsOverloadedFunctionP

public static boolean cppMethodObjectIsOverloadedFunctionP(MethodSlot method)

cppMethodObjectIsFunctionP

public static boolean cppMethodObjectIsFunctionP(MethodSlot method)

cppTranslateMethodName

public static StringWrapper cppTranslateMethodName(MethodSlot method,
                                                   boolean qualifyP)

cppTranslateFunctionName

public static StringWrapper cppTranslateFunctionName(MethodSlot function,
                                                     boolean qualifyP)

cppTranslateConstructorName

public static StringWrapper cppTranslateConstructorName(MethodSlot constructor)

slotReaderP

public static boolean slotReaderP(MethodSlot method)

cppTranslateFunctionParameters

public static Cons cppTranslateFunctionParameters(MethodSlot method)

printDocumentation

public void printDocumentation(OutputStream stream,
                               boolean shortP)

prettyPrintObject

public void prettyPrintObject(OutputStream stream)
Overrides:
prettyPrintObject in class Slot

clMethodDefinitionOperator

public static Symbol clMethodDefinitionOperator(MethodSlot method)

clTranslateMethodParameters

public static Cons clTranslateMethodParameters(MethodSlot method)

clYieldMethodTypeDeclarationTree

public static Cons clYieldMethodTypeDeclarationTree(MethodSlot method)

clYieldMethodReturnTypeDeclaration

public static Stella_Object clYieldMethodReturnTypeDeclaration(MethodSlot method)

clYieldMethodArglistTypeDeclarations

public static Cons clYieldMethodArglistTypeDeclarations(MethodSlot method)

clYieldMethodParameterTypeDeclarationTrees

public static Cons clYieldMethodParameterTypeDeclarationTrees(MethodSlot method)

useDefconsmethodP

public static boolean useDefconsmethodP(MethodSlot method)

createEvaluatorWrapperUnit

public static MethodSlot createEvaluatorWrapperUnit(MethodSlot method)

yieldEvaluatorWrapperTree

public static Cons yieldEvaluatorWrapperTree(MethodSlot method)

methodNeedsEvaluatorWrapperP

public static boolean methodNeedsEvaluatorWrapperP(MethodSlot method)

methodMustBeEvaluableP

public static boolean methodMustBeEvaluableP(MethodSlot method)

commandP

public static boolean commandP(MethodSlot method)
Return true if method is an evaluable command.

Parameters:
method -
Returns:
boolean

methodNeedsLispMacroP

public static boolean methodNeedsLispMacroP(MethodSlot method)

methodStartupFunctionP

public boolean methodStartupFunctionP()

yieldMixinMethodTree

public static Cons yieldMixinMethodTree(MethodSlot method,
                                        Stella_Class renamed_Class)

registerAuxiliaryMethod

public static void registerAuxiliaryMethod(MethodSlot method,
                                           Slot reason)

yieldVerbatimInlineCallTree

public static Cons yieldVerbatimInlineCallTree(MethodSlot method,
                                               Cons walkedargs)

walkInlineMethodCall

public static Stella_Object walkInlineMethodCall(MethodSlot method,
                                                 Cons walkedargs,
                                                 StandardObject firstargtype)

inlinableMethodBody

public static Stella_Object inlinableMethodBody(MethodSlot method)

mostSpecificMethodP

public static boolean mostSpecificMethodP(MethodSlot method)

methodInlinableP

public static boolean methodInlinableP(MethodSlot method)

inlineMethodCallP

public static boolean inlineMethodCallP(MethodSlot method)

walkFirstArgumentToFunction

public static StandardObject walkFirstArgumentToFunction(MethodSlot fnslot,
                                                         Cons tree)

quoteArguments

public static Cons quoteArguments(MethodSlot method,
                                  Cons arguments)

finishWalkingCallSlotTree

public Stella_Object finishWalkingCallSlotTree(Cons tree,
                                               StandardObject firstargtype,
                                               java.lang.Object[] MV_returnarray)
Overrides:
finishWalkingCallSlotTree in class Slot

yieldListifiedVariableArgumentsType

public static StandardObject yieldListifiedVariableArgumentsType(MethodSlot method)

variableArgumentsName

public static Symbol variableArgumentsName(MethodSlot method)

variableArgumentsType

public static StandardObject variableArgumentsType(MethodSlot method)

passVariableArgumentsAsListP

public static boolean passVariableArgumentsAsListP(MethodSlot method)

stringConcatenateMethodP

public static boolean stringConcatenateMethodP(MethodSlot method)

compatibleRealMethods

public static int compatibleRealMethods(MethodSlot prototypemethod,
                                        Surrogate abstracttype,
                                        java.lang.Object[] MV_returnarray)

computeMostGeneralReturnType

public static StandardObject computeMostGeneralReturnType(MethodSlot method,
                                                          StandardObject returntype)

wrapBodyWithLogFunctionCallTree

public static Cons wrapBodyWithLogFunctionCallTree(MethodSlot method,
                                                   Cons body)

logFunctionCallP

public static boolean logFunctionCallP(MethodSlot method)

stringifyMethodBodyP

public static boolean stringifyMethodBodyP(MethodSlot method)

finalizeAuxiliaryMethod

public static void finalizeAuxiliaryMethod(MethodSlot method)

cppConstructorP

public static boolean cppConstructorP(MethodSlot method)

methodContainsAnchoredTypeP

public static boolean methodContainsAnchoredTypeP(MethodSlot method)

methodContainsUnknownTypeP

public static boolean methodContainsUnknownTypeP(MethodSlot method)

nativeMethodP

public static boolean nativeMethodP(MethodSlot slot)

undefineConflictingDefinitionsP

public static boolean undefineConflictingDefinitionsP(MethodSlot newslot)

destroyFunction

public static void destroyFunction(MethodSlot function)

attachFunction

public static MethodSlot attachFunction(MethodSlot newfunction)

computeReturnTypeSpec

public StandardObject computeReturnTypeSpec(StandardObject firstargtype)
Overrides:
computeReturnTypeSpec in class Slot

arity

public int arity()
Overrides:
arity in class Relation

methodArgumentCount

public int methodArgumentCount()
Overrides:
methodArgumentCount in class Slot

destroyMethod

public static void destroyMethod(MethodSlot self)

unfinalizeLocalSlot

public void unfinalizeLocalSlot()
Overrides:
unfinalizeLocalSlot in class Slot

helpFinalizeLocalSlot

public void helpFinalizeLocalSlot()
Overrides:
helpFinalizeLocalSlot in class Slot

finalizeSlotTypeComputations

public void finalizeSlotTypeComputations()
Overrides:
finalizeSlotTypeComputations in class Slot

synthesizeMethodBody

public static Cons synthesizeMethodBody(MethodSlot method)

yieldDefineStellaMethodObject

public static Cons yieldDefineStellaMethodObject(MethodSlot method,
                                                 MethodSlot codemethod,
                                                 MethodSlot wrappermethod)

attachMethodSlotToOwner

public static MethodSlot attachMethodSlotToOwner(MethodSlot newmethod)

incorporateFirstInputParameter

public static void incorporateFirstInputParameter(MethodSlot method)

incorporateInputParameters

public static void incorporateInputParameters(MethodSlot method,
                                              Cons parameters)

identicalSignaturesP

public static boolean identicalSignaturesP(MethodSlot method1,
                                           MethodSlot method2)

conformingSignaturesP

public boolean conformingSignaturesP(Slot superslot)
Overrides:
conformingSignaturesP in class Slot

warnAboutFunctionShadowingSlotsP

public static boolean warnAboutFunctionShadowingSlotsP(MethodSlot function)

printObject

public void printObject(java.io.PrintStream stream)
Overrides:
printObject in class Slot

accessMethodSlotSlotValue

public static Stella_Object accessMethodSlotSlotValue(MethodSlot self,
                                                      Symbol slotname,
                                                      Stella_Object value,
                                                      boolean setvalueP)

methodEvaluateArgumentsP

public boolean methodEvaluateArgumentsP()

methodInlinedFunctions

public List methodInlinedFunctions()

methodReturnTypeSpecifiers

public List methodReturnTypeSpecifiers()

methodParameterDirections

public List methodParameterDirections()

methodParameterTypeSpecifiers

public List methodParameterTypeSpecifiers()

methodParameterNames

public List methodParameterNames()

setterP

public boolean setterP()

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