BindParamExpr class

A bind-parameter placeholder, e.g. ?, ?3, :name, @name, $x.

Bindings are not stored on the AST itself — that would defeat the point of preparing once and re-binding. Instead the executor pushes a BindScope onto BindParamExpr.scopeStack before running a statement, and BindParamExpr.eval looks up its value there. Pushing is done by Database and the prepared-statement runner; nesting is safe because Dart is single-threaded within an isolate and execution inside Database is serialized through its RW lock.

Inheritance

Constructors

BindParamExpr({int? index, String? name, required String spelling})

Properties

hashCode int
The hash code for this object.
no setterinherited
index int?
1-based positional index, or null for named.
final
name String?
Named-parameter name (without the leading sigil), or null for positional.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
spelling String
Original source spelling, kept for diagnostics: '?', '?3', ':foo', '@x'.
final

Methods

eval(Map<String, Object?> row) Object?
Evaluate this expression in the context of row (column name -> value).
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

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

Static Properties

scopeStack List<BindScope>
final