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.
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