InterpreterVisitor class
Main visitor that walks the AST and interprets the code. Uses a two-pass approach (DeclarationVisitor first).
- Inheritance
- Available extensions
Constructors
- InterpreterVisitor({required Environment globalEnvironment, required ModuleLoader moduleLoader, Uri? initiallibrary})
Properties
- currentAsyncState ↔ AsyncExecutionState?
-
getter/setter pair
- currentFunction ↔ InterpretedFunction?
-
getter/setter pair
- environment ↔ Environment
-
getter/setter pair
- globalEnvironment → Environment
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- isLazySyncGeneratorContext ↔ bool
-
For lazy sync* generators: when true, yield throws SyncYieldSuspension
to pause execution and bubble up through the call stack.
getter/setter pair
- moduleLoader → ModuleLoader
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
syncGeneratorValues
↔ List<
Object?> ? -
For sync* generators: the list to collect yielded values into.
When non-null, yield statements add directly to this list.
getter/setter pair
Methods
-
computeCompoundValue(
Object? currentValue, Object? rhsValue, TokenType operatorType) → Object? -
executeBlock(
List< Statement> statements, Environment blockEnvironment) → Object? -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
stringify(
Object? value) → String -
toBridgedInstance(
Object? nativeObject, {String? methodName}) → (BridgedInstance< Object> ?, bool) -
Available on InterpreterVisitor, provided by the InterpreterVisitorExtension extension
-
toString(
) → String -
A string representation of this object.
inherited
-
visitAdjacentStrings(
AdjacentStrings node) → Object? -
inherited
-
visitAnnotatedNode(
AnnotatedNode node) → Object? -
inherited
-
visitAnnotation(
Annotation node) → Object? -
inherited
-
visitArgumentList(
ArgumentList node) → Object? -
inherited
-
visitAsExpression(
AsExpression node) → Object? -
override
-
visitAssertInitializer(
AssertInitializer node) → Object? -
inherited
-
visitAssertStatement(
AssertStatement node) → Object? -
override
-
visitAssignedVariablePattern(
AssignedVariablePattern node) → Object? -
inherited
-
visitAssignmentExpression(
AssignmentExpression node) → Object? -
override
-
visitAwaitExpression(
AwaitExpression node) → Object? -
override
-
visitBinaryExpression(
BinaryExpression node) → Object? -
override
-
visitBlock(
Block node) → Object? -
override
-
visitBlockClassBody(
BlockClassBody node) → Object? -
inherited
-
visitBlockFunctionBody(
BlockFunctionBody node) → Object? -
inherited
-
visitBooleanLiteral(
BooleanLiteral node) → Object? -
override
-
visitBreakStatement(
BreakStatement node) → Object? -
override
-
visitCascadeExpression(
CascadeExpression node) → Object? -
override
-
visitCaseClause(
CaseClause node) → Object? -
inherited
-
visitCastPattern(
CastPattern node) → Object? -
inherited
-
visitCatchClause(
CatchClause node) → Object? -
inherited
-
visitCatchClauseParameter(
CatchClauseParameter node) → Object? -
inherited
-
visitClassBody(
ClassBody node) → Object? -
inherited
-
visitClassDeclaration(
ClassDeclaration node) → Object? -
override
-
visitClassMember(
ClassMember node) → Object? -
inherited
-
visitClassNamePart(
ClassNamePart node) → Object? -
inherited
-
visitClassTypeAlias(
ClassTypeAlias node) → Object? -
inherited
-
visitCollectionElement(
CollectionElement node) → Object? -
inherited
-
visitCombinator(
Combinator node) → Object? -
inherited
-
visitComment(
Comment node) → Object? -
inherited
-
visitCommentReferableExpression(
CommentReferableExpression node) → Object? -
inherited
-
visitCommentReference(
CommentReference node) → Object? -
inherited
-
visitCompilationUnit(
CompilationUnit node) → Object? -
override
-
visitCompilationUnitMember(
CompilationUnitMember node) → Object? -
inherited
-
visitConditionalExpression(
ConditionalExpression node) → Object? -
override
-
visitConfiguration(
Configuration node) → Object? -
inherited
-
visitConstantPattern(
ConstantPattern node) → Object? -
inherited
-
visitConstructorDeclaration(
ConstructorDeclaration node) → Object? -
inherited
-
visitConstructorFieldInitializer(
ConstructorFieldInitializer node) → Object? -
inherited
-
visitConstructorInitializer(
ConstructorInitializer node) → Object? -
inherited
-
visitConstructorName(
ConstructorName node) → Object? -
inherited
-
visitConstructorReference(
ConstructorReference node) → Object? -
override
-
visitConstructorSelector(
ConstructorSelector node) → Object? -
inherited
-
visitContinueStatement(
ContinueStatement node) → Object? -
override
-
visitDartPattern(
DartPattern node) → Object? -
inherited
-
visitDeclaration(
Declaration node) → Object? -
inherited
-
visitDeclaredIdentifier(
DeclaredIdentifier node) → Object? -
inherited
-
visitDeclaredVariablePattern(
DeclaredVariablePattern node) → Object? -
inherited
-
visitDefaultFormalParameter(
DefaultFormalParameter node) → Object? -
inherited
-
visitDirective(
Directive node) → Object? -
inherited
-
visitDoStatement(
DoStatement node) → Object? -
override
-
visitDotShorthandConstructorInvocation(
DotShorthandConstructorInvocation node) → Object? -
inherited
-
visitDotShorthandInvocation(
DotShorthandInvocation node) → Object? -
inherited
-
visitDotShorthandPropertyAccess(
DotShorthandPropertyAccess node) → Object? -
inherited
-
visitDottedName(
DottedName node) → Object? -
inherited
-
visitDoubleLiteral(
DoubleLiteral node) → Object? -
override
-
visitEmptyClassBody(
EmptyClassBody node) → Object? -
inherited
-
visitEmptyFunctionBody(
EmptyFunctionBody node) → Object? -
inherited
-
visitEmptyStatement(
EmptyStatement node) → Object? -
override
-
visitEnumBody(
EnumBody node) → Object? -
inherited
-
visitEnumConstantArguments(
EnumConstantArguments node) → Object? -
inherited
-
visitEnumConstantDeclaration(
EnumConstantDeclaration node) → Object? -
inherited
-
visitEnumDeclaration(
EnumDeclaration node) → Object? -
override
-
visitExportDirective(
ExportDirective node) → Object? -
inherited
-
visitExpression(
Expression node) → Object? -
inherited
-
visitExpressionFunctionBody(
ExpressionFunctionBody node) → Object? -
inherited
-
visitExpressionStatement(
ExpressionStatement node) → Object? -
override
-
visitExtendsClause(
ExtendsClause node) → Object? -
inherited
-
visitExtensionDeclaration(
ExtensionDeclaration node) → Object? -
override
-
visitExtensionOnClause(
ExtensionOnClause node) → Object? -
inherited
-
visitExtensionOverride(
ExtensionOverride node) → Object? -
inherited
-
visitExtensionTypeDeclaration(
ExtensionTypeDeclaration node) → Object? -
Lim-1 FIX: Handle extension type declarations (Dart 3.3+)
override
-
visitFieldDeclaration(
FieldDeclaration node) → Object? -
inherited
-
visitFieldFormalParameter(
FieldFormalParameter node) → Object? -
inherited
-
visitForEachParts(
ForEachParts node) → Object? -
inherited
-
visitForEachPartsWithDeclaration(
ForEachPartsWithDeclaration node) → Object? -
inherited
-
visitForEachPartsWithIdentifier(
ForEachPartsWithIdentifier node) → Object? -
inherited
-
visitForEachPartsWithPattern(
ForEachPartsWithPattern node) → Object? -
inherited
-
visitForElement(
ForElement node) → Object? -
inherited
-
visitForLoopParts(
ForLoopParts node) → Object? -
inherited
-
visitFormalParameter(
FormalParameter node) → Object? -
inherited
-
visitFormalParameterList(
FormalParameterList node) → Object? -
inherited
-
visitForParts(
ForParts node) → Object? -
inherited
-
visitForPartsWithDeclarations(
ForPartsWithDeclarations node) → Object? -
inherited
-
visitForPartsWithExpression(
ForPartsWithExpression node) → Object? -
inherited
-
visitForPartsWithPattern(
ForPartsWithPattern node) → Object? -
inherited
-
visitForStatement(
ForStatement node) → Object? -
override
-
visitFunctionBody(
FunctionBody node) → Object? -
inherited
-
visitFunctionDeclaration(
FunctionDeclaration node) → Object? -
override
-
visitFunctionDeclarationStatement(
FunctionDeclarationStatement node) → Object? -
inherited
-
visitFunctionExpression(
FunctionExpression node) → Object? -
override
-
visitFunctionExpressionInvocation(
FunctionExpressionInvocation node) → Object? -
override
-
visitFunctionReference(
FunctionReference node) → Object? -
override
-
visitFunctionTypeAlias(
FunctionTypeAlias node) → Object? -
inherited
-
visitFunctionTypedFormalParameter(
FunctionTypedFormalParameter node) → Object? -
inherited
-
visitGenericFunctionType(
GenericFunctionType node) → Object? -
inherited
-
visitGenericTypeAlias(
GenericTypeAlias node) → Object? -
inherited
-
visitGuardedPattern(
GuardedPattern node) → Object? -
inherited
-
visitHideCombinator(
HideCombinator node) → Object? -
inherited
-
visitIdentifier(
Identifier node) → dynamic -
override
-
visitIfElement(
IfElement node) → Object? -
inherited
-
visitIfStatement(
IfStatement node) → Object? -
override
-
visitImplementsClause(
ImplementsClause node) → Object? -
inherited
-
visitImplicitCallReference(
ImplicitCallReference node) → Object? -
inherited
-
visitImportDirective(
ImportDirective node) → Object? -
override
-
visitImportPrefixReference(
ImportPrefixReference node) → Object? -
inherited
-
visitIndexExpression(
IndexExpression node) → Object? -
override
-
visitInstanceCreationExpression(
InstanceCreationExpression node) → Object? -
override
-
visitIntegerLiteral(
IntegerLiteral node) → Object? -
override
-
visitInterpolationElement(
InterpolationElement node) → Object? -
inherited
-
visitInterpolationExpression(
InterpolationExpression node) → Object? -
inherited
-
visitInterpolationString(
InterpolationString node) → Object? -
inherited
-
visitInvocationExpression(
InvocationExpression node) → Object? -
inherited
-
visitIsExpression(
IsExpression node) → Object? -
override
-
visitLabel(
Label node) → Object? -
inherited
-
visitLabeledStatement(
LabeledStatement node) → Object? -
override
-
visitLibraryDirective(
LibraryDirective node) → Object? -
inherited
-
visitLibraryIdentifier(
LibraryIdentifier node) → Object? -
inherited
-
visitListLiteral(
ListLiteral node) → Object? -
override
-
visitListPattern(
ListPattern node) → Object? -
inherited
-
visitLiteral(
Literal node) → Object? -
inherited
-
visitLogicalAndPattern(
LogicalAndPattern node) → Object? -
inherited
-
visitLogicalOrPattern(
LogicalOrPattern node) → Object? -
inherited
-
visitMapLiteralEntry(
MapLiteralEntry node) → Object? -
inherited
-
visitMapPattern(
MapPattern node) → Object? -
inherited
-
visitMapPatternEntry(
MapPatternEntry node) → Object? -
inherited
-
visitMethodDeclaration(
MethodDeclaration node) → Object? -
inherited
-
visitMethodInvocation(
MethodInvocation node) → Object? -
override
-
visitMixinDeclaration(
MixinDeclaration node) → Object? -
override
-
visitMixinOnClause(
MixinOnClause node) → Object? -
inherited
-
visitNamedCompilationUnitMember(
NamedCompilationUnitMember node) → Object? -
inherited
-
visitNamedExpression(
NamedExpression node) → Object? -
inherited
-
visitNamedType(
NamedType node) → Object? -
inherited
-
visitNamespaceDirective(
NamespaceDirective node) → Object? -
inherited
-
visitNameWithTypeParameters(
NameWithTypeParameters node) → Object? -
inherited
-
visitNativeClause(
NativeClause node) → Object? -
inherited
-
visitNativeFunctionBody(
NativeFunctionBody node) → Object? -
inherited
-
visitNode(
AstNode node) → Object? -
inherited
-
visitNormalFormalParameter(
NormalFormalParameter node) → Object? -
inherited
-
visitNullAssertPattern(
NullAssertPattern node) → Object? -
inherited
-
visitNullAwareElement(
NullAwareElement node) → Object? -
inherited
-
visitNullCheckPattern(
NullCheckPattern node) → Object? -
inherited
-
visitNullLiteral(
NullLiteral node) → Object? -
override
-
visitObjectPattern(
ObjectPattern node) → Object? -
inherited
-
visitParenthesizedExpression(
ParenthesizedExpression node) → Object? -
override
-
visitParenthesizedPattern(
ParenthesizedPattern node) → Object? -
inherited
-
visitPartDirective(
PartDirective node) → Object? -
inherited
-
visitPartOfDirective(
PartOfDirective node) → Object? -
inherited
-
visitPatternAssignment(
PatternAssignment node) → Object? -
override
-
visitPatternField(
PatternField node) → Object? -
inherited
-
visitPatternFieldName(
PatternFieldName node) → Object? -
inherited
-
visitPatternVariableDeclaration(
PatternVariableDeclaration node) → Object? -
inherited
-
visitPatternVariableDeclarationStatement(
PatternVariableDeclarationStatement node) → Object? -
override
-
visitPostfixExpression(
PostfixExpression node) → Object? -
override
-
visitPrefixedIdentifier(
PrefixedIdentifier node) → Object? -
override
-
visitPrefixExpression(
PrefixExpression node) → Object? -
override
-
visitPrimaryConstructorDeclaration(
PrimaryConstructorDeclaration node) → Object? -
inherited
-
visitPrimaryConstructorName(
PrimaryConstructorName node) → Object? -
inherited
-
visitPropertyAccess(
PropertyAccess node) → Object? -
override
-
visitRecordLiteral(
RecordLiteral node) → Object? -
override
-
visitRecordPattern(
RecordPattern node) → Object? -
inherited
-
visitRecordTypeAnnotation(
RecordTypeAnnotation node) → Object? -
inherited
-
visitRecordTypeAnnotationField(
RecordTypeAnnotationField node) → Object? -
inherited
-
visitRecordTypeAnnotationNamedField(
RecordTypeAnnotationNamedField node) → Object? -
inherited
-
visitRecordTypeAnnotationNamedFields(
RecordTypeAnnotationNamedFields node) → Object? -
inherited
-
visitRecordTypeAnnotationPositionalField(
RecordTypeAnnotationPositionalField node) → Object? -
inherited
-
visitRedirectingConstructorInvocation(
RedirectingConstructorInvocation node) → Object? -
inherited
-
visitRelationalPattern(
RelationalPattern node) → Object? -
inherited
-
visitRepresentationConstructorName(
RepresentationConstructorName node) → Object? -
inherited
-
visitRepresentationDeclaration(
RepresentationDeclaration node) → Object? -
inherited
-
visitRestPatternElement(
RestPatternElement node) → Object? -
inherited
-
visitRethrowExpression(
RethrowExpression node) → Object? -
override
-
visitReturnStatement(
ReturnStatement node) → Object? -
override
-
visitScriptTag(
ScriptTag node) → Object? -
inherited
-
visitSetOrMapLiteral(
SetOrMapLiteral node) → Object? -
override
-
visitShowCombinator(
ShowCombinator node) → Object? -
inherited
-
visitSimpleFormalParameter(
SimpleFormalParameter node) → Object? -
inherited
-
visitSimpleIdentifier(
SimpleIdentifier node) → Object? -
override
-
visitSimpleStringLiteral(
SimpleStringLiteral node) → Object? -
inherited
-
visitSingleStringLiteral(
SingleStringLiteral node) → Object? -
inherited
-
visitSpreadElement(
SpreadElement node) → Object? -
inherited
-
visitStatement(
Statement node) → Object? -
inherited
-
visitStringInterpolation(
StringInterpolation node) → Object? -
override
-
visitStringLiteral(
StringLiteral node) → Object? -
override
-
visitSuperConstructorInvocation(
SuperConstructorInvocation node) → Object? -
override
-
visitSuperExpression(
SuperExpression node) → Object? -
override
-
visitSuperFormalParameter(
SuperFormalParameter node) → Object? -
inherited
-
visitSwitchCase(
SwitchCase node) → Object? -
inherited
-
visitSwitchDefault(
SwitchDefault node) → Object? -
inherited
-
visitSwitchExpression(
SwitchExpression node) → Object? -
override
-
visitSwitchExpressionCase(
SwitchExpressionCase node) → Object? -
inherited
-
visitSwitchMember(
SwitchMember node) → Object? -
inherited
-
visitSwitchPatternCase(
SwitchPatternCase node) → Object? -
inherited
-
visitSwitchStatement(
SwitchStatement node) → Object? -
override
-
visitSymbolLiteral(
SymbolLiteral node) → Object? -
inherited
-
visitThisExpression(
ThisExpression node) → Object? -
override
-
visitThrowExpression(
ThrowExpression node) → Object? -
override
-
visitTopLevelVariableDeclaration(
TopLevelVariableDeclaration node) → Object? -
override
-
visitTryStatement(
TryStatement node) → Object? -
override
-
visitTypeAlias(
TypeAlias node) → Object? -
inherited
-
visitTypeAnnotation(
TypeAnnotation node) → Object? -
inherited
-
visitTypeArgumentList(
TypeArgumentList node) → Object? -
inherited
-
visitTypedLiteral(
TypedLiteral node) → Object? -
inherited
-
visitTypeLiteral(
TypeLiteral node) → Object? -
inherited
-
visitTypeParameter(
TypeParameter node) → Object? -
inherited
-
visitTypeParameterList(
TypeParameterList node) → Object? -
inherited
-
visitUriBasedDirective(
UriBasedDirective node) → Object? -
inherited
-
visitVariableDeclaration(
VariableDeclaration node) → Object? -
inherited
-
visitVariableDeclarationList(
VariableDeclarationList node) → Object? -
override
-
visitVariableDeclarationStatement(
VariableDeclarationStatement node) → Object? -
override
-
visitVariablePattern(
VariablePattern node) → Object? -
inherited
-
visitWhenClause(
WhenClause node) → Object? -
inherited
-
visitWhileStatement(
WhileStatement node) → Object? -
override
-
visitWildcardPattern(
WildcardPattern node) → Object? -
inherited
-
visitWithClause(
WithClause node) → Object? -
inherited
-
visitYieldStatement(
YieldStatement node) → Object? -
override
-
wrapNativeReturnValue(
Object? nativeValue) → Object? - Wraps a native return value from a bridged call in a BridgedInstance if a bridge exists, otherwise returns the value as-is.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited