SpecialMethodAtom

enum SpecialMethodAtom : Enum<MethodDescriptor.SpecialMethodAtom>

SpecialMethodAtom enumerates atoms that are known to the virtual machine and that correspond to specific primitive invocations. Multiple primitives may be provided to make the associated method polymorphic.

Parameters

name

The name of the method or macro being defined.

prefixFunctions

A List of prefix functions to provide to the macro definition if this is a macro being defined, or null to indicate this is a non-macro. Note that if there are multiple primitives provided in the variadic argument below, each will use the same list of prefix functions.

primitives

The primitive to wrap into a method or macro definition. Note that multiple overrides may be provided in this variadic argument.

Entries

Link copied to clipboard
MODULE_HEADER("Module…#§" + "«Versions«…#§‡,»»" + ('«' + ("«Extends|Uses»!" + '«' + "…#" + "«(«…#§‡,»)»" + "«=(««-»?…#«→…#»?‡,»,⁇«`…»?)»" + "‡," + '»') + '»') + "«Names«…#‡,»»" + "«Entries«…#‡,»»" + "«Pragma«…#‡,»»" + "Body", listOf( P_ModuleHeaderPrefixCheckModuleName, P_ModuleHeaderPrefixCheckModuleVersion, P_ModuleHeaderPrefixCheckImportVersion), P_ModuleHeaderPseudoMacro)

The special atom for parsing module headers.

Link copied to clipboard
SET_STYLER("vm add styler of bundle_is_", P_SetStylerFunction)
Link copied to clipboard
GET_RETHROW_JAVA_EXCEPTION("vm get rethrow in Avail hook", P_GetRaiseJavaExceptionInAvailFunction)

The special atom for rethrowing a Java exception in Avail.

Link copied to clipboard
RESUME_CONTINUATION("vm resume_", P_ResumeContinuation)

The special atom for resuming a continuation.

Link copied to clipboard
SEMANTIC_RESTRICTION("vm semantic restriction_is_", P_AddSemanticRestrictionForAtom)

The special atom for adding semantic restrictions.

Link copied to clipboard
SEAL("vm seal_at_", P_SealMethodByAtom)

The special atom for sealing methods.

Link copied to clipboard
CREATE_MODULE_VARIABLE("vm in_create_with variable type_«constant»?«stably computed»?", P_PrivateCreateModuleVariable)

The special atom for creating a module variable/constant.

Link copied to clipboard
RECORD_TYPE_NAME("vm record type_name_", P_RecordNewTypeName)

The special atom for recording a type's name.

Link copied to clipboard
PUBLISH_ALL_ATOMS_FROM_OTHER_MODULE("vm publish all atoms from modules named_(public=_)", P_DeclareAllAtomsExportedFromAnotherModule)

The special atom for publishing all atoms imported from a module.

Link copied to clipboard
PUBLISH_NEW_NAME("vm publish new atom_", P_PublishName)

The special atom for publishing an atom created in the module body.

Link copied to clipboard
PUBLISH_ATOMS("vm publish atom set_(public=_)", P_DeclareAllExportedAtoms)

The special atom for publishing atoms.

Link copied to clipboard
CREATE_EXPLICIT_SUBCLASS_ATOM("vm create explicit subclass atom_", P_CreateExplicitSubclassAtom)

The special atom for creating explicit-subclass atoms.

Link copied to clipboard
CREATE_HERITABLE_ATOM("vm create heritable atom_", P_CreateFiberHeritableAtom)

The special atom for creating fiber-heritable atoms.

Link copied to clipboard
CREATE_ATOM("vm create atom_", P_CreateAtom)

The special atom for creating ordinary atoms.

Link copied to clipboard
SET_COMPILED_CODE_NAME("vm set name of raw function_to_", P_SetCompiledCodeName)

The special atom for explicitly attaching a name to compiled code. Note that some defining methods also have this effect implicitly.

Link copied to clipboard
METHOD_DEFINER("vm method_is_«styled by_»?", P_SimpleMethodDeclaration, P_MethodDeclarationFromAtom)

The special atom for defining methods.

Link copied to clipboard
MACRO_DEFINER("vm macro_is«_,»_«styled by_»?", P_SimpleMacroDeclaration, P_SimpleMacroDefinitionForAtom)

The special atom for defining macros.

Link copied to clipboard
LEXER_DEFINER("vm lexer_filter is_body is_", P_SimpleLexerDefinitionForAtom)

The special atom for defining lexers.

Link copied to clipboard
GRAMMATICAL_RESTRICTION("vm grammatical restriction_is_", P_GrammaticalRestrictionFromAtoms)

The special atom for adding grammatical restrictions.

Link copied to clipboard
GET_VARIABLE("vm↓_", P_GetValue)

The special atom for getting a variable's value.

Link copied to clipboard
FORWARD_DEFINER("vm forward_for_", P_ForwardMethodDeclarationForAtom)

The special atom for forward-defining methods.

Link copied to clipboard
DECLARE_STRINGIFIER("vm stringifier:=_", P_DeclareStringificationAtom)

The special atom for declaring the stringifier atom.

Link copied to clipboard
CREATE_LITERAL_TOKEN("vm create literal token_,_,_,_«from phrase_»?", P_CreateLiteralToken)

The special atom for creating a literal token.

Link copied to clipboard
CREATE_LITERAL_PHRASE("vm create literal phrase_", P_CreateLiteralExpression)

The special atom for creating a literal phrase.

Link copied to clipboard
CONTINUATION_CALLER("vm_'s caller", P_ContinuationCaller)

The special atom for extracting the caller of a continuation.

Link copied to clipboard
ATOM_REMOVE_PROPERTY("vm atom_remove property_", P_AtomRemoveProperty)

The special atom for removing properties from atoms.

Link copied to clipboard
ATOM_PROPERTY("vm atom_at property_put_", P_AtomSetProperty)

The special atom for adding properties to atoms.

Link copied to clipboard
APPLY("vm function apply_with tuple_", P_InvokeWithTuple)

The special atom for function application.

Link copied to clipboard
ALIAS("vm alias new name_to_", P_Alias)

The special atom for creating aliases of atoms.

Link copied to clipboard
ADD_UNLOADER("vm on unload_", P_AddUnloadFunction)

The special atom for adding a module unload function.

Link copied to clipboard
REMOVE_FROM_MAP_VARIABLE("vm_↑-=_", P_AtomicRemoveFromMap)

The special atom for removing from a map inside a variable.

Link copied to clipboard
ADD_TO_MAP_VARIABLE("vm_↑[_]:=_", P_AtomicAddToMap)

The special atom for adding to a map inside a variable.

Link copied to clipboard
ABSTRACT_DEFINER("vm abstract_for_", P_AbstractMethodDeclarationForAtom)

The special atom for defining abstract methods.

Link copied to clipboard
CRASH("vm crash:_", P_EmergencyExit)

The special atom for failing during bootstrap. Must be first.

Properties

Link copied to clipboard
val atom: A_Atom

The special atom.

Link copied to clipboard
val bundle: A_Bundle

The special atom's message bundle.

Link copied to clipboard
val name: String
Link copied to clipboard
val ordinal: Int