resolveVariable method

  1. @override
FutureOr<ASTVariable> resolveVariable(
  1. VMContext context
)
override

Implementation

@override
FutureOr<ASTVariable> resolveVariable(VMContext context) {
  var variable = context.getVariable(name, true);

  return variable.resolveMapped((v) {
    if (v == null) {
      var typeResolver = context.typeResolver;
      var resolveType = typeResolver.resolveType(name);
      return resolveType.resolveMapped((t) {
        if (t != null) {
          var staticAccessor = t.getClass().staticAccessor;
          return staticAccessor.staticClassAccessorVariable;
        }
        throw StateError("Can't find variable: '$name'");
      });
    }
    return v;
  });
}