6ebd2633cd
It should not be necessary to ever run `pub get` for a package which is not published. All packages used in the SDK are controlled by a single package config, so it's not necessary to declare versions or paths for any packages. Remove all dependency overrides. R=devoncarew@google.com Change-Id: Icb328813b471f35ee4c99995f4e90aac4d8ed438 Tested: Covered by existing static analysis. Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/244767 Commit-Queue: Nate Bosch <nbosch@google.com> Reviewed-by: Alexander Aprelev <aam@google.com> Reviewed-by: Devon Carew <devoncarew@google.com>
Tool for extracting symbolic information from C++ Dart Runtime sources using cquery.
It should be invoked from the root of Dart SDK checkout and will generate
xref.json file containing extracted symbol information.
$ pushd runtime/tools/wiki/xref_extractor && pub get && popd
$ dart runtime/tools/wiki/xref_extractor/bin/main.dart cquery/build/release/bin/cquery
Prerequisites
- Build cquery as described here.
- Make sure that you have ninja files generated for ReleaseX64 configuration by
running
tools/gn.py -a x64 -m release --no-goma(--no-gomais important - otherwisecquerycan't figure out which toolchain is used).
xref.json format
interface Xrefs {
/// Commit hash for which this xref.json is generated.
commit: string;
/// List of files names.
files: string[];
/// Class information by name.
classes: ClassMap;
/// Global function information.
functions: LocationMap;
}
/// Locations are serialized as strings of form "fileIndex:lineNo", where
/// fileIndex points into files array.
type SymbolLocation = string;
/// Information about classes is stored in an array where the first element
/// describes location of the class itself and second optional element gives
/// locations of class members.
type ClassInfo = [SymbolLocation, LocationMap?];
/// Map of classes by their names.
interface ClassMap {
[name: string]: ClassInfo;
}
/// Map of symbols to their locations.
interface LocationMap {
[symbol: string]: SymbolLocation;
}