| // Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| import 'package:analyzer/dart/element/element.dart'; |
| |
| /// Scopes are used to resolve names to elements. |
| abstract class Scope { |
| /// Return the result of lexical lookup for the given [id], not `null`. |
| /// |
| /// Getters and setters are bundled, when we found one or another, we are |
| /// done with the lookup, and return both the getter and the setter, if |
| /// available. |
| ScopeLookupResult lookup(String id); |
| } |
| |
| class ScopeLookupResult { |
| final Element? getter; |
| final Element? setter; |
| |
| ScopeLookupResult(this.getter, this.setter); |
| } |