Companion

object Companion

Functions

Link copied to clipboard
fun A_Method.addSealedArgumentsType(typeTuple: A_Tuple)

Add a seal to this A_Method. Behaves idempotently.

Link copied to clipboard
fun A_Method.addSemanticRestriction(restriction: A_SemanticRestriction)

Add a semantic restriction to this A_Method. Behaves idempotently.

Link copied to clipboard
fun A_Method.chooseBundle(currentModule: A_Module): A_Bundle

Of this method's bundles, choose one that is visible in the current module. The current module is determined by the current fiber's AvailLoader. If none are visible, choose one at random.

Link copied to clipboard
fun A_Method.definitionsAtOrBelow(argRestrictions: List<TypeRestriction>): List<A_Definition>

Answer all definitions of this A_Method that could match arguments conforming to the given types, i.e., the definitions that could be invoked at runtime for a call site with the given static types.

Link copied to clipboard
fun A_Method.filterByTypes(argTypes: List<A_Type>): List<A_Definition>

Answer all definitions of this A_Method that could match the given List of argument types.

Link copied to clipboard
fun A_Method.includesDefinition(definition: A_Definition): Boolean

Is the given definition present in this A_Method?

Link copied to clipboard
fun A_Method.lookupByTypesFromTuple(argumentTypeTuple: A_Tuple): A_Definition

Answer the definition of this A_Method that should be invoked for the given tuple of argument types. Use the testing tree to select a definition.

Link copied to clipboard
fun A_Method.lookupByValuesFromList(argumentList: List<A_BasicObject>): A_Definition

Answer the definition of this A_Method that should be invoked for the given values. Use the testing tree to select a definition. If lookup fails, then write an appropriate error code into errorCode and answer nil.

Link copied to clipboard
fun A_Method.membershipChanged()

The membership of this method has changed. Invalidate anything that depended on the previous membership, including any LookupTrees or dependent L2Chunks.

Link copied to clipboard
fun A_Method.methodAddBundle(bundle: A_Bundle)

Specify that the given message bundle names this A_Method.

Link copied to clipboard
fun A_Method.methodAddDefinition(definition: A_Definition)

Add the definition to this A_Method. Causes dependent chunks to be invalidated. Answer the A_DefinitionParsingPlans that were created for the new definition.

Link copied to clipboard
fun A_Method.methodRemoveBundle(bundle: A_Bundle)

As part of unloading a module, remove the bundle from this A_Method.

Link copied to clipboard
fun A_Method.removeDefinition(definition: A_Definition)

Remove the specified definition from this A_Method. Behaves idempotently.

Link copied to clipboard
fun A_Method.removeSealedArgumentsType(typeTuple: A_Tuple)

Remove a seal from this A_Method. Behaves idempotently.

Link copied to clipboard
fun A_Method.removeSemanticRestriction(restriction: A_SemanticRestriction)

Remove an extant semantic from this method. Behaves idempotently.

Link copied to clipboard
fun A_Method.updateStylers(updater: A_Set.() -> A_Set)

Atomically update this definition's set of stylers.

Properties

Link copied to clipboard
val A_Method.bundles: A_Set

Answer the tuple of message that name this A_Method.

Link copied to clipboard
val A_Method.definitionsTuple: A_Tuple

Answer a tuple that comprises all definitions of this A_Method.

Link copied to clipboard
val A_Method.isMethodEmpty: Boolean

Is this A_Method empty? A method is empty if it comprises no definitions, no semantic restrictions, and no seals.

Link copied to clipboard
var A_Method.lexer: A_Lexer

This method's lexer, or nil.

Link copied to clipboard
val A_Method.macrosTuple: A_Tuple

Answer the tuple of macro for this method. Their order is irrelevant, but fixed for use by the macro testing tree.

Link copied to clipboard
val A_Method.methodStylers: A_Set

This method's set of A_Stylers. A module must not define more than one styler on the same A_Method.

Link copied to clipboard
val A_Method.numArgs: Int

Answer the arity of this A_Method.

Link copied to clipboard
val A_Method.sealedArgumentsTypesTuple: A_Tuple

Answer a tuple that comprises all tuple types below which new definitions may no longer be added.

Link copied to clipboard
val A_Method.semanticRestrictions: A_Set

Answer the set of semantic restrictions which restrict the applicability and return type of this A_Method at relevant call sites.

Link copied to clipboard
val A_Method.testingTree: LookupTree<A_Definition, A_Tuple>

Answer this method's LookupTree, suitable for dispatching method invocations (i.e., finding out which A_Definition to actually invoke.