| // Copyright (c) 2022, 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 'reader.dart'; | |
| abstract class DwarfContainerStringTable { | |
| String? operator [](int index); | |
| } | |
| abstract class DwarfContainerSymbol { | |
| int get value; | |
| String get name; | |
| } | |
| abstract class DwarfContainer { | |
| /// Returns the architecture of the container as reported by Dart (e.g., | |
| /// 'x64' or 'arm'). Returns null if the architecture of the container does | |
| /// not match any expected Dart architecture. | |
| String? get architecture; | |
| Reader debugInfoReader(Reader containerReader); | |
| Reader lineNumberInfoReader(Reader containerReader); | |
| Reader abbreviationsTableReader(Reader containerReader); | |
| DwarfContainerSymbol? staticSymbolAt(int address); | |
| int? get vmStartAddress; | |
| int? get isolateStartAddress; | |
| String? get buildId; | |
| Iterable<DwarfContainerSymbol> get staticSymbols; | |
| DwarfContainerStringTable? get debugStringTable; | |
| DwarfContainerStringTable? get debugLineStringTable; | |
| void writeToStringBuffer(StringBuffer buffer); | |
| @override | |
| String toString() { | |
| final buffer = StringBuffer(); | |
| writeToStringBuffer(buffer); | |
| return buffer.toString(); | |
| } | |
| } |