| // Copyright (c) 2016, 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:_fe_analyzer_shared/src/base/analyzer_public_api.dart'; | |
| import 'package:_fe_analyzer_shared/src/base/source_range.dart'; | |
| /// Interface representing a syntactic entity (either a token or an AST node) | |
| /// which has a location and extent in the source file. | |
| /// | |
| /// Clients may not extend, implement or mix-in this class. | |
| @AnalyzerPublicApi( | |
| message: 'exported by package:analyzer/dart/ast/syntactic_entity.dart', | |
| ) | |
| abstract class SyntacticEntity { | |
| /// Return the offset from the beginning of the file to the character after | |
| /// the last character of the syntactic entity. | |
| int get end; | |
| /// Return the number of characters in the syntactic entity's source range. | |
| int get length; | |
| /// Return the offset from the beginning of the file to the first character in | |
| /// the syntactic entity. | |
| int get offset; | |
| /// Returns a [SourceRange] object describing the range of characters spanned | |
| /// by this syntactic entity. | |
| SourceRange get sourceRange => new SourceRange(offset, length); | |
| } |