ASTClass<T> class abstract

AST base of a Class.

Inheritance
Implementers

Constructors

ASTClass(String name, ASTType<T> type, ASTBlock? parentBlock)

Properties

children → Iterable<ASTNode>
The children nodes of this node.
no setterinherited
constructors → List<ASTConstructorSet>
no setter
constructorsNames → List<String>
no setter
descendantChildren → List<ASTNode>
Return the children and it's descendant children (unmodifiable).
no setterinherited
fields → List<ASTClassField>
no setter
fieldsNames → List<String>
no setter
functions → List<ASTFunctionSet>
no setterinherited
functionsNames → List<String>
no setterinherited
getter → List<ASTGetterDeclaration>
no setterinherited
getterNames → List<String>
no setterinherited
hashCode → int
The hash code for this object.
no setterinherited
name → String
final
parentBlock ↔ ASTBlock?
getter/setter pairinherited
parentNode → ASTNode?
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
setter → List<ASTSetterDeclaration>
no setterinherited
setterNames → List<String>
no setterinherited
statements → List<ASTStatement>
no setterinherited
staticAccessor ↔ ASTClassStaticAccessor<ASTClass<T>, T>
latefinal
superClass → ASTClass?
The resolved superclass this class extends, or null if none. Overridden by ASTClassNormal (which carries the extends name).
no setter
type → ASTType<T>
final

Methods

addAllFunctions(Iterable<ASTFunctionDeclaration> fs) → void
inherited
addAllGetters(Iterable<ASTGetterDeclaration> gs) → void
inherited
addAllSetters(Iterable<ASTSetterDeclaration> ss) → void
inherited
addAllStatements(Iterable<ASTStatement> statements) → void
inherited
addFunction(ASTFunctionDeclaration f) → void
inherited
addGetter(ASTGetterDeclaration g) → void
inherited
addSetter(ASTSetterDeclaration s) → void
inherited
addStatement(ASTStatement statement) → void
inherited
associateToType(ASTTypedNode node) → void
inherited
cacheDescendantChildren() → void
Mark that this node can cache its descendantChildren.
inherited
containsFunctionWithName(String name, {bool caseInsensitive = false}) → bool
inherited
createContext(VMTypeResolver? typeResolver, [VMContext? parentContext]) → VMClassContext
override
createInstance(VMClassContext context, ASTRunStatus runStatus) → FutureOr<ASTValue<T>?>
defineRunContext(VMContext parentContext) → VMContext
inherited
execute(String entryFunctionName, List? positionalParameters, Map? namedParameters, {ApolloImportManager? importManager, ApolloExternalFunctionMapper? externalFunctionMapper, VMObject? classInstanceObject, Map<String, ASTValue>? classInstanceFields, VMTypeResolver? typeResolver}) → FutureOr<ASTValue>
inherited
getConstructor(String fName, ASTFunctionSignature? parametersSignature, VMContext context, {bool caseInsensitive = false}) → ASTClassConstructorDeclaration?
getField(String name, {bool caseInsensitive = false}) → ASTClassField?
override
getFieldsMap({VMContext? context, Map<String, ASTValue>? fieldOverwrite}) → FutureOr<Map<String, Object>>
Returns a Map<String,Object> with the fields names and values.
getFunction(String fName, ASTFunctionSignature parametersSignature, VMContext context, {bool caseInsensitive = false}) → ASTInvocableDeclaration<dynamic, ASTParameterDeclaration, ASTParametersDeclaration<ASTParameterDeclaration>>?
Resolves a function/constructor visible from inside this class. Checks this class's own functions, then the superclass chain (inherited methods), then falls back to the enclosing ASTRoot (reached via the parentNode chain set by ASTRoot.resolveNode) so a method can instantiate sibling classes (their constructors) and call top-level functions — the class-method execution context is rooted at the class, not the program root.
override
getFunctionReturnType<T>(String name, ASTFunctionSignature parametersTypes, VMContext context) → ASTType<T>?
inherited
getFunctionWithName(String name, {bool caseInsensitive = false}) → ASTFunctionSet?
inherited
getFunctionWithParameters(String entryFunctionName, List? positionalParameters, Map? namedParameters, {ApolloImportManager? importManager, ApolloExternalFunctionMapper? externalFunctionMapper, VMTypeResolver? typeResolver}) → FutureOr<ASTInvocableDeclaration<dynamic, ASTParameterDeclaration, ASTParametersDeclaration<ASTParameterDeclaration>>?>
inherited
getGetter(String fName, VMContext context, {bool caseInsensitive = false}) → ASTGetterDeclaration?
Resolves a getter visible from this class: own getters first, then the superclass chain (inherited getters).
override
getGetterWithName(String name, {bool caseInsensitive = false}) → ASTGetterDeclaration?
inherited
getInstanceFieldValue(VMContext context, ASTRunStatus runStatus, ASTValue<T> instance, String fieldName, {bool caseInsensitive = false}) → FutureOr<ASTValue?>
getNodeIdentifier(String name, {ASTNode? requester}) → ASTNode?
inherited
getSetter(String fName, VMContext context, {bool caseInsensitive = false}) → ASTSetterDeclaration?
Resolves a setter visible from this class: own setters first, then the superclass chain (inherited setters).
override
getSetterWithName(String name, {bool caseInsensitive = false}) → ASTSetterDeclaration?
inherited
initializeInstance(VMClassContext context, ASTRunStatus runStatus, ASTValue<T> instance) → FutureOr<void>
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
removeInstanceFieldValue(VMContext context, ASTRunStatus runStatus, ASTValue<T> instance, String fieldName, {bool caseInsensitive = false}) → FutureOr<ASTValue?>
resolveNode(ASTNode? parentNode) → void
override
resolveNodeConstructors(ASTNode? parentNode) → void
resolveNodeFields(ASTNode? parentNode) → void
resolveRuntimeType(VMContext context, ASTNode? node) → FutureOr<ASTType>
inherited
resolveType(VMContext? context) → ASTType
inherited
run(VMContext parentContext, ASTRunStatus runStatus) → FutureOr<ASTValue>
inherited
set(ASTBlock? other) → void
inherited
setInstanceByMap(VMClassContext context, ASTRunStatus runStatus, ASTValue<T> instance, Map<String, ASTValue> value, {bool caseInsensitive = false}) → FutureOr<void>
setInstanceByValue(VMClassContext context, ASTRunStatus runStatus, ASTValue<T> instance, ASTValue<T> value) → FutureOr<void>
setInstanceByVMObject(VMClassContext context, ASTRunStatus runStatus, ASTValue<T> instance, VMObject value) → FutureOr<void>
setInstanceFieldValue(VMContext context, ASTRunStatus runStatus, ASTValue<T> instance, String fieldName, ASTValue value, {bool caseInsensitive = false}) → FutureOr<ASTValue?>
toString() → String
A string representation of this object.
override

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

buildFieldsMap(Map<String, ASTClassField> fields, {VMContext? context, Map<String, ASTValue>? fieldOverwrite}) → FutureOr<Map<String, Object>>
Builds a Map<String,Object> with the fields names and values.