// 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. /// /// Clients may not extend, implement or mix-in this class. 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); } /// The result of a single name lookup. /// /// Clients may not extend, implement or mix-in this class. abstract class ScopeLookupResult { Element? get getter; Element? get setter; }