resolveName method

Expression resolveName(
  1. ExpressionToken name
)

What name means where it is read as a value: by default one of the scope's variables, and a refusal for anything else.

A host overrides it for names of its own kinds, as the material language does for its inputs, parameters and lets.

Implementation

Expression resolveName(ExpressionToken name) {
  final type = scope.variables[name.text];
  if (type != null) return ExpressionVariable(name.text, type);
  fail('"${name.text}" is not bound here.', where: name);
}