Optimize summary2.
1. Don't store tokens.
2. Start moving toward storing only semantic information.
3. Don't use DeclarationSplicer, DeclarationResolver.
4. GenericFunctionType(s) don't work, we need a way to associate AST
location to summary location. I think it is solvable.
Change-Id: If0bf9f20f8092068488322129853b788dd947eb0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102127
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analyzer/lib/src/dart/analysis/driver.dart b/pkg/analyzer/lib/src/dart/analysis/driver.dart
index 2098c3f..f92f743 100644
--- a/pkg/analyzer/lib/src/dart/analysis/driver.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/driver.dart
@@ -1622,7 +1622,7 @@
}
}
- if (_libraryContext == null || useSummary2) {
+ if (_libraryContext == null) {
_libraryContext = new LibraryContext(
session: currentSession,
logger: _logger,
@@ -1635,6 +1635,8 @@
targetLibrary: library,
useSummary2: useSummary2,
);
+ } else if (useSummary2) {
+ _libraryContext.load2(library);
} else {
_libraryContext.load(library);
}
diff --git a/pkg/analyzer/lib/src/dart/analysis/file_state.dart b/pkg/analyzer/lib/src/dart/analysis/file_state.dart
index 7c8377e..9536953 100644
--- a/pkg/analyzer/lib/src/dart/analysis/file_state.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/file_state.dart
@@ -35,6 +35,10 @@
import 'package:front_end/src/fasta/scanner/token.dart';
import 'package:meta/meta.dart';
+var counterFileStateRefresh = 0;
+var counterUnlinkedLinkedBytes = 0;
+var timerFileStateRefresh = Stopwatch();
+
/**
* [FileContentOverlay] is used to temporary override content of files.
*/
@@ -118,9 +122,11 @@
String _unlinkedKey;
AnalysisDriverUnlinkedUnit _driverUnlinkedUnit;
UnlinkedUnit _unlinked;
- UnlinkedUnit2 _unlinked2;
List<int> _apiSignature;
+ UnlinkedUnit2 _unlinked2;
+ CompilationUnit _unitForLinking;
+
List<FileState> _importedFiles;
List<FileState> _exportedFiles;
List<FileState> _partedFiles;
@@ -454,10 +460,17 @@
* Return `true` if the API signature changed since the last refresh.
*/
bool refresh({bool allowCached: false}) {
+ counterFileStateRefresh++;
+
if (_fsState.useSummary2) {
return _refresh2();
}
+ var timerWasRunning = timerFileStateRefresh.isRunning;
+ if (!timerWasRunning) {
+ timerFileStateRefresh.start();
+ }
+
_invalidateCurrentUnresolvedData();
{
@@ -494,6 +507,7 @@
referencedNames: referencedNames,
subtypedNames: subtypedNames)
.toBuffer();
+ counterUnlinkedLinkedBytes += bytes.length;
_fsState._byteStore.put(_unlinkedKey, bytes);
});
}
@@ -582,10 +596,26 @@
files.add(this);
}
+ if (!timerWasRunning) {
+ timerFileStateRefresh.stop();
+ }
+
// Return whether the API signature changed.
return apiSignatureChanged;
}
+ /// If the file has a parsed unit from computing unlinked data, return it.
+ /// Otherwise, parse it afresh now.
+ CompilationUnit takeUnitForLinking() {
+ if (_unitForLinking != null) {
+ var result = _unitForLinking;
+ _unitForLinking = null;
+ return result;
+ } else {
+ return parse();
+ }
+ }
+
@override
String toString() => path ?? '<unresolved>';
@@ -730,6 +760,11 @@
}
bool _refresh2() {
+ var timerWasRunning = timerFileStateRefresh.isRunning;
+ if (!timerWasRunning) {
+ timerFileStateRefresh.start();
+ }
+
_invalidateCurrentUnresolvedData();
{
@@ -756,6 +791,7 @@
bytes = _fsState._byteStore.get(_unlinkedKey);
if (bytes == null || bytes.isEmpty) {
CompilationUnit unit = parse();
+ _unitForLinking = unit;
_fsState._logger.run('Create unlinked for $path', () {
var unlinkedUnit = serializeAstUnlinked2(contentSignature, unit);
var definedNames = computeDefinedNames(unit);
@@ -853,6 +889,10 @@
files.add(this);
}
+ if (!timerWasRunning) {
+ timerFileStateRefresh.stop();
+ }
+
// Return whether the API signature changed.
return apiSignatureChanged;
}
diff --git a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
index 1de0d3f..699c335 100644
--- a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
@@ -32,11 +32,17 @@
import 'package:analyzer/src/lint/linter.dart';
import 'package:analyzer/src/lint/linter_visitor.dart';
import 'package:analyzer/src/services/lint.dart';
-import 'package:analyzer/src/summary2/declaration_splicer.dart';
import 'package:analyzer/src/summary2/linked_element_factory.dart';
import 'package:analyzer/src/task/strong/checker.dart';
import 'package:pub_semver/pub_semver.dart';
+var timerLibraryAnalyzer = Stopwatch();
+var timerLibraryAnalyzerConst = Stopwatch();
+var timerLibraryAnalyzerFreshUnit = Stopwatch();
+var timerLibraryAnalyzerResolve = Stopwatch();
+var timerLibraryAnalyzerSplicer = Stopwatch();
+var timerLibraryAnalyzerVerify = Stopwatch();
+
/**
* Analyzer of a single library.
*/
@@ -107,13 +113,15 @@
* Compute analysis results for all units of the library.
*/
Map<FileState, UnitAnalysisResult> analyzeSync() {
+ timerLibraryAnalyzer.start();
Map<FileState, CompilationUnit> units = {};
// Parse all files.
+ timerLibraryAnalyzerFreshUnit.start();
for (FileState file in _library.libraryFiles) {
units[file] = _parse(file);
}
- // TODO(danrubel): Verify that all units have the same @dart override
+ timerLibraryAnalyzerFreshUnit.stop();
// Resolve URIs in directives to corresponding sources.
units.forEach((file, unit) {
@@ -128,17 +136,22 @@
}
_libraryScope = new LibraryScope(_libraryElement);
+ timerLibraryAnalyzerResolve.start();
_resolveDirectives(units);
units.forEach((file, unit) {
_resolveFile(file, unit);
_computePendingMissingRequiredParameters(file, unit);
});
+ timerLibraryAnalyzerResolve.stop();
+ timerLibraryAnalyzerConst.start();
units.values.forEach(_findConstants);
_clearConstantEvaluationResults();
_computeConstants();
+ timerLibraryAnalyzerConst.stop();
+ timerLibraryAnalyzerVerify.start();
PerformanceStatistics.errors.makeCurrentWhile(() {
units.forEach((file, unit) {
_computeVerifyErrors(file, unit);
@@ -176,6 +189,7 @@
}
});
}
+ timerLibraryAnalyzerVerify.stop();
// Return full results.
Map<FileState, UnitAnalysisResult> results = {};
@@ -184,6 +198,7 @@
errors = _filterIgnoredErrors(file, errors);
results[file] = new UnitAnalysisResult(file, unit, errors);
});
+ timerLibraryAnalyzer.stop();
return results;
}
@@ -628,11 +643,9 @@
}
}
- if (_elementFactory != null) {
- new DeclarationSplicer(unitElement).splice(unit);
- } else {
- new DeclarationResolver().resolve(unit, unitElement);
- }
+ timerLibraryAnalyzerSplicer.start();
+ new DeclarationResolver().resolve(unit, unitElement);
+ timerLibraryAnalyzerSplicer.stop();
unit.accept(new AstRewriteVisitor(_context.typeSystem, _libraryElement,
source, _typeProvider, errorListener,
diff --git a/pkg/analyzer/lib/src/dart/analysis/library_context.dart b/pkg/analyzer/lib/src/dart/analysis/library_context.dart
index 7340b1e..f8f7f01 100644
--- a/pkg/analyzer/lib/src/dart/analysis/library_context.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/library_context.dart
@@ -31,6 +31,14 @@
import 'package:analyzer/src/summary2/reference.dart';
import 'package:meta/meta.dart';
+var counterInputLibrariesFiles = 0;
+var counterLinkedLibraries = 0;
+var counterLoadedLibraries = 0;
+var timerBundleToBytes = Stopwatch();
+var timerInputLibraries = Stopwatch();
+var timerLinking = Stopwatch();
+var timerLoad2 = Stopwatch();
+
/**
* Context information necessary to analyze one or more libraries within an
* [AnalysisDriver].
@@ -55,6 +63,8 @@
LinkedElementFactory elementFactory;
InheritanceManager2 inheritanceManager;
+ var loadedBundles = Set<LibraryCycle>.identity();
+
LibraryContext({
@required AnalysisSession session,
@required PerformanceLog logger,
@@ -81,6 +91,7 @@
);
if (useSummary2) {
+ _createElementFactory();
load2(targetLibrary);
} else {
// Fill the store with summaries required for the initial library.
@@ -144,6 +155,8 @@
return;
}
+ timerLoad2.start();
+
var libraries = <String, FileState>{};
void appendLibraryFiles(FileState library) {
// Stop if this library is already a part of the context.
@@ -191,8 +204,10 @@
}
int numOfLoaded = libraries.length - libraryUrisToLink.length;
logger.writeln('Loaded $numOfLoaded linked bundles.');
+ counterLoadedLibraries += numOfLoaded;
});
+ timerLinking.start();
var linkedLibraries = <String, LinkedLibraryBuilder>{};
logger.run('Link libraries', () {
linkedLibraries = link(libraryUrisToLink, (String uri) {
@@ -204,26 +219,35 @@
}, DeclaredVariables(), analysisContext.analysisOptions);
logger.writeln('Linked ${linkedLibraries.length} libraries.');
});
+ timerLinking.stop();
+ counterLinkedLibraries += linkedLibraries.length;
// Store freshly linked libraries into the byte store.
// Append them to the context.
+ timerBundleToBytes.start();
for (String uri in linkedLibraries.keys) {
+ counterLoadedLibraries++;
FileState library = libraries[uri];
String key = library.transitiveSignatureLinked;
+ timerBundleToBytes.start();
LinkedLibraryBuilder linkedBuilder = linkedLibraries[uri];
List<int> bytes = linkedBuilder.toBuffer();
+ timerBundleToBytes.stop();
byteStore.put(key, bytes);
+ counterUnlinkedLinkedBytes += bytes.length;
LinkedLibrary linked = new LinkedLibrary.fromBuffer(bytes);
store.addLinkedLibrary(uri, linked);
_linkedDataInBytes += bytes.length;
}
+ timerBundleToBytes.stop();
+ timerLoad2.stop();
}
/// Load data required to access elements of the given [targetLibrary].
void load2(FileState targetLibrary) {
- var loadedBundles = Set<LibraryCycle>.identity();
+ timerLoad2.start();
var inputBundles = <LinkedNodeBundle>[];
void loadBundle(LibraryCycle cycle) {
@@ -237,17 +261,20 @@
var bytes = byteStore.get(key);
if (bytes == null) {
+ timerInputLibraries.start();
var inputLibraries = <link2.LinkInputLibrary>[];
logger.run('Prepare input libraries', () {
for (var libraryFile in cycle.libraries) {
+ counterInputLibrariesFiles++;
var librarySource = libraryFile.source;
if (librarySource == null) continue;
var inputUnits = <link2.LinkInputUnit>[];
for (var file in libraryFile.libraryFiles) {
var isSynthetic = !file.exists;
+ var unit = file.takeUnitForLinking();
inputUnits.add(
- link2.LinkInputUnit(file.source, isSynthetic, file.parse()),
+ link2.LinkInputUnit(file.source, isSynthetic, unit),
);
}
@@ -257,29 +284,48 @@
}
logger.writeln('Prepared ${inputLibraries.length} libraries.');
});
+ timerInputLibraries.stop();
+ timerLinking.start();
link2.LinkResult linkResult;
logger.run('Link libraries', () {
- linkResult = link2.link(
- analysisContext.analysisOptions,
- analysisContext.sourceFactory,
- analysisContext.declaredVariables,
- inputBundles,
- inputLibraries,
- );
+ linkResult = link2.link(elementFactory, inputLibraries);
logger.writeln('Linked ${inputLibraries.length} libraries.');
});
+ timerLinking.stop();
+ counterLinkedLibraries += linkResult.bundle.libraries.length;
+ timerBundleToBytes.start();
bytes = linkResult.bundle.toBuffer();
+ timerBundleToBytes.stop();
byteStore.put(key, bytes);
logger.writeln('Stored ${bytes.length} bytes.');
+ counterUnlinkedLinkedBytes += bytes.length;
} else {
+ // TODO(scheglov) Take / clear parsed units in files.
logger.writeln('Loaded ${bytes.length} bytes.');
}
- inputBundles.add(
- LinkedNodeBundle.fromBuffer(bytes),
+ // We are about to load dart:core, but if we have just linked it, the
+ // linker might have set the type provider. So, clear it, and recreate
+ // the element factory - it is empty anyway.
+ var hasDartCoreBeforeBundle = elementFactory.hasDartCore;
+ if (!hasDartCoreBeforeBundle) {
+ analysisContext.clearTypeProvider();
+ _createElementFactory();
+ }
+
+ var bundle = LinkedNodeBundle.fromBuffer(bytes);
+ inputBundles.add(bundle);
+ elementFactory.addBundle(
+ LinkedBundleContext(elementFactory, bundle),
);
+ counterLoadedLibraries += bundle.libraries.length;
+
+ // If the first bundle, with dart:core, create the type provider.
+ if (!hasDartCoreBeforeBundle && elementFactory.hasDartCore) {
+ _createElementFactoryTypeProvider();
+ }
});
}
@@ -288,33 +334,7 @@
loadBundle(libraryCycle);
});
- var rootReference = Reference.root();
- rootReference.getChild('dart:core').getChild('dynamic').element =
- DynamicElementImpl.instance;
- rootReference.getChild('dart:core').getChild('Never').element =
- NeverElementImpl.instance;
-
- elementFactory = LinkedElementFactory(
- analysisContext,
- analysisSession,
- rootReference,
- );
-
- for (var bundle in inputBundles) {
- elementFactory.addBundle(
- LinkedBundleContext(elementFactory, bundle),
- );
- }
-
- var dartCore = elementFactory.libraryOfUri('dart:core');
- var dartAsync = elementFactory.libraryOfUri('dart:async');
- var typeProvider = SummaryTypeProvider()
- ..initializeCore(dartCore)
- ..initializeAsync(dartAsync);
- analysisContext.typeProvider = typeProvider;
-
- dartCore.createLoadLibraryFunction(typeProvider);
- dartAsync.createLoadLibraryFunction(typeProvider);
+ timerLoad2.stop();
}
/// Return `true` if this context grew too large, and should be recreated.
@@ -325,4 +345,28 @@
bool pack() {
return _linkedDataInBytes > _maxLinkedDataInBytes;
}
+
+ void _createElementFactory() {
+ elementFactory = LinkedElementFactory(
+ analysisContext,
+ analysisSession,
+ Reference.root(),
+ );
+
+ var dartCoreRef = elementFactory.rootReference.getChild('dart:core');
+ dartCoreRef.getChild('dynamic').element = DynamicElementImpl.instance;
+ dartCoreRef.getChild('Never').element = NeverElementImpl.instance;
+ }
+
+ void _createElementFactoryTypeProvider() {
+ var dartCore = elementFactory.libraryOfUri('dart:core');
+ var dartAsync = elementFactory.libraryOfUri('dart:async');
+ var typeProvider = SummaryTypeProvider()
+ ..initializeCore(dartCore)
+ ..initializeAsync(dartAsync);
+ analysisContext.typeProvider = typeProvider;
+
+ dartCore.createLoadLibraryFunction(typeProvider);
+ dartAsync.createLoadLibraryFunction(typeProvider);
+ }
}
diff --git a/pkg/analyzer/lib/src/dart/analysis/restricted_analysis_context.dart b/pkg/analyzer/lib/src/dart/analysis/restricted_analysis_context.dart
index f10e3a5..60b7db7 100644
--- a/pkg/analyzer/lib/src/dart/analysis/restricted_analysis_context.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/restricted_analysis_context.dart
@@ -43,4 +43,8 @@
noSuchMethod(Invocation invocation) {
return super.noSuchMethod(invocation);
}
+
+ void clearTypeProvider() {
+ synchronousSession.clearTypeProvider();
+ }
}
diff --git a/pkg/analyzer/lib/src/dart/analysis/session.dart b/pkg/analyzer/lib/src/dart/analysis/session.dart
index 7461fe9..30db6fa 100644
--- a/pkg/analyzer/lib/src/dart/analysis/session.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/session.dart
@@ -222,4 +222,9 @@
implicitCasts: analysisOptions.implicitCasts,
);
}
+
+ void clearTypeProvider() {
+ _typeProvider = null;
+ _typeSystem = null;
+ }
}
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index f5a4de1..f317b8f 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -7924,7 +7924,8 @@
if (linkedContext.hasInitializer(linkedNode)) {
_initializer = new FunctionElementImpl('', -1)
..isSynthetic = true
- .._type = FunctionTypeImpl.synthetic(type, [], []);
+ .._type = FunctionTypeImpl.synthetic(type, [], [])
+ ..enclosingElement = this;
}
}
if (_unlinkedVariable != null) {
diff --git a/pkg/analyzer/lib/src/summary/format.dart b/pkg/analyzer/lib/src/summary/format.dart
index 80a9ed3..a83f7c0 100644
--- a/pkg/analyzer/lib/src/summary/format.dart
+++ b/pkg/analyzer/lib/src/summary/format.dart
@@ -4734,6 +4734,7 @@
int _variantField_16;
int _variantField_18;
int _variantField_19;
+ idl.UnlinkedTokenType _variantField_28;
bool _variantField_27;
LinkedNodeBuilder _variantField_9;
LinkedNodeBuilder _variantField_12;
@@ -4741,7 +4742,7 @@
LinkedNodeBuilder _variantField_13;
int _variantField_34;
int _variantField_33;
- List<int> _variantField_28;
+ List<String> _variantField_36;
idl.LinkedNodeCommentType _variantField_29;
List<LinkedNodeBuilder> _variantField_3;
LinkedNodeBuilder _variantField_10;
@@ -4749,13 +4750,16 @@
double _variantField_21;
bool _variantField_37;
LinkedNodeTypeBuilder _variantField_25;
+ int _flags;
+ String _variantField_41;
String _variantField_30;
LinkedNodeBuilder _variantField_14;
bool _isSynthetic;
idl.LinkedNodeKind _kind;
- List<String> _variantField_36;
+ String _name;
String _variantField_20;
bool _variantField_31;
+ idl.UnlinkedTokenType _variantField_40;
TopLevelInferenceErrorBuilder _variantField_35;
String _variantField_22;
LinkedNodeVariablesDeclarationBuilder _variantField_32;
@@ -4882,12 +4886,6 @@
}
@override
- List<LinkedNodeBuilder> get hideCombinator_hiddenNames {
- assert(kind == idl.LinkedNodeKind.hideCombinator);
- return _variantField_2 ??= <LinkedNodeBuilder>[];
- }
-
- @override
List<LinkedNodeBuilder> get implementsClause_interfaces {
assert(kind == idl.LinkedNodeKind.implementsClause);
return _variantField_2 ??= <LinkedNodeBuilder>[];
@@ -4931,12 +4929,6 @@
}
@override
- List<LinkedNodeBuilder> get showCombinator_shownNames {
- assert(kind == idl.LinkedNodeKind.showCombinator);
- return _variantField_2 ??= <LinkedNodeBuilder>[];
- }
-
- @override
List<LinkedNodeBuilder> get stringInterpolation_elements {
assert(kind == idl.LinkedNodeKind.stringInterpolation);
return _variantField_2 ??= <LinkedNodeBuilder>[];
@@ -5028,11 +5020,6 @@
_variantField_2 = value;
}
- set hideCombinator_hiddenNames(List<LinkedNodeBuilder> value) {
- assert(kind == idl.LinkedNodeKind.hideCombinator);
- _variantField_2 = value;
- }
-
set implementsClause_interfaces(List<LinkedNodeBuilder> value) {
assert(kind == idl.LinkedNodeKind.implementsClause);
_variantField_2 = value;
@@ -5069,11 +5056,6 @@
_variantField_2 = value;
}
- set showCombinator_shownNames(List<LinkedNodeBuilder> value) {
- assert(kind == idl.LinkedNodeKind.showCombinator);
- _variantField_2 = value;
- }
-
set stringInterpolation_elements(List<LinkedNodeBuilder> value) {
assert(kind == idl.LinkedNodeKind.stringInterpolation);
_variantField_2 = value;
@@ -5384,12 +5366,6 @@
}
@override
- LinkedNodeBuilder get enumConstantDeclaration_name {
- assert(kind == idl.LinkedNodeKind.enumConstantDeclaration);
- return _variantField_6;
- }
-
- @override
LinkedNodeBuilder get expressionFunctionBody_expression {
assert(kind == idl.LinkedNodeKind.expressionFunctionBody);
return _variantField_6;
@@ -5496,12 +5472,6 @@
}
@override
- LinkedNodeBuilder get importDirective_prefix {
- assert(kind == idl.LinkedNodeKind.importDirective);
- return _variantField_6;
- }
-
- @override
LinkedNodeBuilder get indexExpression_index {
assert(kind == idl.LinkedNodeKind.indexExpression);
return _variantField_6;
@@ -5837,11 +5807,6 @@
_variantField_6 = value;
}
- set enumConstantDeclaration_name(LinkedNodeBuilder value) {
- assert(kind == idl.LinkedNodeKind.enumConstantDeclaration);
- _variantField_6 = value;
- }
-
set expressionFunctionBody_expression(LinkedNodeBuilder value) {
assert(kind == idl.LinkedNodeKind.expressionFunctionBody);
_variantField_6 = value;
@@ -5932,11 +5897,6 @@
_variantField_6 = value;
}
- set importDirective_prefix(LinkedNodeBuilder value) {
- assert(kind == idl.LinkedNodeKind.importDirective);
- _variantField_6 = value;
- }
-
set indexExpression_index(LinkedNodeBuilder value) {
assert(kind == idl.LinkedNodeKind.indexExpression);
_variantField_6 = value;
@@ -6178,12 +6138,6 @@
}
@override
- int get booleanLiteral_literal {
- assert(kind == idl.LinkedNodeKind.booleanLiteral);
- return _variantField_15 ??= 0;
- }
-
- @override
int get breakStatement_breakKeyword {
assert(kind == idl.LinkedNodeKind.breakStatement);
return _variantField_15 ??= 0;
@@ -6196,18 +6150,6 @@
}
@override
- int get classDeclaration_abstractKeyword {
- assert(kind == idl.LinkedNodeKind.classDeclaration);
- return _variantField_15 ??= 0;
- }
-
- @override
- int get classTypeAlias_abstractKeyword {
- assert(kind == idl.LinkedNodeKind.classTypeAlias);
- return _variantField_15 ??= 0;
- }
-
- @override
int get commentReference_newKeyword {
assert(kind == idl.LinkedNodeKind.commentReference);
return _variantField_15 ??= 0;
@@ -6232,12 +6174,6 @@
}
@override
- int get constructorDeclaration_constKeyword {
- assert(kind == idl.LinkedNodeKind.constructorDeclaration);
- return _variantField_15 ??= 0;
- }
-
- @override
int get constructorFieldInitializer_equals {
assert(kind == idl.LinkedNodeKind.constructorFieldInitializer);
return _variantField_15 ??= 0;
@@ -6274,12 +6210,6 @@
}
@override
- int get doubleLiteral_literal {
- assert(kind == idl.LinkedNodeKind.doubleLiteral);
- return _variantField_15 ??= 0;
- }
-
- @override
int get emptyFunctionBody_semicolon {
assert(kind == idl.LinkedNodeKind.emptyFunctionBody);
return _variantField_15 ??= 0;
@@ -6292,12 +6222,6 @@
}
@override
- int get enumDeclaration_enumKeyword {
- assert(kind == idl.LinkedNodeKind.enumDeclaration);
- return _variantField_15 ??= 0;
- }
-
- @override
int get expressionFunctionBody_arrow {
assert(kind == idl.LinkedNodeKind.expressionFunctionBody);
return _variantField_15 ??= 0;
@@ -6316,18 +6240,6 @@
}
@override
- int get fieldDeclaration_covariantKeyword {
- assert(kind == idl.LinkedNodeKind.fieldDeclaration);
- return _variantField_15 ??= 0;
- }
-
- @override
- int get fieldFormalParameter_keyword {
- assert(kind == idl.LinkedNodeKind.fieldFormalParameter);
- return _variantField_15 ??= 0;
- }
-
- @override
int get forEachParts_inKeyword {
assert(kind == idl.LinkedNodeKind.forEachPartsWithDeclaration ||
kind == idl.LinkedNodeKind.forEachPartsWithIdentifier);
@@ -6355,12 +6267,6 @@
}
@override
- int get functionDeclaration_externalKeyword {
- assert(kind == idl.LinkedNodeKind.functionDeclaration);
- return _variantField_15 ??= 0;
- }
-
- @override
int get genericFunctionType_functionKeyword {
assert(kind == idl.LinkedNodeKind.genericFunctionType);
return _variantField_15 ??= 0;
@@ -6380,7 +6286,7 @@
}
@override
- int get importDirective_asKeyword {
+ int get importDirective_prefixOffset {
assert(kind == idl.LinkedNodeKind.importDirective);
return _variantField_15 ??= 0;
}
@@ -6392,18 +6298,6 @@
}
@override
- int get instanceCreationExpression_keyword {
- assert(kind == idl.LinkedNodeKind.instanceCreationExpression);
- return _variantField_15 ??= 0;
- }
-
- @override
- int get integerLiteral_literal {
- assert(kind == idl.LinkedNodeKind.integerLiteral);
- return _variantField_15 ??= 0;
- }
-
- @override
int get interpolationExpression_leftBracket {
assert(kind == idl.LinkedNodeKind.interpolationExpression);
return _variantField_15 ??= 0;
@@ -6440,12 +6334,6 @@
}
@override
- int get methodDeclaration_externalKeyword {
- assert(kind == idl.LinkedNodeKind.methodDeclaration);
- return _variantField_15 ??= 0;
- }
-
- @override
int get methodInvocation_operator {
assert(kind == idl.LinkedNodeKind.methodInvocation);
return _variantField_15 ??= 0;
@@ -6542,30 +6430,12 @@
}
@override
- int get simpleFormalParameter_keyword {
- assert(kind == idl.LinkedNodeKind.simpleFormalParameter);
- return _variantField_15 ??= 0;
- }
-
- @override
int get simpleIdentifier_element {
assert(kind == idl.LinkedNodeKind.simpleIdentifier);
return _variantField_15 ??= 0;
}
@override
- int get simpleStringLiteral_token {
- assert(kind == idl.LinkedNodeKind.simpleStringLiteral);
- return _variantField_15 ??= 0;
- }
-
- @override
- int get spreadElement_spreadOperator {
- assert(kind == idl.LinkedNodeKind.spreadElement);
- return _variantField_15 ??= 0;
- }
-
- @override
int get superConstructorInvocation_element {
assert(kind == idl.LinkedNodeKind.superConstructorInvocation);
return _variantField_15 ??= 0;
@@ -6651,12 +6521,6 @@
}
@override
- int get variableDeclarationList_keyword {
- assert(kind == idl.LinkedNodeKind.variableDeclarationList);
- return _variantField_15 ??= 0;
- }
-
- @override
int get variableDeclarationStatement_semicolon {
assert(kind == idl.LinkedNodeKind.variableDeclarationStatement);
return _variantField_15 ??= 0;
@@ -6740,12 +6604,6 @@
_variantField_15 = value;
}
- set booleanLiteral_literal(int value) {
- assert(kind == idl.LinkedNodeKind.booleanLiteral);
- assert(value == null || value >= 0);
- _variantField_15 = value;
- }
-
set breakStatement_breakKeyword(int value) {
assert(kind == idl.LinkedNodeKind.breakStatement);
assert(value == null || value >= 0);
@@ -6758,18 +6616,6 @@
_variantField_15 = value;
}
- set classDeclaration_abstractKeyword(int value) {
- assert(kind == idl.LinkedNodeKind.classDeclaration);
- assert(value == null || value >= 0);
- _variantField_15 = value;
- }
-
- set classTypeAlias_abstractKeyword(int value) {
- assert(kind == idl.LinkedNodeKind.classTypeAlias);
- assert(value == null || value >= 0);
- _variantField_15 = value;
- }
-
set commentReference_newKeyword(int value) {
assert(kind == idl.LinkedNodeKind.commentReference);
assert(value == null || value >= 0);
@@ -6794,12 +6640,6 @@
_variantField_15 = value;
}
- set constructorDeclaration_constKeyword(int value) {
- assert(kind == idl.LinkedNodeKind.constructorDeclaration);
- assert(value == null || value >= 0);
- _variantField_15 = value;
- }
-
set constructorFieldInitializer_equals(int value) {
assert(kind == idl.LinkedNodeKind.constructorFieldInitializer);
assert(value == null || value >= 0);
@@ -6836,12 +6676,6 @@
_variantField_15 = value;
}
- set doubleLiteral_literal(int value) {
- assert(kind == idl.LinkedNodeKind.doubleLiteral);
- assert(value == null || value >= 0);
- _variantField_15 = value;
- }
-
set emptyFunctionBody_semicolon(int value) {
assert(kind == idl.LinkedNodeKind.emptyFunctionBody);
assert(value == null || value >= 0);
@@ -6854,12 +6688,6 @@
_variantField_15 = value;
}
- set enumDeclaration_enumKeyword(int value) {
- assert(kind == idl.LinkedNodeKind.enumDeclaration);
- assert(value == null || value >= 0);
- _variantField_15 = value;
- }
-
set expressionFunctionBody_arrow(int value) {
assert(kind == idl.LinkedNodeKind.expressionFunctionBody);
assert(value == null || value >= 0);
@@ -6878,18 +6706,6 @@
_variantField_15 = value;
}
- set fieldDeclaration_covariantKeyword(int value) {
- assert(kind == idl.LinkedNodeKind.fieldDeclaration);
- assert(value == null || value >= 0);
- _variantField_15 = value;
- }
-
- set fieldFormalParameter_keyword(int value) {
- assert(kind == idl.LinkedNodeKind.fieldFormalParameter);
- assert(value == null || value >= 0);
- _variantField_15 = value;
- }
-
set forEachParts_inKeyword(int value) {
assert(kind == idl.LinkedNodeKind.forEachPartsWithDeclaration ||
kind == idl.LinkedNodeKind.forEachPartsWithIdentifier);
@@ -6917,12 +6733,6 @@
_variantField_15 = value;
}
- set functionDeclaration_externalKeyword(int value) {
- assert(kind == idl.LinkedNodeKind.functionDeclaration);
- assert(value == null || value >= 0);
- _variantField_15 = value;
- }
-
set genericFunctionType_functionKeyword(int value) {
assert(kind == idl.LinkedNodeKind.genericFunctionType);
assert(value == null || value >= 0);
@@ -6942,7 +6752,7 @@
_variantField_15 = value;
}
- set importDirective_asKeyword(int value) {
+ set importDirective_prefixOffset(int value) {
assert(kind == idl.LinkedNodeKind.importDirective);
assert(value == null || value >= 0);
_variantField_15 = value;
@@ -6954,18 +6764,6 @@
_variantField_15 = value;
}
- set instanceCreationExpression_keyword(int value) {
- assert(kind == idl.LinkedNodeKind.instanceCreationExpression);
- assert(value == null || value >= 0);
- _variantField_15 = value;
- }
-
- set integerLiteral_literal(int value) {
- assert(kind == idl.LinkedNodeKind.integerLiteral);
- assert(value == null || value >= 0);
- _variantField_15 = value;
- }
-
set interpolationExpression_leftBracket(int value) {
assert(kind == idl.LinkedNodeKind.interpolationExpression);
assert(value == null || value >= 0);
@@ -7002,12 +6800,6 @@
_variantField_15 = value;
}
- set methodDeclaration_externalKeyword(int value) {
- assert(kind == idl.LinkedNodeKind.methodDeclaration);
- assert(value == null || value >= 0);
- _variantField_15 = value;
- }
-
set methodInvocation_operator(int value) {
assert(kind == idl.LinkedNodeKind.methodInvocation);
assert(value == null || value >= 0);
@@ -7104,30 +6896,12 @@
_variantField_15 = value;
}
- set simpleFormalParameter_keyword(int value) {
- assert(kind == idl.LinkedNodeKind.simpleFormalParameter);
- assert(value == null || value >= 0);
- _variantField_15 = value;
- }
-
set simpleIdentifier_element(int value) {
assert(kind == idl.LinkedNodeKind.simpleIdentifier);
assert(value == null || value >= 0);
_variantField_15 = value;
}
- set simpleStringLiteral_token(int value) {
- assert(kind == idl.LinkedNodeKind.simpleStringLiteral);
- assert(value == null || value >= 0);
- _variantField_15 = value;
- }
-
- set spreadElement_spreadOperator(int value) {
- assert(kind == idl.LinkedNodeKind.spreadElement);
- assert(value == null || value >= 0);
- _variantField_15 = value;
- }
-
set superConstructorInvocation_element(int value) {
assert(kind == idl.LinkedNodeKind.superConstructorInvocation);
assert(value == null || value >= 0);
@@ -7213,12 +6987,6 @@
_variantField_15 = value;
}
- set variableDeclarationList_keyword(int value) {
- assert(kind == idl.LinkedNodeKind.variableDeclarationList);
- assert(value == null || value >= 0);
- _variantField_15 = value;
- }
-
set variableDeclarationStatement_semicolon(int value) {
assert(kind == idl.LinkedNodeKind.variableDeclarationStatement);
assert(value == null || value >= 0);
@@ -7310,12 +7078,6 @@
}
@override
- LinkedNodeBuilder get constructorDeclaration_name {
- assert(kind == idl.LinkedNodeKind.constructorDeclaration);
- return _variantField_7;
- }
-
- @override
LinkedNodeBuilder get constructorFieldInitializer_fieldName {
assert(kind == idl.LinkedNodeKind.constructorFieldInitializer);
return _variantField_7;
@@ -7520,18 +7282,6 @@
}
@override
- LinkedNodeBuilder get typeParameter_name {
- assert(kind == idl.LinkedNodeKind.typeParameter);
- return _variantField_7;
- }
-
- @override
- LinkedNodeBuilder get variableDeclaration_name {
- assert(kind == idl.LinkedNodeKind.variableDeclaration);
- return _variantField_7;
- }
-
- @override
LinkedNodeBuilder get whileStatement_condition {
assert(kind == idl.LinkedNodeKind.whileStatement);
return _variantField_7;
@@ -7592,11 +7342,6 @@
_variantField_7 = value;
}
- set constructorDeclaration_name(LinkedNodeBuilder value) {
- assert(kind == idl.LinkedNodeKind.constructorDeclaration);
- _variantField_7 = value;
- }
-
set constructorFieldInitializer_fieldName(LinkedNodeBuilder value) {
assert(kind == idl.LinkedNodeKind.constructorFieldInitializer);
_variantField_7 = value;
@@ -7768,16 +7513,6 @@
_variantField_7 = value;
}
- set typeParameter_name(LinkedNodeBuilder value) {
- assert(kind == idl.LinkedNodeKind.typeParameter);
- _variantField_7 = value;
- }
-
- set variableDeclaration_name(LinkedNodeBuilder value) {
- assert(kind == idl.LinkedNodeKind.variableDeclaration);
- _variantField_7 = value;
- }
-
set whileStatement_condition(LinkedNodeBuilder value) {
assert(kind == idl.LinkedNodeKind.whileStatement);
_variantField_7 = value;
@@ -7814,12 +7549,6 @@
}
@override
- int get constructorDeclaration_factoryKeyword {
- assert(kind == idl.LinkedNodeKind.constructorDeclaration);
- return _variantField_17 ??= 0;
- }
-
- @override
int get constructorFieldInitializer_thisKeyword {
assert(kind == idl.LinkedNodeKind.constructorFieldInitializer);
return _variantField_17 ??= 0;
@@ -7832,24 +7561,12 @@
}
@override
- int get enumDeclaration_rightBracket {
- assert(kind == idl.LinkedNodeKind.enumDeclaration);
- return _variantField_17 ??= 0;
- }
-
- @override
int get expressionFunctionBody_semicolon {
assert(kind == idl.LinkedNodeKind.expressionFunctionBody);
return _variantField_17 ??= 0;
}
@override
- int get fieldDeclaration_staticKeyword {
- assert(kind == idl.LinkedNodeKind.fieldDeclaration);
- return _variantField_17 ??= 0;
- }
-
- @override
int get fieldFormalParameter_thisKeyword {
assert(kind == idl.LinkedNodeKind.fieldFormalParameter);
return _variantField_17 ??= 0;
@@ -7953,12 +7670,6 @@
_variantField_17 = value;
}
- set constructorDeclaration_factoryKeyword(int value) {
- assert(kind == idl.LinkedNodeKind.constructorDeclaration);
- assert(value == null || value >= 0);
- _variantField_17 = value;
- }
-
set constructorFieldInitializer_thisKeyword(int value) {
assert(kind == idl.LinkedNodeKind.constructorFieldInitializer);
assert(value == null || value >= 0);
@@ -7971,24 +7682,12 @@
_variantField_17 = value;
}
- set enumDeclaration_rightBracket(int value) {
- assert(kind == idl.LinkedNodeKind.enumDeclaration);
- assert(value == null || value >= 0);
- _variantField_17 = value;
- }
-
set expressionFunctionBody_semicolon(int value) {
assert(kind == idl.LinkedNodeKind.expressionFunctionBody);
assert(value == null || value >= 0);
_variantField_17 = value;
}
- set fieldDeclaration_staticKeyword(int value) {
- assert(kind == idl.LinkedNodeKind.fieldDeclaration);
- assert(value == null || value >= 0);
- _variantField_17 = value;
- }
-
set fieldFormalParameter_thisKeyword(int value) {
assert(kind == idl.LinkedNodeKind.fieldFormalParameter);
assert(value == null || value >= 0);
@@ -8403,12 +8102,6 @@
}
@override
- int get binaryExpression_operator {
- assert(kind == idl.LinkedNodeKind.binaryExpression);
- return _variantField_16 ??= 0;
- }
-
- @override
int get block_rightBracket {
assert(kind == idl.LinkedNodeKind.block);
return _variantField_16 ??= 0;
@@ -8433,18 +8126,6 @@
}
@override
- int get classDeclaration_classKeyword {
- assert(kind == idl.LinkedNodeKind.classDeclaration);
- return _variantField_16 ??= 0;
- }
-
- @override
- int get classTypeAlias_equals {
- assert(kind == idl.LinkedNodeKind.classTypeAlias);
- return _variantField_16 ??= 0;
- }
-
- @override
int get compilationUnit_endToken {
assert(kind == idl.LinkedNodeKind.compilationUnit);
return _variantField_16 ??= 0;
@@ -8463,12 +8144,6 @@
}
@override
- int get constructorDeclaration_externalKeyword {
- assert(kind == idl.LinkedNodeKind.constructorDeclaration);
- return _variantField_16 ??= 0;
- }
-
- @override
int get constructorFieldInitializer_period {
assert(kind == idl.LinkedNodeKind.constructorFieldInitializer);
return _variantField_16 ??= 0;
@@ -8493,12 +8168,6 @@
}
@override
- int get enumDeclaration_leftBracket {
- assert(kind == idl.LinkedNodeKind.enumDeclaration);
- return _variantField_16 ??= 0;
- }
-
- @override
int get expressionFunctionBody_keyword {
assert(kind == idl.LinkedNodeKind.expressionFunctionBody);
return _variantField_16 ??= 0;
@@ -8511,12 +8180,6 @@
}
@override
- int get fieldFormalParameter_period {
- assert(kind == idl.LinkedNodeKind.fieldFormalParameter);
- return _variantField_16 ??= 0;
- }
-
- @override
int get formalParameterList_leftParenthesis {
assert(kind == idl.LinkedNodeKind.formalParameterList);
return _variantField_16 ??= 0;
@@ -8537,24 +8200,12 @@
}
@override
- int get functionDeclaration_propertyKeyword {
- assert(kind == idl.LinkedNodeKind.functionDeclaration);
- return _variantField_16 ??= 0;
- }
-
- @override
int get genericFunctionType_question {
assert(kind == idl.LinkedNodeKind.genericFunctionType);
return _variantField_16 ??= 0;
}
@override
- int get genericTypeAlias_equals {
- assert(kind == idl.LinkedNodeKind.genericTypeAlias);
- return _variantField_16 ??= 0;
- }
-
- @override
int get ifMixin_ifKeyword {
assert(kind == idl.LinkedNodeKind.ifElement ||
kind == idl.LinkedNodeKind.ifStatement);
@@ -8562,12 +8213,6 @@
}
@override
- int get importDirective_deferredKeyword {
- assert(kind == idl.LinkedNodeKind.importDirective);
- return _variantField_16 ??= 0;
- }
-
- @override
int get indexExpression_period {
assert(kind == idl.LinkedNodeKind.indexExpression);
return _variantField_16 ??= 0;
@@ -8598,8 +8243,25 @@
}
@override
- int get methodDeclaration_modifierKeyword {
- assert(kind == idl.LinkedNodeKind.methodDeclaration);
+ int get nameOffset {
+ assert(kind == idl.LinkedNodeKind.classDeclaration ||
+ kind == idl.LinkedNodeKind.classTypeAlias ||
+ kind == idl.LinkedNodeKind.constructorDeclaration ||
+ kind == idl.LinkedNodeKind.enumConstantDeclaration ||
+ kind == idl.LinkedNodeKind.enumDeclaration ||
+ kind == idl.LinkedNodeKind.exportDirective ||
+ kind == idl.LinkedNodeKind.fieldFormalParameter ||
+ kind == idl.LinkedNodeKind.functionDeclaration ||
+ kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
+ kind == idl.LinkedNodeKind.functionTypeAlias ||
+ kind == idl.LinkedNodeKind.genericTypeAlias ||
+ kind == idl.LinkedNodeKind.importDirective ||
+ kind == idl.LinkedNodeKind.methodDeclaration ||
+ kind == idl.LinkedNodeKind.mixinDeclaration ||
+ kind == idl.LinkedNodeKind.partDirective ||
+ kind == idl.LinkedNodeKind.simpleFormalParameter ||
+ kind == idl.LinkedNodeKind.typeParameter ||
+ kind == idl.LinkedNodeKind.variableDeclaration);
return _variantField_16 ??= 0;
}
@@ -8628,12 +8290,6 @@
}
@override
- int get prefixExpression_operator {
- assert(kind == idl.LinkedNodeKind.prefixExpression);
- return _variantField_16 ??= 0;
- }
-
- @override
int get redirectingConstructorInvocation_period {
assert(kind == idl.LinkedNodeKind.redirectingConstructorInvocation);
return _variantField_16 ??= 0;
@@ -8652,12 +8308,6 @@
}
@override
- int get simpleIdentifier_token {
- assert(kind == idl.LinkedNodeKind.simpleIdentifier);
- return _variantField_16 ??= 0;
- }
-
- @override
int get superConstructorInvocation_period {
assert(kind == idl.LinkedNodeKind.superConstructorInvocation);
return _variantField_16 ??= 0;
@@ -8695,12 +8345,6 @@
}
@override
- int get variableDeclarationList_lateKeyword {
- assert(kind == idl.LinkedNodeKind.variableDeclarationList);
- return _variantField_16 ??= 0;
- }
-
- @override
int get whileStatement_rightParenthesis {
assert(kind == idl.LinkedNodeKind.whileStatement);
return _variantField_16 ??= 0;
@@ -8742,12 +8386,6 @@
_variantField_16 = value;
}
- set binaryExpression_operator(int value) {
- assert(kind == idl.LinkedNodeKind.binaryExpression);
- assert(value == null || value >= 0);
- _variantField_16 = value;
- }
-
set block_rightBracket(int value) {
assert(kind == idl.LinkedNodeKind.block);
assert(value == null || value >= 0);
@@ -8772,18 +8410,6 @@
_variantField_16 = value;
}
- set classDeclaration_classKeyword(int value) {
- assert(kind == idl.LinkedNodeKind.classDeclaration);
- assert(value == null || value >= 0);
- _variantField_16 = value;
- }
-
- set classTypeAlias_equals(int value) {
- assert(kind == idl.LinkedNodeKind.classTypeAlias);
- assert(value == null || value >= 0);
- _variantField_16 = value;
- }
-
set compilationUnit_endToken(int value) {
assert(kind == idl.LinkedNodeKind.compilationUnit);
assert(value == null || value >= 0);
@@ -8802,12 +8428,6 @@
_variantField_16 = value;
}
- set constructorDeclaration_externalKeyword(int value) {
- assert(kind == idl.LinkedNodeKind.constructorDeclaration);
- assert(value == null || value >= 0);
- _variantField_16 = value;
- }
-
set constructorFieldInitializer_period(int value) {
assert(kind == idl.LinkedNodeKind.constructorFieldInitializer);
assert(value == null || value >= 0);
@@ -8832,12 +8452,6 @@
_variantField_16 = value;
}
- set enumDeclaration_leftBracket(int value) {
- assert(kind == idl.LinkedNodeKind.enumDeclaration);
- assert(value == null || value >= 0);
- _variantField_16 = value;
- }
-
set expressionFunctionBody_keyword(int value) {
assert(kind == idl.LinkedNodeKind.expressionFunctionBody);
assert(value == null || value >= 0);
@@ -8850,12 +8464,6 @@
_variantField_16 = value;
}
- set fieldFormalParameter_period(int value) {
- assert(kind == idl.LinkedNodeKind.fieldFormalParameter);
- assert(value == null || value >= 0);
- _variantField_16 = value;
- }
-
set formalParameterList_leftParenthesis(int value) {
assert(kind == idl.LinkedNodeKind.formalParameterList);
assert(value == null || value >= 0);
@@ -8876,24 +8484,12 @@
_variantField_16 = value;
}
- set functionDeclaration_propertyKeyword(int value) {
- assert(kind == idl.LinkedNodeKind.functionDeclaration);
- assert(value == null || value >= 0);
- _variantField_16 = value;
- }
-
set genericFunctionType_question(int value) {
assert(kind == idl.LinkedNodeKind.genericFunctionType);
assert(value == null || value >= 0);
_variantField_16 = value;
}
- set genericTypeAlias_equals(int value) {
- assert(kind == idl.LinkedNodeKind.genericTypeAlias);
- assert(value == null || value >= 0);
- _variantField_16 = value;
- }
-
set ifMixin_ifKeyword(int value) {
assert(kind == idl.LinkedNodeKind.ifElement ||
kind == idl.LinkedNodeKind.ifStatement);
@@ -8901,12 +8497,6 @@
_variantField_16 = value;
}
- set importDirective_deferredKeyword(int value) {
- assert(kind == idl.LinkedNodeKind.importDirective);
- assert(value == null || value >= 0);
- _variantField_16 = value;
- }
-
set indexExpression_period(int value) {
assert(kind == idl.LinkedNodeKind.indexExpression);
assert(value == null || value >= 0);
@@ -8937,8 +8527,25 @@
_variantField_16 = value;
}
- set methodDeclaration_modifierKeyword(int value) {
- assert(kind == idl.LinkedNodeKind.methodDeclaration);
+ set nameOffset(int value) {
+ assert(kind == idl.LinkedNodeKind.classDeclaration ||
+ kind == idl.LinkedNodeKind.classTypeAlias ||
+ kind == idl.LinkedNodeKind.constructorDeclaration ||
+ kind == idl.LinkedNodeKind.enumConstantDeclaration ||
+ kind == idl.LinkedNodeKind.enumDeclaration ||
+ kind == idl.LinkedNodeKind.exportDirective ||
+ kind == idl.LinkedNodeKind.fieldFormalParameter ||
+ kind == idl.LinkedNodeKind.functionDeclaration ||
+ kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
+ kind == idl.LinkedNodeKind.functionTypeAlias ||
+ kind == idl.LinkedNodeKind.genericTypeAlias ||
+ kind == idl.LinkedNodeKind.importDirective ||
+ kind == idl.LinkedNodeKind.methodDeclaration ||
+ kind == idl.LinkedNodeKind.mixinDeclaration ||
+ kind == idl.LinkedNodeKind.partDirective ||
+ kind == idl.LinkedNodeKind.simpleFormalParameter ||
+ kind == idl.LinkedNodeKind.typeParameter ||
+ kind == idl.LinkedNodeKind.variableDeclaration);
assert(value == null || value >= 0);
_variantField_16 = value;
}
@@ -8967,12 +8574,6 @@
_variantField_16 = value;
}
- set prefixExpression_operator(int value) {
- assert(kind == idl.LinkedNodeKind.prefixExpression);
- assert(value == null || value >= 0);
- _variantField_16 = value;
- }
-
set redirectingConstructorInvocation_period(int value) {
assert(kind == idl.LinkedNodeKind.redirectingConstructorInvocation);
assert(value == null || value >= 0);
@@ -8991,12 +8592,6 @@
_variantField_16 = value;
}
- set simpleIdentifier_token(int value) {
- assert(kind == idl.LinkedNodeKind.simpleIdentifier);
- assert(value == null || value >= 0);
- _variantField_16 = value;
- }
-
set superConstructorInvocation_period(int value) {
assert(kind == idl.LinkedNodeKind.superConstructorInvocation);
assert(value == null || value >= 0);
@@ -9034,12 +8629,6 @@
_variantField_16 = value;
}
- set variableDeclarationList_lateKeyword(int value) {
- assert(kind == idl.LinkedNodeKind.variableDeclarationList);
- assert(value == null || value >= 0);
- _variantField_16 = value;
- }
-
set whileStatement_rightParenthesis(int value) {
assert(kind == idl.LinkedNodeKind.whileStatement);
assert(value == null || value >= 0);
@@ -9125,12 +8714,6 @@
}
@override
- int get methodDeclaration_propertyKeyword {
- assert(kind == idl.LinkedNodeKind.methodDeclaration);
- return _variantField_18 ??= 0;
- }
-
- @override
int get normalFormalParameter_requiredKeyword {
assert(kind == idl.LinkedNodeKind.fieldFormalParameter ||
kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
@@ -9224,12 +8807,6 @@
_variantField_18 = value;
}
- set methodDeclaration_propertyKeyword(int value) {
- assert(kind == idl.LinkedNodeKind.methodDeclaration);
- assert(value == null || value >= 0);
- _variantField_18 = value;
- }
-
set normalFormalParameter_requiredKeyword(int value) {
assert(kind == idl.LinkedNodeKind.fieldFormalParameter ||
kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
@@ -9304,14 +8881,6 @@
}
@override
- int get normalFormalParameter_covariantKeyword {
- assert(kind == idl.LinkedNodeKind.fieldFormalParameter ||
- kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
- kind == idl.LinkedNodeKind.simpleFormalParameter);
- return _variantField_19 ??= 0;
- }
-
- @override
int get switchStatement_rightBracket {
assert(kind == idl.LinkedNodeKind.switchStatement);
return _variantField_19 ??= 0;
@@ -9326,13 +8895,6 @@
}
@override
- int get typedLiteral_constKeyword {
- assert(kind == idl.LinkedNodeKind.listLiteral ||
- kind == idl.LinkedNodeKind.setOrMapLiteral);
- return _variantField_19 ??= 0;
- }
-
- @override
int get uriBasedDirective_uriElement {
assert(kind == idl.LinkedNodeKind.exportDirective ||
kind == idl.LinkedNodeKind.importDirective ||
@@ -9391,14 +8953,6 @@
_variantField_19 = value;
}
- set normalFormalParameter_covariantKeyword(int value) {
- assert(kind == idl.LinkedNodeKind.fieldFormalParameter ||
- kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
- kind == idl.LinkedNodeKind.simpleFormalParameter);
- assert(value == null || value >= 0);
- _variantField_19 = value;
- }
-
set switchStatement_rightBracket(int value) {
assert(kind == idl.LinkedNodeKind.switchStatement);
assert(value == null || value >= 0);
@@ -9413,13 +8967,6 @@
_variantField_19 = value;
}
- set typedLiteral_constKeyword(int value) {
- assert(kind == idl.LinkedNodeKind.listLiteral ||
- kind == idl.LinkedNodeKind.setOrMapLiteral);
- assert(value == null || value >= 0);
- _variantField_19 = value;
- }
-
set uriBasedDirective_uriElement(int value) {
assert(kind == idl.LinkedNodeKind.exportDirective ||
kind == idl.LinkedNodeKind.importDirective ||
@@ -9429,6 +8976,28 @@
}
@override
+ idl.UnlinkedTokenType get binaryExpression_operator {
+ assert(kind == idl.LinkedNodeKind.binaryExpression);
+ return _variantField_28 ??= idl.UnlinkedTokenType.NOTHING;
+ }
+
+ @override
+ idl.UnlinkedTokenType get prefixExpression_operator {
+ assert(kind == idl.LinkedNodeKind.prefixExpression);
+ return _variantField_28 ??= idl.UnlinkedTokenType.NOTHING;
+ }
+
+ set binaryExpression_operator(idl.UnlinkedTokenType value) {
+ assert(kind == idl.LinkedNodeKind.binaryExpression);
+ _variantField_28 = value;
+ }
+
+ set prefixExpression_operator(idl.UnlinkedTokenType value) {
+ assert(kind == idl.LinkedNodeKind.prefixExpression);
+ _variantField_28 = value;
+ }
+
+ @override
bool get booleanLiteral_value {
assert(kind == idl.LinkedNodeKind.booleanLiteral);
return _variantField_27 ??= false;
@@ -9586,14 +9155,6 @@
return _variantField_12;
}
- @override
- LinkedNodeBuilder get normalFormalParameter_identifier {
- assert(kind == idl.LinkedNodeKind.fieldFormalParameter ||
- kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
- kind == idl.LinkedNodeKind.simpleFormalParameter);
- return _variantField_12;
- }
-
set classOrMixinDeclaration_implementsClause(LinkedNodeBuilder value) {
assert(kind == idl.LinkedNodeKind.classDeclaration ||
kind == idl.LinkedNodeKind.mixinDeclaration);
@@ -9606,13 +9167,6 @@
_variantField_12 = value;
}
- set normalFormalParameter_identifier(LinkedNodeBuilder value) {
- assert(kind == idl.LinkedNodeKind.fieldFormalParameter ||
- kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
- kind == idl.LinkedNodeKind.simpleFormalParameter);
- _variantField_12 = value;
- }
-
@override
List<LinkedNodeBuilder> get classOrMixinDeclaration_members {
assert(kind == idl.LinkedNodeKind.classDeclaration ||
@@ -9757,27 +9311,40 @@
}
@override
- List<int> get comment_tokens {
+ List<String> get comment_tokens {
assert(kind == idl.LinkedNodeKind.comment);
- return _variantField_28 ??= <int>[];
+ return _variantField_36 ??= <String>[];
}
@override
- List<int> get symbolLiteral_components {
- assert(kind == idl.LinkedNodeKind.symbolLiteral);
- return _variantField_28 ??= <int>[];
+ List<String> get mixinDeclaration_superInvokedNames {
+ assert(kind == idl.LinkedNodeKind.mixinDeclaration);
+ return _variantField_36 ??= <String>[];
}
- set comment_tokens(List<int> value) {
+ @override
+ List<String> get names {
+ assert(kind == idl.LinkedNodeKind.hideCombinator ||
+ kind == idl.LinkedNodeKind.showCombinator ||
+ kind == idl.LinkedNodeKind.symbolLiteral);
+ return _variantField_36 ??= <String>[];
+ }
+
+ set comment_tokens(List<String> value) {
assert(kind == idl.LinkedNodeKind.comment);
- assert(value == null || value.every((e) => e >= 0));
- _variantField_28 = value;
+ _variantField_36 = value;
}
- set symbolLiteral_components(List<int> value) {
- assert(kind == idl.LinkedNodeKind.symbolLiteral);
- assert(value == null || value.every((e) => e >= 0));
- _variantField_28 = value;
+ set mixinDeclaration_superInvokedNames(List<String> value) {
+ assert(kind == idl.LinkedNodeKind.mixinDeclaration);
+ _variantField_36 = value;
+ }
+
+ set names(List<String> value) {
+ assert(kind == idl.LinkedNodeKind.hideCombinator ||
+ kind == idl.LinkedNodeKind.showCombinator ||
+ kind == idl.LinkedNodeKind.symbolLiteral);
+ _variantField_36 = value;
}
@override
@@ -9834,22 +9401,11 @@
return _variantField_10;
}
- @override
- LinkedNodeBuilder get methodDeclaration_name {
- assert(kind == idl.LinkedNodeKind.methodDeclaration);
- return _variantField_10;
- }
-
set constructorDeclaration_returnType(LinkedNodeBuilder value) {
assert(kind == idl.LinkedNodeKind.constructorDeclaration);
_variantField_10 = value;
}
- set methodDeclaration_name(LinkedNodeBuilder value) {
- assert(kind == idl.LinkedNodeKind.methodDeclaration);
- _variantField_10 = value;
- }
-
@override
idl.LinkedNodeFormalParameterKind get defaultFormalParameter_kind {
assert(kind == idl.LinkedNodeKind.defaultFormalParameter);
@@ -9890,23 +9446,17 @@
@override
LinkedNodeTypeBuilder get expression_type {
- assert(kind == idl.LinkedNodeKind.adjacentStrings ||
- kind == idl.LinkedNodeKind.assignmentExpression ||
+ assert(kind == idl.LinkedNodeKind.assignmentExpression ||
kind == idl.LinkedNodeKind.asExpression ||
kind == idl.LinkedNodeKind.awaitExpression ||
kind == idl.LinkedNodeKind.binaryExpression ||
- kind == idl.LinkedNodeKind.booleanLiteral ||
kind == idl.LinkedNodeKind.cascadeExpression ||
kind == idl.LinkedNodeKind.conditionalExpression ||
- kind == idl.LinkedNodeKind.doubleLiteral ||
kind == idl.LinkedNodeKind.functionExpressionInvocation ||
kind == idl.LinkedNodeKind.indexExpression ||
kind == idl.LinkedNodeKind.instanceCreationExpression ||
- kind == idl.LinkedNodeKind.integerLiteral ||
- kind == idl.LinkedNodeKind.isExpression ||
kind == idl.LinkedNodeKind.listLiteral ||
kind == idl.LinkedNodeKind.methodInvocation ||
- kind == idl.LinkedNodeKind.namedExpression ||
kind == idl.LinkedNodeKind.nullLiteral ||
kind == idl.LinkedNodeKind.parenthesizedExpression ||
kind == idl.LinkedNodeKind.prefixExpression ||
@@ -9916,8 +9466,6 @@
kind == idl.LinkedNodeKind.rethrowExpression ||
kind == idl.LinkedNodeKind.setOrMapLiteral ||
kind == idl.LinkedNodeKind.simpleIdentifier ||
- kind == idl.LinkedNodeKind.simpleStringLiteral ||
- kind == idl.LinkedNodeKind.stringInterpolation ||
kind == idl.LinkedNodeKind.superExpression ||
kind == idl.LinkedNodeKind.symbolLiteral ||
kind == idl.LinkedNodeKind.thisExpression ||
@@ -9932,23 +9480,17 @@
}
set expression_type(LinkedNodeTypeBuilder value) {
- assert(kind == idl.LinkedNodeKind.adjacentStrings ||
- kind == idl.LinkedNodeKind.assignmentExpression ||
+ assert(kind == idl.LinkedNodeKind.assignmentExpression ||
kind == idl.LinkedNodeKind.asExpression ||
kind == idl.LinkedNodeKind.awaitExpression ||
kind == idl.LinkedNodeKind.binaryExpression ||
- kind == idl.LinkedNodeKind.booleanLiteral ||
kind == idl.LinkedNodeKind.cascadeExpression ||
kind == idl.LinkedNodeKind.conditionalExpression ||
- kind == idl.LinkedNodeKind.doubleLiteral ||
kind == idl.LinkedNodeKind.functionExpressionInvocation ||
kind == idl.LinkedNodeKind.indexExpression ||
kind == idl.LinkedNodeKind.instanceCreationExpression ||
- kind == idl.LinkedNodeKind.integerLiteral ||
- kind == idl.LinkedNodeKind.isExpression ||
kind == idl.LinkedNodeKind.listLiteral ||
kind == idl.LinkedNodeKind.methodInvocation ||
- kind == idl.LinkedNodeKind.namedExpression ||
kind == idl.LinkedNodeKind.nullLiteral ||
kind == idl.LinkedNodeKind.parenthesizedExpression ||
kind == idl.LinkedNodeKind.prefixExpression ||
@@ -9958,8 +9500,6 @@
kind == idl.LinkedNodeKind.rethrowExpression ||
kind == idl.LinkedNodeKind.setOrMapLiteral ||
kind == idl.LinkedNodeKind.simpleIdentifier ||
- kind == idl.LinkedNodeKind.simpleStringLiteral ||
- kind == idl.LinkedNodeKind.stringInterpolation ||
kind == idl.LinkedNodeKind.superExpression ||
kind == idl.LinkedNodeKind.symbolLiteral ||
kind == idl.LinkedNodeKind.thisExpression ||
@@ -9973,6 +9513,25 @@
}
@override
+ int get flags => _flags ??= 0;
+
+ set flags(int value) {
+ assert(value == null || value >= 0);
+ this._flags = value;
+ }
+
+ @override
+ String get importDirective_prefix {
+ assert(kind == idl.LinkedNodeKind.importDirective);
+ return _variantField_41 ??= '';
+ }
+
+ set importDirective_prefix(String value) {
+ assert(kind == idl.LinkedNodeKind.importDirective);
+ _variantField_41 = value;
+ }
+
+ @override
String get interpolationString_value {
assert(kind == idl.LinkedNodeKind.interpolationString);
return _variantField_30 ??= '';
@@ -9991,18 +9550,6 @@
}
@override
- LinkedNodeBuilder get namedCompilationUnitMember_name {
- assert(kind == idl.LinkedNodeKind.classDeclaration ||
- kind == idl.LinkedNodeKind.classTypeAlias ||
- kind == idl.LinkedNodeKind.enumDeclaration ||
- kind == idl.LinkedNodeKind.functionDeclaration ||
- kind == idl.LinkedNodeKind.functionTypeAlias ||
- kind == idl.LinkedNodeKind.genericTypeAlias ||
- kind == idl.LinkedNodeKind.mixinDeclaration);
- return _variantField_14;
- }
-
- @override
LinkedNodeBuilder get normalFormalParameter_comment {
assert(kind == idl.LinkedNodeKind.fieldFormalParameter ||
kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
@@ -10031,17 +9578,6 @@
_variantField_14 = value;
}
- set namedCompilationUnitMember_name(LinkedNodeBuilder value) {
- assert(kind == idl.LinkedNodeKind.classDeclaration ||
- kind == idl.LinkedNodeKind.classTypeAlias ||
- kind == idl.LinkedNodeKind.enumDeclaration ||
- kind == idl.LinkedNodeKind.functionDeclaration ||
- kind == idl.LinkedNodeKind.functionTypeAlias ||
- kind == idl.LinkedNodeKind.genericTypeAlias ||
- kind == idl.LinkedNodeKind.mixinDeclaration);
- _variantField_14 = value;
- }
-
set normalFormalParameter_comment(LinkedNodeBuilder value) {
assert(kind == idl.LinkedNodeKind.fieldFormalParameter ||
kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
@@ -10077,14 +9613,10 @@
}
@override
- List<String> get mixinDeclaration_superInvokedNames {
- assert(kind == idl.LinkedNodeKind.mixinDeclaration);
- return _variantField_36 ??= <String>[];
- }
+ String get name => _name ??= '';
- set mixinDeclaration_superInvokedNames(List<String> value) {
- assert(kind == idl.LinkedNodeKind.mixinDeclaration);
- _variantField_36 = value;
+ set name(String value) {
+ this._name = value;
}
@override
@@ -10142,6 +9674,17 @@
}
@override
+ idl.UnlinkedTokenType get spreadElement_spreadOperator2 {
+ assert(kind == idl.LinkedNodeKind.spreadElement);
+ return _variantField_40 ??= idl.UnlinkedTokenType.NOTHING;
+ }
+
+ set spreadElement_spreadOperator2(idl.UnlinkedTokenType value) {
+ assert(kind == idl.LinkedNodeKind.spreadElement);
+ _variantField_40 = value;
+ }
+
+ @override
TopLevelInferenceErrorBuilder get topLevelTypeInferenceError {
assert(kind == idl.LinkedNodeKind.simpleFormalParameter ||
kind == idl.LinkedNodeKind.variableDeclaration);
@@ -10186,23 +9729,19 @@
LinkedNodeBuilder annotatedNode_comment,
List<LinkedNodeBuilder> annotatedNode_metadata,
LinkedNodeBuilder functionDeclaration_functionExpression,
- int functionDeclaration_externalKeyword,
LinkedNodeBuilder functionDeclaration_returnType,
- int functionDeclaration_propertyKeyword,
+ int nameOffset,
int codeLength,
int codeOffset,
- LinkedNodeBuilder namedCompilationUnitMember_name,
}) : _kind = idl.LinkedNodeKind.functionDeclaration,
_variantField_24 = actualReturnType,
_variantField_11 = annotatedNode_comment,
_variantField_4 = annotatedNode_metadata,
_variantField_6 = functionDeclaration_functionExpression,
- _variantField_15 = functionDeclaration_externalKeyword,
_variantField_7 = functionDeclaration_returnType,
- _variantField_16 = functionDeclaration_propertyKeyword,
+ _variantField_16 = nameOffset,
_variantField_34 = codeLength,
- _variantField_33 = codeOffset,
- _variantField_14 = namedCompilationUnitMember_name;
+ _variantField_33 = codeOffset;
LinkedNodeBuilder.functionExpression({
LinkedNodeTypeBuilder actualReturnType,
@@ -10226,12 +9765,12 @@
LinkedNodeBuilder functionTypeAlias_formalParameters,
LinkedNodeBuilder functionTypeAlias_returnType,
LinkedNodeBuilder functionTypeAlias_typeParameters,
+ int nameOffset,
int typeAlias_typedefKeyword,
int typeAlias_semicolon,
bool typeAlias_hasSelfReference,
int codeLength,
int codeOffset,
- LinkedNodeBuilder namedCompilationUnitMember_name,
bool simplyBoundable_isSimplyBounded,
}) : _kind = idl.LinkedNodeKind.functionTypeAlias,
_variantField_24 = actualReturnType,
@@ -10240,12 +9779,12 @@
_variantField_6 = functionTypeAlias_formalParameters,
_variantField_7 = functionTypeAlias_returnType,
_variantField_8 = functionTypeAlias_typeParameters,
+ _variantField_16 = nameOffset,
_variantField_18 = typeAlias_typedefKeyword,
_variantField_19 = typeAlias_semicolon,
_variantField_27 = typeAlias_hasSelfReference,
_variantField_34 = codeLength,
_variantField_33 = codeOffset,
- _variantField_14 = namedCompilationUnitMember_name,
_variantField_31 = simplyBoundable_isSimplyBounded;
LinkedNodeBuilder.genericFunctionType({
@@ -10272,51 +9811,42 @@
LinkedNodeBuilder annotatedNode_comment,
List<LinkedNodeBuilder> annotatedNode_metadata,
LinkedNodeBuilder methodDeclaration_body,
- int methodDeclaration_externalKeyword,
LinkedNodeBuilder methodDeclaration_formalParameters,
int methodDeclaration_operatorKeyword,
LinkedNodeBuilder methodDeclaration_returnType,
- int methodDeclaration_modifierKeyword,
- int methodDeclaration_propertyKeyword,
+ int nameOffset,
int methodDeclaration_actualProperty,
bool executable_isAsynchronous,
LinkedNodeBuilder methodDeclaration_typeParameters,
int codeLength,
int codeOffset,
- LinkedNodeBuilder methodDeclaration_name,
bool executable_isGenerator,
}) : _kind = idl.LinkedNodeKind.methodDeclaration,
_variantField_24 = actualReturnType,
_variantField_11 = annotatedNode_comment,
_variantField_4 = annotatedNode_metadata,
_variantField_6 = methodDeclaration_body,
- _variantField_15 = methodDeclaration_externalKeyword,
_variantField_7 = methodDeclaration_formalParameters,
_variantField_17 = methodDeclaration_operatorKeyword,
_variantField_8 = methodDeclaration_returnType,
- _variantField_16 = methodDeclaration_modifierKeyword,
- _variantField_18 = methodDeclaration_propertyKeyword,
+ _variantField_16 = nameOffset,
_variantField_19 = methodDeclaration_actualProperty,
_variantField_27 = executable_isAsynchronous,
_variantField_9 = methodDeclaration_typeParameters,
_variantField_34 = codeLength,
_variantField_33 = codeOffset,
- _variantField_10 = methodDeclaration_name,
_variantField_37 = executable_isGenerator;
LinkedNodeBuilder.fieldFormalParameter({
LinkedNodeTypeBuilder actualType,
List<LinkedNodeBuilder> normalFormalParameter_metadata,
LinkedNodeBuilder fieldFormalParameter_type,
- int fieldFormalParameter_keyword,
LinkedNodeBuilder fieldFormalParameter_typeParameters,
int fieldFormalParameter_thisKeyword,
LinkedNodeBuilder fieldFormalParameter_formalParameters,
- int fieldFormalParameter_period,
+ int nameOffset,
int normalFormalParameter_requiredKeyword,
- int normalFormalParameter_covariantKeyword,
bool inheritsCovariant,
- LinkedNodeBuilder normalFormalParameter_identifier,
int codeLength,
int codeOffset,
LinkedNodeBuilder normalFormalParameter_comment,
@@ -10324,15 +9854,12 @@
_variantField_24 = actualType,
_variantField_4 = normalFormalParameter_metadata,
_variantField_6 = fieldFormalParameter_type,
- _variantField_15 = fieldFormalParameter_keyword,
_variantField_7 = fieldFormalParameter_typeParameters,
_variantField_17 = fieldFormalParameter_thisKeyword,
_variantField_8 = fieldFormalParameter_formalParameters,
- _variantField_16 = fieldFormalParameter_period,
+ _variantField_16 = nameOffset,
_variantField_18 = normalFormalParameter_requiredKeyword,
- _variantField_19 = normalFormalParameter_covariantKeyword,
_variantField_27 = inheritsCovariant,
- _variantField_12 = normalFormalParameter_identifier,
_variantField_34 = codeLength,
_variantField_33 = codeOffset,
_variantField_14 = normalFormalParameter_comment;
@@ -10343,10 +9870,9 @@
LinkedNodeBuilder functionTypedFormalParameter_formalParameters,
LinkedNodeBuilder functionTypedFormalParameter_returnType,
LinkedNodeBuilder functionTypedFormalParameter_typeParameters,
+ int nameOffset,
int normalFormalParameter_requiredKeyword,
- int normalFormalParameter_covariantKeyword,
bool inheritsCovariant,
- LinkedNodeBuilder normalFormalParameter_identifier,
int codeLength,
int codeOffset,
LinkedNodeBuilder normalFormalParameter_comment,
@@ -10356,10 +9882,9 @@
_variantField_6 = functionTypedFormalParameter_formalParameters,
_variantField_7 = functionTypedFormalParameter_returnType,
_variantField_8 = functionTypedFormalParameter_typeParameters,
+ _variantField_16 = nameOffset,
_variantField_18 = normalFormalParameter_requiredKeyword,
- _variantField_19 = normalFormalParameter_covariantKeyword,
_variantField_27 = inheritsCovariant,
- _variantField_12 = normalFormalParameter_identifier,
_variantField_34 = codeLength,
_variantField_33 = codeOffset,
_variantField_14 = normalFormalParameter_comment;
@@ -10368,11 +9893,9 @@
LinkedNodeTypeBuilder actualType,
List<LinkedNodeBuilder> normalFormalParameter_metadata,
LinkedNodeBuilder simpleFormalParameter_type,
- int simpleFormalParameter_keyword,
+ int nameOffset,
int normalFormalParameter_requiredKeyword,
- int normalFormalParameter_covariantKeyword,
bool inheritsCovariant,
- LinkedNodeBuilder normalFormalParameter_identifier,
int codeLength,
int codeOffset,
LinkedNodeBuilder normalFormalParameter_comment,
@@ -10381,11 +9904,9 @@
_variantField_24 = actualType,
_variantField_4 = normalFormalParameter_metadata,
_variantField_6 = simpleFormalParameter_type,
- _variantField_15 = simpleFormalParameter_keyword,
+ _variantField_16 = nameOffset,
_variantField_18 = normalFormalParameter_requiredKeyword,
- _variantField_19 = normalFormalParameter_covariantKeyword,
_variantField_27 = inheritsCovariant,
- _variantField_12 = normalFormalParameter_identifier,
_variantField_34 = codeLength,
_variantField_33 = codeOffset,
_variantField_14 = normalFormalParameter_comment,
@@ -10397,7 +9918,7 @@
List<LinkedNodeBuilder> annotatedNode_metadata,
LinkedNodeBuilder variableDeclaration_initializer,
int variableDeclaration_equals,
- LinkedNodeBuilder variableDeclaration_name,
+ int nameOffset,
bool inheritsCovariant,
int codeLength,
int codeOffset,
@@ -10409,7 +9930,7 @@
_variantField_4 = annotatedNode_metadata,
_variantField_6 = variableDeclaration_initializer,
_variantField_15 = variableDeclaration_equals,
- _variantField_7 = variableDeclaration_name,
+ _variantField_16 = nameOffset,
_variantField_27 = inheritsCovariant,
_variantField_34 = codeLength,
_variantField_33 = codeOffset,
@@ -10422,7 +9943,7 @@
int binaryExpression_element,
LinkedNodeBuilder binaryExpression_rightOperand,
LinkedNodeTypeBuilder binaryExpression_elementType,
- int binaryExpression_operator,
+ idl.UnlinkedTokenType binaryExpression_operator,
LinkedNodeTypeBuilder expression_type,
}) : _kind = idl.LinkedNodeKind.binaryExpression,
_variantField_24 = binaryExpression_invokeType,
@@ -10430,7 +9951,7 @@
_variantField_15 = binaryExpression_element,
_variantField_7 = binaryExpression_rightOperand,
_variantField_23 = binaryExpression_elementType,
- _variantField_16 = binaryExpression_operator,
+ _variantField_28 = binaryExpression_operator,
_variantField_25 = expression_type;
LinkedNodeBuilder.functionExpressionInvocation({
@@ -10465,10 +9986,8 @@
LinkedNodeBuilder.adjacentStrings({
List<LinkedNodeBuilder> adjacentStrings_strings,
- LinkedNodeTypeBuilder expression_type,
}) : _kind = idl.LinkedNodeKind.adjacentStrings,
- _variantField_2 = adjacentStrings_strings,
- _variantField_25 = expression_type;
+ _variantField_2 = adjacentStrings_strings;
LinkedNodeBuilder.argumentList({
List<LinkedNodeBuilder> argumentList_arguments,
@@ -10499,11 +10018,11 @@
LinkedNodeBuilder.comment({
List<LinkedNodeBuilder> comment_references,
- List<int> comment_tokens,
+ List<String> comment_tokens,
idl.LinkedNodeCommentType comment_type,
}) : _kind = idl.LinkedNodeKind.comment,
_variantField_2 = comment_references,
- _variantField_28 = comment_tokens,
+ _variantField_36 = comment_tokens,
_variantField_29 = comment_type;
LinkedNodeBuilder.compilationUnit({
@@ -10528,11 +10047,8 @@
LinkedNodeBuilder annotatedNode_comment,
List<LinkedNodeBuilder> annotatedNode_metadata,
LinkedNodeBuilder constructorDeclaration_body,
- int constructorDeclaration_constKeyword,
- LinkedNodeBuilder constructorDeclaration_name,
- int constructorDeclaration_factoryKeyword,
LinkedNodeBuilder constructorDeclaration_parameters,
- int constructorDeclaration_externalKeyword,
+ int nameOffset,
int constructorDeclaration_period,
int constructorDeclaration_separator,
bool executable_isAsynchronous,
@@ -10546,11 +10062,8 @@
_variantField_11 = annotatedNode_comment,
_variantField_4 = annotatedNode_metadata,
_variantField_6 = constructorDeclaration_body,
- _variantField_15 = constructorDeclaration_constKeyword,
- _variantField_7 = constructorDeclaration_name,
- _variantField_17 = constructorDeclaration_factoryKeyword,
_variantField_8 = constructorDeclaration_parameters,
- _variantField_16 = constructorDeclaration_externalKeyword,
+ _variantField_16 = nameOffset,
_variantField_18 = constructorDeclaration_period,
_variantField_19 = constructorDeclaration_separator,
_variantField_27 = executable_isAsynchronous,
@@ -10569,22 +10082,16 @@
List<LinkedNodeBuilder> enumDeclaration_constants,
LinkedNodeBuilder annotatedNode_comment,
List<LinkedNodeBuilder> annotatedNode_metadata,
- int enumDeclaration_enumKeyword,
- int enumDeclaration_rightBracket,
- int enumDeclaration_leftBracket,
+ int nameOffset,
int codeLength,
int codeOffset,
- LinkedNodeBuilder namedCompilationUnitMember_name,
}) : _kind = idl.LinkedNodeKind.enumDeclaration,
_variantField_2 = enumDeclaration_constants,
_variantField_11 = annotatedNode_comment,
_variantField_4 = annotatedNode_metadata,
- _variantField_15 = enumDeclaration_enumKeyword,
- _variantField_17 = enumDeclaration_rightBracket,
- _variantField_16 = enumDeclaration_leftBracket,
+ _variantField_16 = nameOffset,
_variantField_34 = codeLength,
- _variantField_33 = codeOffset,
- _variantField_14 = namedCompilationUnitMember_name;
+ _variantField_33 = codeOffset;
LinkedNodeBuilder.formalParameterList({
List<LinkedNodeBuilder> formalParameterList_parameters,
@@ -10599,13 +10106,6 @@
_variantField_16 = formalParameterList_leftParenthesis,
_variantField_18 = formalParameterList_rightParenthesis;
- LinkedNodeBuilder.hideCombinator({
- List<LinkedNodeBuilder> hideCombinator_hiddenNames,
- int combinator_keyword,
- }) : _kind = idl.LinkedNodeKind.hideCombinator,
- _variantField_2 = hideCombinator_hiddenNames,
- _variantField_19 = combinator_keyword;
-
LinkedNodeBuilder.implementsClause({
List<LinkedNodeBuilder> implementsClause_interfaces,
int implementsClause_implementsKeyword,
@@ -10629,14 +10129,12 @@
List<LinkedNodeBuilder> listLiteral_elements,
int listLiteral_leftBracket,
int listLiteral_rightBracket,
- int typedLiteral_constKeyword,
LinkedNodeTypeBuilder expression_type,
LinkedNodeBuilder typedLiteral_typeArguments,
}) : _kind = idl.LinkedNodeKind.listLiteral,
_variantField_2 = listLiteral_elements,
_variantField_15 = listLiteral_leftBracket,
_variantField_16 = listLiteral_rightBracket,
- _variantField_19 = typedLiteral_constKeyword,
_variantField_25 = expression_type,
_variantField_14 = typedLiteral_typeArguments;
@@ -10644,6 +10142,7 @@
List<LinkedNodeBuilder> namespaceDirective_combinators,
LinkedNodeBuilder annotatedNode_comment,
List<LinkedNodeBuilder> annotatedNode_metadata,
+ int nameOffset,
int directive_keyword,
int uriBasedDirective_uriElement,
int directive_semicolon,
@@ -10655,6 +10154,7 @@
_variantField_2 = namespaceDirective_combinators,
_variantField_11 = annotatedNode_comment,
_variantField_4 = annotatedNode_metadata,
+ _variantField_16 = nameOffset,
_variantField_18 = directive_keyword,
_variantField_19 = uriBasedDirective_uriElement,
_variantField_33 = directive_semicolon,
@@ -10667,13 +10167,13 @@
List<LinkedNodeBuilder> namespaceDirective_combinators,
LinkedNodeBuilder annotatedNode_comment,
List<LinkedNodeBuilder> annotatedNode_metadata,
- LinkedNodeBuilder importDirective_prefix,
- int importDirective_asKeyword,
- int importDirective_deferredKeyword,
+ int importDirective_prefixOffset,
+ int nameOffset,
int directive_keyword,
int uriBasedDirective_uriElement,
int directive_semicolon,
List<LinkedNodeBuilder> namespaceDirective_configurations,
+ String importDirective_prefix,
LinkedNodeBuilder uriBasedDirective_uri,
String namespaceDirective_selectedUri,
String uriBasedDirective_uriContent,
@@ -10681,13 +10181,13 @@
_variantField_2 = namespaceDirective_combinators,
_variantField_11 = annotatedNode_comment,
_variantField_4 = annotatedNode_metadata,
- _variantField_6 = importDirective_prefix,
- _variantField_15 = importDirective_asKeyword,
- _variantField_16 = importDirective_deferredKeyword,
+ _variantField_15 = importDirective_prefixOffset,
+ _variantField_16 = nameOffset,
_variantField_18 = directive_keyword,
_variantField_19 = uriBasedDirective_uriElement,
_variantField_33 = directive_semicolon,
_variantField_3 = namespaceDirective_configurations,
+ _variantField_41 = importDirective_prefix,
_variantField_14 = uriBasedDirective_uri,
_variantField_20 = namespaceDirective_selectedUri,
_variantField_22 = uriBasedDirective_uriContent;
@@ -10703,7 +10203,6 @@
List<LinkedNodeBuilder> setOrMapLiteral_elements,
int setOrMapLiteral_leftBracket,
int setOrMapLiteral_rightBracket,
- int typedLiteral_constKeyword,
bool setOrMapLiteral_isMap,
LinkedNodeTypeBuilder expression_type,
LinkedNodeBuilder typedLiteral_typeArguments,
@@ -10712,25 +10211,15 @@
_variantField_2 = setOrMapLiteral_elements,
_variantField_15 = setOrMapLiteral_leftBracket,
_variantField_16 = setOrMapLiteral_rightBracket,
- _variantField_19 = typedLiteral_constKeyword,
_variantField_27 = setOrMapLiteral_isMap,
_variantField_25 = expression_type,
_variantField_14 = typedLiteral_typeArguments,
_variantField_31 = setOrMapLiteral_isSet;
- LinkedNodeBuilder.showCombinator({
- List<LinkedNodeBuilder> showCombinator_shownNames,
- int combinator_keyword,
- }) : _kind = idl.LinkedNodeKind.showCombinator,
- _variantField_2 = showCombinator_shownNames,
- _variantField_19 = combinator_keyword;
-
LinkedNodeBuilder.stringInterpolation({
List<LinkedNodeBuilder> stringInterpolation_elements,
- LinkedNodeTypeBuilder expression_type,
}) : _kind = idl.LinkedNodeKind.stringInterpolation,
- _variantField_2 = stringInterpolation_elements,
- _variantField_25 = expression_type;
+ _variantField_2 = stringInterpolation_elements;
LinkedNodeBuilder.switchStatement({
List<LinkedNodeBuilder> switchStatement_members,
@@ -10785,15 +10274,11 @@
LinkedNodeBuilder annotatedNode_comment,
List<LinkedNodeBuilder> annotatedNode_metadata,
LinkedNodeBuilder variableDeclarationList_type,
- int variableDeclarationList_keyword,
- int variableDeclarationList_lateKeyword,
}) : _kind = idl.LinkedNodeKind.variableDeclarationList,
_variantField_2 = variableDeclarationList_variables,
_variantField_11 = annotatedNode_comment,
_variantField_4 = annotatedNode_metadata,
- _variantField_6 = variableDeclarationList_type,
- _variantField_15 = variableDeclarationList_keyword,
- _variantField_16 = variableDeclarationList_lateKeyword;
+ _variantField_6 = variableDeclarationList_type;
LinkedNodeBuilder.withClause({
List<LinkedNodeBuilder> withClause_mixinTypes,
@@ -10806,10 +10291,9 @@
LinkedNodeBuilder annotatedNode_comment,
List<LinkedNodeBuilder> annotatedNode_metadata,
LinkedNodeBuilder classDeclaration_extendsClause,
- int classDeclaration_abstractKeyword,
LinkedNodeBuilder classDeclaration_withClause,
LinkedNodeBuilder classDeclaration_nativeClause,
- int classDeclaration_classKeyword,
+ int nameOffset,
int classOrMixinDeclaration_rightBracket,
int classOrMixinDeclaration_leftBracket,
bool classDeclaration_isDartObject,
@@ -10818,16 +10302,14 @@
LinkedNodeBuilder classOrMixinDeclaration_typeParameters,
int codeLength,
int codeOffset,
- LinkedNodeBuilder namedCompilationUnitMember_name,
bool simplyBoundable_isSimplyBounded,
}) : _kind = idl.LinkedNodeKind.classDeclaration,
_variantField_11 = annotatedNode_comment,
_variantField_4 = annotatedNode_metadata,
_variantField_6 = classDeclaration_extendsClause,
- _variantField_15 = classDeclaration_abstractKeyword,
_variantField_7 = classDeclaration_withClause,
_variantField_8 = classDeclaration_nativeClause,
- _variantField_16 = classDeclaration_classKeyword,
+ _variantField_16 = nameOffset,
_variantField_18 = classOrMixinDeclaration_rightBracket,
_variantField_19 = classOrMixinDeclaration_leftBracket,
_variantField_27 = classDeclaration_isDartObject,
@@ -10836,38 +10318,33 @@
_variantField_13 = classOrMixinDeclaration_typeParameters,
_variantField_34 = codeLength,
_variantField_33 = codeOffset,
- _variantField_14 = namedCompilationUnitMember_name,
_variantField_31 = simplyBoundable_isSimplyBounded;
LinkedNodeBuilder.classTypeAlias({
LinkedNodeBuilder annotatedNode_comment,
List<LinkedNodeBuilder> annotatedNode_metadata,
LinkedNodeBuilder classTypeAlias_typeParameters,
- int classTypeAlias_abstractKeyword,
LinkedNodeBuilder classTypeAlias_superclass,
LinkedNodeBuilder classTypeAlias_withClause,
- int classTypeAlias_equals,
+ int nameOffset,
int typeAlias_typedefKeyword,
int typeAlias_semicolon,
LinkedNodeBuilder classTypeAlias_implementsClause,
int codeLength,
int codeOffset,
- LinkedNodeBuilder namedCompilationUnitMember_name,
bool simplyBoundable_isSimplyBounded,
}) : _kind = idl.LinkedNodeKind.classTypeAlias,
_variantField_11 = annotatedNode_comment,
_variantField_4 = annotatedNode_metadata,
_variantField_6 = classTypeAlias_typeParameters,
- _variantField_15 = classTypeAlias_abstractKeyword,
_variantField_7 = classTypeAlias_superclass,
_variantField_8 = classTypeAlias_withClause,
- _variantField_16 = classTypeAlias_equals,
+ _variantField_16 = nameOffset,
_variantField_18 = typeAlias_typedefKeyword,
_variantField_19 = typeAlias_semicolon,
_variantField_9 = classTypeAlias_implementsClause,
_variantField_34 = codeLength,
_variantField_33 = codeOffset,
- _variantField_14 = namedCompilationUnitMember_name,
_variantField_31 = simplyBoundable_isSimplyBounded;
LinkedNodeBuilder.declaredIdentifier({
@@ -10886,25 +10363,21 @@
LinkedNodeBuilder.enumConstantDeclaration({
LinkedNodeBuilder annotatedNode_comment,
List<LinkedNodeBuilder> annotatedNode_metadata,
- LinkedNodeBuilder enumConstantDeclaration_name,
+ int nameOffset,
}) : _kind = idl.LinkedNodeKind.enumConstantDeclaration,
_variantField_11 = annotatedNode_comment,
_variantField_4 = annotatedNode_metadata,
- _variantField_6 = enumConstantDeclaration_name;
+ _variantField_16 = nameOffset;
LinkedNodeBuilder.fieldDeclaration({
LinkedNodeBuilder annotatedNode_comment,
List<LinkedNodeBuilder> annotatedNode_metadata,
LinkedNodeBuilder fieldDeclaration_fields,
- int fieldDeclaration_covariantKeyword,
- int fieldDeclaration_staticKeyword,
int fieldDeclaration_semicolon,
}) : _kind = idl.LinkedNodeKind.fieldDeclaration,
_variantField_11 = annotatedNode_comment,
_variantField_4 = annotatedNode_metadata,
_variantField_6 = fieldDeclaration_fields,
- _variantField_15 = fieldDeclaration_covariantKeyword,
- _variantField_17 = fieldDeclaration_staticKeyword,
_variantField_16 = fieldDeclaration_semicolon;
LinkedNodeBuilder.genericTypeAlias({
@@ -10912,26 +10385,24 @@
List<LinkedNodeBuilder> annotatedNode_metadata,
LinkedNodeBuilder genericTypeAlias_typeParameters,
LinkedNodeBuilder genericTypeAlias_functionType,
- int genericTypeAlias_equals,
+ int nameOffset,
int typeAlias_typedefKeyword,
int typeAlias_semicolon,
bool typeAlias_hasSelfReference,
int codeLength,
int codeOffset,
- LinkedNodeBuilder namedCompilationUnitMember_name,
bool simplyBoundable_isSimplyBounded,
}) : _kind = idl.LinkedNodeKind.genericTypeAlias,
_variantField_11 = annotatedNode_comment,
_variantField_4 = annotatedNode_metadata,
_variantField_6 = genericTypeAlias_typeParameters,
_variantField_7 = genericTypeAlias_functionType,
- _variantField_16 = genericTypeAlias_equals,
+ _variantField_16 = nameOffset,
_variantField_18 = typeAlias_typedefKeyword,
_variantField_19 = typeAlias_semicolon,
_variantField_27 = typeAlias_hasSelfReference,
_variantField_34 = codeLength,
_variantField_33 = codeOffset,
- _variantField_14 = namedCompilationUnitMember_name,
_variantField_31 = simplyBoundable_isSimplyBounded;
LinkedNodeBuilder.libraryDirective({
@@ -10952,6 +10423,7 @@
List<LinkedNodeBuilder> annotatedNode_metadata,
LinkedNodeBuilder mixinDeclaration_onClause,
int mixinDeclaration_mixinKeyword,
+ int nameOffset,
int classOrMixinDeclaration_rightBracket,
int classOrMixinDeclaration_leftBracket,
LinkedNodeBuilder classOrMixinDeclaration_implementsClause,
@@ -10959,7 +10431,6 @@
LinkedNodeBuilder classOrMixinDeclaration_typeParameters,
int codeLength,
int codeOffset,
- LinkedNodeBuilder namedCompilationUnitMember_name,
List<String> mixinDeclaration_superInvokedNames,
bool simplyBoundable_isSimplyBounded,
}) : _kind = idl.LinkedNodeKind.mixinDeclaration,
@@ -10967,6 +10438,7 @@
_variantField_4 = annotatedNode_metadata,
_variantField_6 = mixinDeclaration_onClause,
_variantField_15 = mixinDeclaration_mixinKeyword,
+ _variantField_16 = nameOffset,
_variantField_18 = classOrMixinDeclaration_rightBracket,
_variantField_19 = classOrMixinDeclaration_leftBracket,
_variantField_12 = classOrMixinDeclaration_implementsClause,
@@ -10974,13 +10446,13 @@
_variantField_13 = classOrMixinDeclaration_typeParameters,
_variantField_34 = codeLength,
_variantField_33 = codeOffset,
- _variantField_14 = namedCompilationUnitMember_name,
_variantField_36 = mixinDeclaration_superInvokedNames,
_variantField_31 = simplyBoundable_isSimplyBounded;
LinkedNodeBuilder.partDirective({
LinkedNodeBuilder annotatedNode_comment,
List<LinkedNodeBuilder> annotatedNode_metadata,
+ int nameOffset,
int directive_keyword,
int uriBasedDirective_uriElement,
int directive_semicolon,
@@ -10989,6 +10461,7 @@
}) : _kind = idl.LinkedNodeKind.partDirective,
_variantField_11 = annotatedNode_comment,
_variantField_4 = annotatedNode_metadata,
+ _variantField_16 = nameOffset,
_variantField_18 = directive_keyword,
_variantField_19 = uriBasedDirective_uriElement,
_variantField_33 = directive_semicolon,
@@ -11028,8 +10501,8 @@
List<LinkedNodeBuilder> annotatedNode_metadata,
LinkedNodeBuilder typeParameter_bound,
int typeParameter_extendsKeyword,
- LinkedNodeBuilder typeParameter_name,
LinkedNodeTypeBuilder typeParameter_defaultType,
+ int nameOffset,
int codeLength,
int codeOffset,
}) : _kind = idl.LinkedNodeKind.typeParameter,
@@ -11037,8 +10510,8 @@
_variantField_4 = annotatedNode_metadata,
_variantField_6 = typeParameter_bound,
_variantField_15 = typeParameter_extendsKeyword,
- _variantField_7 = typeParameter_name,
_variantField_23 = typeParameter_defaultType,
+ _variantField_16 = nameOffset,
_variantField_34 = codeLength,
_variantField_33 = codeOffset;
@@ -11454,13 +10927,11 @@
LinkedNodeBuilder.instanceCreationExpression({
LinkedNodeBuilder instanceCreationExpression_arguments,
- int instanceCreationExpression_keyword,
LinkedNodeBuilder instanceCreationExpression_constructorName,
LinkedNodeBuilder instanceCreationExpression_typeArguments,
LinkedNodeTypeBuilder expression_type,
}) : _kind = idl.LinkedNodeKind.instanceCreationExpression,
_variantField_6 = instanceCreationExpression_arguments,
- _variantField_15 = instanceCreationExpression_keyword,
_variantField_7 = instanceCreationExpression_constructorName,
_variantField_8 = instanceCreationExpression_typeArguments,
_variantField_25 = expression_type;
@@ -11479,13 +10950,11 @@
int isExpression_isOperator,
LinkedNodeBuilder isExpression_type,
int isExpression_notOperator,
- LinkedNodeTypeBuilder expression_type,
}) : _kind = idl.LinkedNodeKind.isExpression,
_variantField_6 = isExpression_expression,
_variantField_15 = isExpression_isOperator,
_variantField_7 = isExpression_type,
- _variantField_16 = isExpression_notOperator,
- _variantField_25 = expression_type;
+ _variantField_16 = isExpression_notOperator;
LinkedNodeBuilder.label({
LinkedNodeBuilder label_label,
@@ -11506,11 +10975,9 @@
LinkedNodeBuilder.namedExpression({
LinkedNodeBuilder namedExpression_expression,
LinkedNodeBuilder namedExpression_name,
- LinkedNodeTypeBuilder expression_type,
}) : _kind = idl.LinkedNodeKind.namedExpression,
_variantField_6 = namedExpression_expression,
- _variantField_7 = namedExpression_name,
- _variantField_25 = expression_type;
+ _variantField_7 = namedExpression_name;
LinkedNodeBuilder.nativeClause({
LinkedNodeBuilder nativeClause_name,
@@ -11567,13 +11034,13 @@
LinkedNodeBuilder prefixExpression_operand,
int prefixExpression_element,
LinkedNodeTypeBuilder prefixExpression_elementType,
- int prefixExpression_operator,
+ idl.UnlinkedTokenType prefixExpression_operator,
LinkedNodeTypeBuilder expression_type,
}) : _kind = idl.LinkedNodeKind.prefixExpression,
_variantField_6 = prefixExpression_operand,
_variantField_15 = prefixExpression_element,
_variantField_23 = prefixExpression_elementType,
- _variantField_16 = prefixExpression_operator,
+ _variantField_28 = prefixExpression_operator,
_variantField_25 = expression_type;
LinkedNodeBuilder.propertyAccess({
@@ -11613,10 +11080,10 @@
LinkedNodeBuilder.spreadElement({
LinkedNodeBuilder spreadElement_expression,
- int spreadElement_spreadOperator,
+ idl.UnlinkedTokenType spreadElement_spreadOperator2,
}) : _kind = idl.LinkedNodeKind.spreadElement,
_variantField_6 = spreadElement_expression,
- _variantField_15 = spreadElement_spreadOperator;
+ _variantField_40 = spreadElement_spreadOperator2;
LinkedNodeBuilder.superConstructorInvocation({
LinkedNodeBuilder superConstructorInvocation_arguments,
@@ -11684,24 +11151,6 @@
_variantField_17 = yieldStatement_semicolon,
_variantField_16 = yieldStatement_star;
- LinkedNodeBuilder.booleanLiteral({
- int booleanLiteral_literal,
- bool booleanLiteral_value,
- LinkedNodeTypeBuilder expression_type,
- }) : _kind = idl.LinkedNodeKind.booleanLiteral,
- _variantField_15 = booleanLiteral_literal,
- _variantField_27 = booleanLiteral_value,
- _variantField_25 = expression_type;
-
- LinkedNodeBuilder.doubleLiteral({
- int doubleLiteral_literal,
- double doubleLiteral_value,
- LinkedNodeTypeBuilder expression_type,
- }) : _kind = idl.LinkedNodeKind.doubleLiteral,
- _variantField_15 = doubleLiteral_literal,
- _variantField_21 = doubleLiteral_value,
- _variantField_25 = expression_type;
-
LinkedNodeBuilder.emptyFunctionBody({
int emptyFunctionBody_semicolon,
}) : _kind = idl.LinkedNodeKind.emptyFunctionBody,
@@ -11712,15 +11161,6 @@
}) : _kind = idl.LinkedNodeKind.emptyStatement,
_variantField_15 = emptyStatement_semicolon;
- LinkedNodeBuilder.integerLiteral({
- int integerLiteral_literal,
- int integerLiteral_value,
- LinkedNodeTypeBuilder expression_type,
- }) : _kind = idl.LinkedNodeKind.integerLiteral,
- _variantField_15 = integerLiteral_literal,
- _variantField_16 = integerLiteral_value,
- _variantField_25 = expression_type;
-
LinkedNodeBuilder.interpolationString({
int interpolationString_token,
String interpolationString_value,
@@ -11750,25 +11190,14 @@
LinkedNodeBuilder.simpleIdentifier({
int simpleIdentifier_element,
LinkedNodeTypeBuilder simpleIdentifier_elementType,
- int simpleIdentifier_token,
bool simpleIdentifier_isDeclaration,
LinkedNodeTypeBuilder expression_type,
}) : _kind = idl.LinkedNodeKind.simpleIdentifier,
_variantField_15 = simpleIdentifier_element,
_variantField_23 = simpleIdentifier_elementType,
- _variantField_16 = simpleIdentifier_token,
_variantField_27 = simpleIdentifier_isDeclaration,
_variantField_25 = expression_type;
- LinkedNodeBuilder.simpleStringLiteral({
- int simpleStringLiteral_token,
- LinkedNodeTypeBuilder expression_type,
- String simpleStringLiteral_value,
- }) : _kind = idl.LinkedNodeKind.simpleStringLiteral,
- _variantField_15 = simpleStringLiteral_token,
- _variantField_25 = expression_type,
- _variantField_20 = simpleStringLiteral_value;
-
LinkedNodeBuilder.superExpression({
int superExpression_superKeyword,
LinkedNodeTypeBuilder expression_type,
@@ -11778,11 +11207,11 @@
LinkedNodeBuilder.symbolLiteral({
int symbolLiteral_poundSign,
- List<int> symbolLiteral_components,
+ List<String> names,
LinkedNodeTypeBuilder expression_type,
}) : _kind = idl.LinkedNodeKind.symbolLiteral,
_variantField_15 = symbolLiteral_poundSign,
- _variantField_28 = symbolLiteral_components,
+ _variantField_36 = names,
_variantField_25 = expression_type;
LinkedNodeBuilder.thisExpression({
@@ -11792,6 +11221,40 @@
_variantField_15 = thisExpression_thisKeyword,
_variantField_25 = expression_type;
+ LinkedNodeBuilder.integerLiteral({
+ int integerLiteral_value,
+ }) : _kind = idl.LinkedNodeKind.integerLiteral,
+ _variantField_16 = integerLiteral_value;
+
+ LinkedNodeBuilder.hideCombinator({
+ int combinator_keyword,
+ List<String> names,
+ }) : _kind = idl.LinkedNodeKind.hideCombinator,
+ _variantField_19 = combinator_keyword,
+ _variantField_36 = names;
+
+ LinkedNodeBuilder.showCombinator({
+ int combinator_keyword,
+ List<String> names,
+ }) : _kind = idl.LinkedNodeKind.showCombinator,
+ _variantField_19 = combinator_keyword,
+ _variantField_36 = names;
+
+ LinkedNodeBuilder.booleanLiteral({
+ bool booleanLiteral_value,
+ }) : _kind = idl.LinkedNodeKind.booleanLiteral,
+ _variantField_27 = booleanLiteral_value;
+
+ LinkedNodeBuilder.doubleLiteral({
+ double doubleLiteral_value,
+ }) : _kind = idl.LinkedNodeKind.doubleLiteral,
+ _variantField_21 = doubleLiteral_value;
+
+ LinkedNodeBuilder.simpleStringLiteral({
+ String simpleStringLiteral_value,
+ }) : _kind = idl.LinkedNodeKind.simpleStringLiteral,
+ _variantField_20 = simpleStringLiteral_value;
+
/// Flush [informative] data recursively.
void flushInformative() {
_variantField_24?.flushInformative();
@@ -11885,14 +11348,8 @@
signature.addInt(
this._variantField_26 == null ? 0 : this._variantField_26.index);
signature.addBool(this._variantField_27 == true);
- if (this._variantField_28 == null) {
- signature.addInt(0);
- } else {
- signature.addInt(this._variantField_28.length);
- for (var x in this._variantField_28) {
- signature.addInt(x);
- }
- }
+ signature.addInt(
+ this._variantField_28 == null ? 0 : this._variantField_28.index);
signature.addInt(
this._variantField_29 == null ? 0 : this._variantField_29.index);
signature.addString(this._variantField_30 ?? '');
@@ -11912,6 +11369,11 @@
}
}
signature.addBool(this._variantField_37 == true);
+ signature.addString(this._name ?? '');
+ signature.addInt(this._flags ?? 0);
+ signature.addInt(
+ this._variantField_40 == null ? 0 : this._variantField_40.index);
+ signature.addString(this._variantField_41 ?? '');
}
fb.Offset finish(fb.Builder fbBuilder) {
@@ -11927,13 +11389,14 @@
fb.Offset offset_variantField_12;
fb.Offset offset_variantField_5;
fb.Offset offset_variantField_13;
- fb.Offset offset_variantField_28;
+ fb.Offset offset_variantField_36;
fb.Offset offset_variantField_3;
fb.Offset offset_variantField_10;
fb.Offset offset_variantField_25;
+ fb.Offset offset_variantField_41;
fb.Offset offset_variantField_30;
fb.Offset offset_variantField_14;
- fb.Offset offset_variantField_36;
+ fb.Offset offset_name;
fb.Offset offset_variantField_20;
fb.Offset offset_variantField_35;
fb.Offset offset_variantField_22;
@@ -11977,8 +11440,9 @@
if (_variantField_13 != null) {
offset_variantField_13 = _variantField_13.finish(fbBuilder);
}
- if (!(_variantField_28 == null || _variantField_28.isEmpty)) {
- offset_variantField_28 = fbBuilder.writeListUint32(_variantField_28);
+ if (!(_variantField_36 == null || _variantField_36.isEmpty)) {
+ offset_variantField_36 = fbBuilder.writeList(
+ _variantField_36.map((b) => fbBuilder.writeString(b)).toList());
}
if (!(_variantField_3 == null || _variantField_3.isEmpty)) {
offset_variantField_3 = fbBuilder
@@ -11990,15 +11454,17 @@
if (_variantField_25 != null) {
offset_variantField_25 = _variantField_25.finish(fbBuilder);
}
+ if (_variantField_41 != null) {
+ offset_variantField_41 = fbBuilder.writeString(_variantField_41);
+ }
if (_variantField_30 != null) {
offset_variantField_30 = fbBuilder.writeString(_variantField_30);
}
if (_variantField_14 != null) {
offset_variantField_14 = _variantField_14.finish(fbBuilder);
}
- if (!(_variantField_36 == null || _variantField_36.isEmpty)) {
- offset_variantField_36 = fbBuilder.writeList(
- _variantField_36.map((b) => fbBuilder.writeString(b)).toList());
+ if (_name != null) {
+ offset_name = fbBuilder.writeString(_name);
}
if (_variantField_20 != null) {
offset_variantField_20 = fbBuilder.writeString(_variantField_20);
@@ -12052,6 +11518,10 @@
if (_variantField_19 != null && _variantField_19 != 0) {
fbBuilder.addUint32(19, _variantField_19);
}
+ if (_variantField_28 != null &&
+ _variantField_28 != idl.UnlinkedTokenType.NOTHING) {
+ fbBuilder.addUint8(28, _variantField_28.index);
+ }
if (_variantField_27 == true) {
fbBuilder.addBool(27, true);
}
@@ -12073,8 +11543,8 @@
if (_variantField_33 != null && _variantField_33 != 0) {
fbBuilder.addUint32(33, _variantField_33);
}
- if (offset_variantField_28 != null) {
- fbBuilder.addOffset(28, offset_variantField_28);
+ if (offset_variantField_36 != null) {
+ fbBuilder.addOffset(36, offset_variantField_36);
}
if (_variantField_29 != null &&
_variantField_29 != idl.LinkedNodeCommentType.block) {
@@ -12100,6 +11570,12 @@
if (offset_variantField_25 != null) {
fbBuilder.addOffset(25, offset_variantField_25);
}
+ if (_flags != null && _flags != 0) {
+ fbBuilder.addUint32(39, _flags);
+ }
+ if (offset_variantField_41 != null) {
+ fbBuilder.addOffset(41, offset_variantField_41);
+ }
if (offset_variantField_30 != null) {
fbBuilder.addOffset(30, offset_variantField_30);
}
@@ -12112,8 +11588,8 @@
if (_kind != null && _kind != idl.LinkedNodeKind.adjacentStrings) {
fbBuilder.addUint8(0, _kind.index);
}
- if (offset_variantField_36 != null) {
- fbBuilder.addOffset(36, offset_variantField_36);
+ if (offset_name != null) {
+ fbBuilder.addOffset(38, offset_name);
}
if (offset_variantField_20 != null) {
fbBuilder.addOffset(20, offset_variantField_20);
@@ -12121,6 +11597,10 @@
if (_variantField_31 == true) {
fbBuilder.addBool(31, true);
}
+ if (_variantField_40 != null &&
+ _variantField_40 != idl.UnlinkedTokenType.NOTHING) {
+ fbBuilder.addUint8(40, _variantField_40.index);
+ }
if (offset_variantField_35 != null) {
fbBuilder.addOffset(35, offset_variantField_35);
}
@@ -12163,6 +11643,7 @@
int _variantField_16;
int _variantField_18;
int _variantField_19;
+ idl.UnlinkedTokenType _variantField_28;
bool _variantField_27;
idl.LinkedNode _variantField_9;
idl.LinkedNode _variantField_12;
@@ -12170,7 +11651,7 @@
idl.LinkedNode _variantField_13;
int _variantField_34;
int _variantField_33;
- List<int> _variantField_28;
+ List<String> _variantField_36;
idl.LinkedNodeCommentType _variantField_29;
List<idl.LinkedNode> _variantField_3;
idl.LinkedNode _variantField_10;
@@ -12178,13 +11659,16 @@
double _variantField_21;
bool _variantField_37;
idl.LinkedNodeType _variantField_25;
+ int _flags;
+ String _variantField_41;
String _variantField_30;
idl.LinkedNode _variantField_14;
bool _isSynthetic;
idl.LinkedNodeKind _kind;
- List<String> _variantField_36;
+ String _name;
String _variantField_20;
bool _variantField_31;
+ idl.UnlinkedTokenType _variantField_40;
idl.TopLevelInferenceError _variantField_35;
String _variantField_22;
idl.LinkedNodeVariablesDeclaration _variantField_32;
@@ -12320,15 +11804,6 @@
}
@override
- List<idl.LinkedNode> get hideCombinator_hiddenNames {
- assert(kind == idl.LinkedNodeKind.hideCombinator);
- _variantField_2 ??=
- const fb.ListReader<idl.LinkedNode>(const _LinkedNodeReader())
- .vTableGet(_bc, _bcOffset, 2, const <idl.LinkedNode>[]);
- return _variantField_2;
- }
-
- @override
List<idl.LinkedNode> get implementsClause_interfaces {
assert(kind == idl.LinkedNodeKind.implementsClause);
_variantField_2 ??=
@@ -12393,15 +11868,6 @@
}
@override
- List<idl.LinkedNode> get showCombinator_shownNames {
- assert(kind == idl.LinkedNodeKind.showCombinator);
- _variantField_2 ??=
- const fb.ListReader<idl.LinkedNode>(const _LinkedNodeReader())
- .vTableGet(_bc, _bcOffset, 2, const <idl.LinkedNode>[]);
- return _variantField_2;
- }
-
- @override
List<idl.LinkedNode> get stringInterpolation_elements {
assert(kind == idl.LinkedNodeKind.stringInterpolation);
_variantField_2 ??=
@@ -12735,14 +12201,6 @@
}
@override
- idl.LinkedNode get enumConstantDeclaration_name {
- assert(kind == idl.LinkedNodeKind.enumConstantDeclaration);
- _variantField_6 ??=
- const _LinkedNodeReader().vTableGet(_bc, _bcOffset, 6, null);
- return _variantField_6;
- }
-
- @override
idl.LinkedNode get expressionFunctionBody_expression {
assert(kind == idl.LinkedNodeKind.expressionFunctionBody);
_variantField_6 ??=
@@ -12883,14 +12341,6 @@
}
@override
- idl.LinkedNode get importDirective_prefix {
- assert(kind == idl.LinkedNodeKind.importDirective);
- _variantField_6 ??=
- const _LinkedNodeReader().vTableGet(_bc, _bcOffset, 6, null);
- return _variantField_6;
- }
-
- @override
idl.LinkedNode get indexExpression_index {
assert(kind == idl.LinkedNodeKind.indexExpression);
_variantField_6 ??=
@@ -13259,14 +12709,6 @@
}
@override
- int get booleanLiteral_literal {
- assert(kind == idl.LinkedNodeKind.booleanLiteral);
- _variantField_15 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 15, 0);
- return _variantField_15;
- }
-
- @override
int get breakStatement_breakKeyword {
assert(kind == idl.LinkedNodeKind.breakStatement);
_variantField_15 ??=
@@ -13283,22 +12725,6 @@
}
@override
- int get classDeclaration_abstractKeyword {
- assert(kind == idl.LinkedNodeKind.classDeclaration);
- _variantField_15 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 15, 0);
- return _variantField_15;
- }
-
- @override
- int get classTypeAlias_abstractKeyword {
- assert(kind == idl.LinkedNodeKind.classTypeAlias);
- _variantField_15 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 15, 0);
- return _variantField_15;
- }
-
- @override
int get commentReference_newKeyword {
assert(kind == idl.LinkedNodeKind.commentReference);
_variantField_15 ??=
@@ -13331,14 +12757,6 @@
}
@override
- int get constructorDeclaration_constKeyword {
- assert(kind == idl.LinkedNodeKind.constructorDeclaration);
- _variantField_15 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 15, 0);
- return _variantField_15;
- }
-
- @override
int get constructorFieldInitializer_equals {
assert(kind == idl.LinkedNodeKind.constructorFieldInitializer);
_variantField_15 ??=
@@ -13387,14 +12805,6 @@
}
@override
- int get doubleLiteral_literal {
- assert(kind == idl.LinkedNodeKind.doubleLiteral);
- _variantField_15 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 15, 0);
- return _variantField_15;
- }
-
- @override
int get emptyFunctionBody_semicolon {
assert(kind == idl.LinkedNodeKind.emptyFunctionBody);
_variantField_15 ??=
@@ -13411,14 +12821,6 @@
}
@override
- int get enumDeclaration_enumKeyword {
- assert(kind == idl.LinkedNodeKind.enumDeclaration);
- _variantField_15 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 15, 0);
- return _variantField_15;
- }
-
- @override
int get expressionFunctionBody_arrow {
assert(kind == idl.LinkedNodeKind.expressionFunctionBody);
_variantField_15 ??=
@@ -13443,22 +12845,6 @@
}
@override
- int get fieldDeclaration_covariantKeyword {
- assert(kind == idl.LinkedNodeKind.fieldDeclaration);
- _variantField_15 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 15, 0);
- return _variantField_15;
- }
-
- @override
- int get fieldFormalParameter_keyword {
- assert(kind == idl.LinkedNodeKind.fieldFormalParameter);
- _variantField_15 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 15, 0);
- return _variantField_15;
- }
-
- @override
int get forEachParts_inKeyword {
assert(kind == idl.LinkedNodeKind.forEachPartsWithDeclaration ||
kind == idl.LinkedNodeKind.forEachPartsWithIdentifier);
@@ -13494,14 +12880,6 @@
}
@override
- int get functionDeclaration_externalKeyword {
- assert(kind == idl.LinkedNodeKind.functionDeclaration);
- _variantField_15 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 15, 0);
- return _variantField_15;
- }
-
- @override
int get genericFunctionType_functionKeyword {
assert(kind == idl.LinkedNodeKind.genericFunctionType);
_variantField_15 ??=
@@ -13527,7 +12905,7 @@
}
@override
- int get importDirective_asKeyword {
+ int get importDirective_prefixOffset {
assert(kind == idl.LinkedNodeKind.importDirective);
_variantField_15 ??=
const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 15, 0);
@@ -13543,22 +12921,6 @@
}
@override
- int get instanceCreationExpression_keyword {
- assert(kind == idl.LinkedNodeKind.instanceCreationExpression);
- _variantField_15 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 15, 0);
- return _variantField_15;
- }
-
- @override
- int get integerLiteral_literal {
- assert(kind == idl.LinkedNodeKind.integerLiteral);
- _variantField_15 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 15, 0);
- return _variantField_15;
- }
-
- @override
int get interpolationExpression_leftBracket {
assert(kind == idl.LinkedNodeKind.interpolationExpression);
_variantField_15 ??=
@@ -13607,14 +12969,6 @@
}
@override
- int get methodDeclaration_externalKeyword {
- assert(kind == idl.LinkedNodeKind.methodDeclaration);
- _variantField_15 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 15, 0);
- return _variantField_15;
- }
-
- @override
int get methodInvocation_operator {
assert(kind == idl.LinkedNodeKind.methodInvocation);
_variantField_15 ??=
@@ -13743,14 +13097,6 @@
}
@override
- int get simpleFormalParameter_keyword {
- assert(kind == idl.LinkedNodeKind.simpleFormalParameter);
- _variantField_15 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 15, 0);
- return _variantField_15;
- }
-
- @override
int get simpleIdentifier_element {
assert(kind == idl.LinkedNodeKind.simpleIdentifier);
_variantField_15 ??=
@@ -13759,22 +13105,6 @@
}
@override
- int get simpleStringLiteral_token {
- assert(kind == idl.LinkedNodeKind.simpleStringLiteral);
- _variantField_15 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 15, 0);
- return _variantField_15;
- }
-
- @override
- int get spreadElement_spreadOperator {
- assert(kind == idl.LinkedNodeKind.spreadElement);
- _variantField_15 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 15, 0);
- return _variantField_15;
- }
-
- @override
int get superConstructorInvocation_element {
assert(kind == idl.LinkedNodeKind.superConstructorInvocation);
_variantField_15 ??=
@@ -13888,14 +13218,6 @@
}
@override
- int get variableDeclarationList_keyword {
- assert(kind == idl.LinkedNodeKind.variableDeclarationList);
- _variantField_15 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 15, 0);
- return _variantField_15;
- }
-
- @override
int get variableDeclarationStatement_semicolon {
assert(kind == idl.LinkedNodeKind.variableDeclarationStatement);
_variantField_15 ??=
@@ -14016,14 +13338,6 @@
}
@override
- idl.LinkedNode get constructorDeclaration_name {
- assert(kind == idl.LinkedNodeKind.constructorDeclaration);
- _variantField_7 ??=
- const _LinkedNodeReader().vTableGet(_bc, _bcOffset, 7, null);
- return _variantField_7;
- }
-
- @override
idl.LinkedNode get constructorFieldInitializer_fieldName {
assert(kind == idl.LinkedNodeKind.constructorFieldInitializer);
_variantField_7 ??=
@@ -14296,22 +13610,6 @@
}
@override
- idl.LinkedNode get typeParameter_name {
- assert(kind == idl.LinkedNodeKind.typeParameter);
- _variantField_7 ??=
- const _LinkedNodeReader().vTableGet(_bc, _bcOffset, 7, null);
- return _variantField_7;
- }
-
- @override
- idl.LinkedNode get variableDeclaration_name {
- assert(kind == idl.LinkedNodeKind.variableDeclaration);
- _variantField_7 ??=
- const _LinkedNodeReader().vTableGet(_bc, _bcOffset, 7, null);
- return _variantField_7;
- }
-
- @override
idl.LinkedNode get whileStatement_condition {
assert(kind == idl.LinkedNodeKind.whileStatement);
_variantField_7 ??=
@@ -14360,14 +13658,6 @@
}
@override
- int get constructorDeclaration_factoryKeyword {
- assert(kind == idl.LinkedNodeKind.constructorDeclaration);
- _variantField_17 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 17, 0);
- return _variantField_17;
- }
-
- @override
int get constructorFieldInitializer_thisKeyword {
assert(kind == idl.LinkedNodeKind.constructorFieldInitializer);
_variantField_17 ??=
@@ -14384,14 +13674,6 @@
}
@override
- int get enumDeclaration_rightBracket {
- assert(kind == idl.LinkedNodeKind.enumDeclaration);
- _variantField_17 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 17, 0);
- return _variantField_17;
- }
-
- @override
int get expressionFunctionBody_semicolon {
assert(kind == idl.LinkedNodeKind.expressionFunctionBody);
_variantField_17 ??=
@@ -14400,14 +13682,6 @@
}
@override
- int get fieldDeclaration_staticKeyword {
- assert(kind == idl.LinkedNodeKind.fieldDeclaration);
- _variantField_17 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 17, 0);
- return _variantField_17;
- }
-
- @override
int get fieldFormalParameter_thisKeyword {
assert(kind == idl.LinkedNodeKind.fieldFormalParameter);
_variantField_17 ??=
@@ -14770,14 +14044,6 @@
}
@override
- int get binaryExpression_operator {
- assert(kind == idl.LinkedNodeKind.binaryExpression);
- _variantField_16 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 16, 0);
- return _variantField_16;
- }
-
- @override
int get block_rightBracket {
assert(kind == idl.LinkedNodeKind.block);
_variantField_16 ??=
@@ -14810,22 +14076,6 @@
}
@override
- int get classDeclaration_classKeyword {
- assert(kind == idl.LinkedNodeKind.classDeclaration);
- _variantField_16 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 16, 0);
- return _variantField_16;
- }
-
- @override
- int get classTypeAlias_equals {
- assert(kind == idl.LinkedNodeKind.classTypeAlias);
- _variantField_16 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 16, 0);
- return _variantField_16;
- }
-
- @override
int get compilationUnit_endToken {
assert(kind == idl.LinkedNodeKind.compilationUnit);
_variantField_16 ??=
@@ -14850,14 +14100,6 @@
}
@override
- int get constructorDeclaration_externalKeyword {
- assert(kind == idl.LinkedNodeKind.constructorDeclaration);
- _variantField_16 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 16, 0);
- return _variantField_16;
- }
-
- @override
int get constructorFieldInitializer_period {
assert(kind == idl.LinkedNodeKind.constructorFieldInitializer);
_variantField_16 ??=
@@ -14890,14 +14132,6 @@
}
@override
- int get enumDeclaration_leftBracket {
- assert(kind == idl.LinkedNodeKind.enumDeclaration);
- _variantField_16 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 16, 0);
- return _variantField_16;
- }
-
- @override
int get expressionFunctionBody_keyword {
assert(kind == idl.LinkedNodeKind.expressionFunctionBody);
_variantField_16 ??=
@@ -14914,14 +14148,6 @@
}
@override
- int get fieldFormalParameter_period {
- assert(kind == idl.LinkedNodeKind.fieldFormalParameter);
- _variantField_16 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 16, 0);
- return _variantField_16;
- }
-
- @override
int get formalParameterList_leftParenthesis {
assert(kind == idl.LinkedNodeKind.formalParameterList);
_variantField_16 ??=
@@ -14948,14 +14174,6 @@
}
@override
- int get functionDeclaration_propertyKeyword {
- assert(kind == idl.LinkedNodeKind.functionDeclaration);
- _variantField_16 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 16, 0);
- return _variantField_16;
- }
-
- @override
int get genericFunctionType_question {
assert(kind == idl.LinkedNodeKind.genericFunctionType);
_variantField_16 ??=
@@ -14964,14 +14182,6 @@
}
@override
- int get genericTypeAlias_equals {
- assert(kind == idl.LinkedNodeKind.genericTypeAlias);
- _variantField_16 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 16, 0);
- return _variantField_16;
- }
-
- @override
int get ifMixin_ifKeyword {
assert(kind == idl.LinkedNodeKind.ifElement ||
kind == idl.LinkedNodeKind.ifStatement);
@@ -14981,14 +14191,6 @@
}
@override
- int get importDirective_deferredKeyword {
- assert(kind == idl.LinkedNodeKind.importDirective);
- _variantField_16 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 16, 0);
- return _variantField_16;
- }
-
- @override
int get indexExpression_period {
assert(kind == idl.LinkedNodeKind.indexExpression);
_variantField_16 ??=
@@ -15029,8 +14231,25 @@
}
@override
- int get methodDeclaration_modifierKeyword {
- assert(kind == idl.LinkedNodeKind.methodDeclaration);
+ int get nameOffset {
+ assert(kind == idl.LinkedNodeKind.classDeclaration ||
+ kind == idl.LinkedNodeKind.classTypeAlias ||
+ kind == idl.LinkedNodeKind.constructorDeclaration ||
+ kind == idl.LinkedNodeKind.enumConstantDeclaration ||
+ kind == idl.LinkedNodeKind.enumDeclaration ||
+ kind == idl.LinkedNodeKind.exportDirective ||
+ kind == idl.LinkedNodeKind.fieldFormalParameter ||
+ kind == idl.LinkedNodeKind.functionDeclaration ||
+ kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
+ kind == idl.LinkedNodeKind.functionTypeAlias ||
+ kind == idl.LinkedNodeKind.genericTypeAlias ||
+ kind == idl.LinkedNodeKind.importDirective ||
+ kind == idl.LinkedNodeKind.methodDeclaration ||
+ kind == idl.LinkedNodeKind.mixinDeclaration ||
+ kind == idl.LinkedNodeKind.partDirective ||
+ kind == idl.LinkedNodeKind.simpleFormalParameter ||
+ kind == idl.LinkedNodeKind.typeParameter ||
+ kind == idl.LinkedNodeKind.variableDeclaration);
_variantField_16 ??=
const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 16, 0);
return _variantField_16;
@@ -15069,14 +14288,6 @@
}
@override
- int get prefixExpression_operator {
- assert(kind == idl.LinkedNodeKind.prefixExpression);
- _variantField_16 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 16, 0);
- return _variantField_16;
- }
-
- @override
int get redirectingConstructorInvocation_period {
assert(kind == idl.LinkedNodeKind.redirectingConstructorInvocation);
_variantField_16 ??=
@@ -15101,14 +14312,6 @@
}
@override
- int get simpleIdentifier_token {
- assert(kind == idl.LinkedNodeKind.simpleIdentifier);
- _variantField_16 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 16, 0);
- return _variantField_16;
- }
-
- @override
int get superConstructorInvocation_period {
assert(kind == idl.LinkedNodeKind.superConstructorInvocation);
_variantField_16 ??=
@@ -15158,14 +14361,6 @@
}
@override
- int get variableDeclarationList_lateKeyword {
- assert(kind == idl.LinkedNodeKind.variableDeclarationList);
- _variantField_16 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 16, 0);
- return _variantField_16;
- }
-
- @override
int get whileStatement_rightParenthesis {
assert(kind == idl.LinkedNodeKind.whileStatement);
_variantField_16 ??=
@@ -15276,14 +14471,6 @@
}
@override
- int get methodDeclaration_propertyKeyword {
- assert(kind == idl.LinkedNodeKind.methodDeclaration);
- _variantField_18 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 18, 0);
- return _variantField_18;
- }
-
- @override
int get normalFormalParameter_requiredKeyword {
assert(kind == idl.LinkedNodeKind.fieldFormalParameter ||
kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
@@ -15379,16 +14566,6 @@
}
@override
- int get normalFormalParameter_covariantKeyword {
- assert(kind == idl.LinkedNodeKind.fieldFormalParameter ||
- kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
- kind == idl.LinkedNodeKind.simpleFormalParameter);
- _variantField_19 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 19, 0);
- return _variantField_19;
- }
-
- @override
int get switchStatement_rightBracket {
assert(kind == idl.LinkedNodeKind.switchStatement);
_variantField_19 ??=
@@ -15407,15 +14584,6 @@
}
@override
- int get typedLiteral_constKeyword {
- assert(kind == idl.LinkedNodeKind.listLiteral ||
- kind == idl.LinkedNodeKind.setOrMapLiteral);
- _variantField_19 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 19, 0);
- return _variantField_19;
- }
-
- @override
int get uriBasedDirective_uriElement {
assert(kind == idl.LinkedNodeKind.exportDirective ||
kind == idl.LinkedNodeKind.importDirective ||
@@ -15426,6 +14594,22 @@
}
@override
+ idl.UnlinkedTokenType get binaryExpression_operator {
+ assert(kind == idl.LinkedNodeKind.binaryExpression);
+ _variantField_28 ??= const _UnlinkedTokenTypeReader()
+ .vTableGet(_bc, _bcOffset, 28, idl.UnlinkedTokenType.NOTHING);
+ return _variantField_28;
+ }
+
+ @override
+ idl.UnlinkedTokenType get prefixExpression_operator {
+ assert(kind == idl.LinkedNodeKind.prefixExpression);
+ _variantField_28 ??= const _UnlinkedTokenTypeReader()
+ .vTableGet(_bc, _bcOffset, 28, idl.UnlinkedTokenType.NOTHING);
+ return _variantField_28;
+ }
+
+ @override
bool get booleanLiteral_value {
assert(kind == idl.LinkedNodeKind.booleanLiteral);
_variantField_27 ??=
@@ -15546,16 +14730,6 @@
}
@override
- idl.LinkedNode get normalFormalParameter_identifier {
- assert(kind == idl.LinkedNodeKind.fieldFormalParameter ||
- kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
- kind == idl.LinkedNodeKind.simpleFormalParameter);
- _variantField_12 ??=
- const _LinkedNodeReader().vTableGet(_bc, _bcOffset, 12, null);
- return _variantField_12;
- }
-
- @override
List<idl.LinkedNode> get classOrMixinDeclaration_members {
assert(kind == idl.LinkedNodeKind.classDeclaration ||
kind == idl.LinkedNodeKind.mixinDeclaration);
@@ -15643,19 +14817,29 @@
}
@override
- List<int> get comment_tokens {
+ List<String> get comment_tokens {
assert(kind == idl.LinkedNodeKind.comment);
- _variantField_28 ??= const fb.Uint32ListReader()
- .vTableGet(_bc, _bcOffset, 28, const <int>[]);
- return _variantField_28;
+ _variantField_36 ??= const fb.ListReader<String>(const fb.StringReader())
+ .vTableGet(_bc, _bcOffset, 36, const <String>[]);
+ return _variantField_36;
}
@override
- List<int> get symbolLiteral_components {
- assert(kind == idl.LinkedNodeKind.symbolLiteral);
- _variantField_28 ??= const fb.Uint32ListReader()
- .vTableGet(_bc, _bcOffset, 28, const <int>[]);
- return _variantField_28;
+ List<String> get mixinDeclaration_superInvokedNames {
+ assert(kind == idl.LinkedNodeKind.mixinDeclaration);
+ _variantField_36 ??= const fb.ListReader<String>(const fb.StringReader())
+ .vTableGet(_bc, _bcOffset, 36, const <String>[]);
+ return _variantField_36;
+ }
+
+ @override
+ List<String> get names {
+ assert(kind == idl.LinkedNodeKind.hideCombinator ||
+ kind == idl.LinkedNodeKind.showCombinator ||
+ kind == idl.LinkedNodeKind.symbolLiteral);
+ _variantField_36 ??= const fb.ListReader<String>(const fb.StringReader())
+ .vTableGet(_bc, _bcOffset, 36, const <String>[]);
+ return _variantField_36;
}
@override
@@ -15704,14 +14888,6 @@
}
@override
- idl.LinkedNode get methodDeclaration_name {
- assert(kind == idl.LinkedNodeKind.methodDeclaration);
- _variantField_10 ??=
- const _LinkedNodeReader().vTableGet(_bc, _bcOffset, 10, null);
- return _variantField_10;
- }
-
- @override
idl.LinkedNodeFormalParameterKind get defaultFormalParameter_kind {
assert(kind == idl.LinkedNodeKind.defaultFormalParameter);
_variantField_26 ??= const _LinkedNodeFormalParameterKindReader().vTableGet(
@@ -15742,23 +14918,17 @@
@override
idl.LinkedNodeType get expression_type {
- assert(kind == idl.LinkedNodeKind.adjacentStrings ||
- kind == idl.LinkedNodeKind.assignmentExpression ||
+ assert(kind == idl.LinkedNodeKind.assignmentExpression ||
kind == idl.LinkedNodeKind.asExpression ||
kind == idl.LinkedNodeKind.awaitExpression ||
kind == idl.LinkedNodeKind.binaryExpression ||
- kind == idl.LinkedNodeKind.booleanLiteral ||
kind == idl.LinkedNodeKind.cascadeExpression ||
kind == idl.LinkedNodeKind.conditionalExpression ||
- kind == idl.LinkedNodeKind.doubleLiteral ||
kind == idl.LinkedNodeKind.functionExpressionInvocation ||
kind == idl.LinkedNodeKind.indexExpression ||
kind == idl.LinkedNodeKind.instanceCreationExpression ||
- kind == idl.LinkedNodeKind.integerLiteral ||
- kind == idl.LinkedNodeKind.isExpression ||
kind == idl.LinkedNodeKind.listLiteral ||
kind == idl.LinkedNodeKind.methodInvocation ||
- kind == idl.LinkedNodeKind.namedExpression ||
kind == idl.LinkedNodeKind.nullLiteral ||
kind == idl.LinkedNodeKind.parenthesizedExpression ||
kind == idl.LinkedNodeKind.prefixExpression ||
@@ -15768,8 +14938,6 @@
kind == idl.LinkedNodeKind.rethrowExpression ||
kind == idl.LinkedNodeKind.setOrMapLiteral ||
kind == idl.LinkedNodeKind.simpleIdentifier ||
- kind == idl.LinkedNodeKind.simpleStringLiteral ||
- kind == idl.LinkedNodeKind.stringInterpolation ||
kind == idl.LinkedNodeKind.superExpression ||
kind == idl.LinkedNodeKind.symbolLiteral ||
kind == idl.LinkedNodeKind.thisExpression ||
@@ -15788,6 +14956,20 @@
}
@override
+ int get flags {
+ _flags ??= const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 39, 0);
+ return _flags;
+ }
+
+ @override
+ String get importDirective_prefix {
+ assert(kind == idl.LinkedNodeKind.importDirective);
+ _variantField_41 ??=
+ const fb.StringReader().vTableGet(_bc, _bcOffset, 41, '');
+ return _variantField_41;
+ }
+
+ @override
String get interpolationString_value {
assert(kind == idl.LinkedNodeKind.interpolationString);
_variantField_30 ??=
@@ -15805,20 +14987,6 @@
}
@override
- idl.LinkedNode get namedCompilationUnitMember_name {
- assert(kind == idl.LinkedNodeKind.classDeclaration ||
- kind == idl.LinkedNodeKind.classTypeAlias ||
- kind == idl.LinkedNodeKind.enumDeclaration ||
- kind == idl.LinkedNodeKind.functionDeclaration ||
- kind == idl.LinkedNodeKind.functionTypeAlias ||
- kind == idl.LinkedNodeKind.genericTypeAlias ||
- kind == idl.LinkedNodeKind.mixinDeclaration);
- _variantField_14 ??=
- const _LinkedNodeReader().vTableGet(_bc, _bcOffset, 14, null);
- return _variantField_14;
- }
-
- @override
idl.LinkedNode get normalFormalParameter_comment {
assert(kind == idl.LinkedNodeKind.fieldFormalParameter ||
kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
@@ -15861,11 +15029,9 @@
}
@override
- List<String> get mixinDeclaration_superInvokedNames {
- assert(kind == idl.LinkedNodeKind.mixinDeclaration);
- _variantField_36 ??= const fb.ListReader<String>(const fb.StringReader())
- .vTableGet(_bc, _bcOffset, 36, const <String>[]);
- return _variantField_36;
+ String get name {
+ _name ??= const fb.StringReader().vTableGet(_bc, _bcOffset, 38, '');
+ return _name;
}
@override
@@ -15906,6 +15072,14 @@
}
@override
+ idl.UnlinkedTokenType get spreadElement_spreadOperator2 {
+ assert(kind == idl.LinkedNodeKind.spreadElement);
+ _variantField_40 ??= const _UnlinkedTokenTypeReader()
+ .vTableGet(_bc, _bcOffset, 40, idl.UnlinkedTokenType.NOTHING);
+ return _variantField_40;
+ }
+
+ @override
idl.TopLevelInferenceError get topLevelTypeInferenceError {
assert(kind == idl.LinkedNodeKind.simpleFormalParameter ||
kind == idl.LinkedNodeKind.variableDeclaration);
@@ -15937,9 +15111,11 @@
@override
Map<String, Object> toJson() {
Map<String, Object> _result = <String, Object>{};
+ if (flags != 0) _result["flags"] = flags;
if (isSynthetic != false) _result["isSynthetic"] = isSynthetic;
if (kind != idl.LinkedNodeKind.adjacentStrings)
_result["kind"] = kind.toString().split('.')[1];
+ if (name != '') _result["name"] = name;
if (kind == idl.LinkedNodeKind.functionDeclaration) {
if (actualReturnType != null)
_result["actualReturnType"] = actualReturnType.toJson();
@@ -15951,20 +15127,12 @@
if (functionDeclaration_functionExpression != null)
_result["functionDeclaration_functionExpression"] =
functionDeclaration_functionExpression.toJson();
- if (functionDeclaration_externalKeyword != 0)
- _result["functionDeclaration_externalKeyword"] =
- functionDeclaration_externalKeyword;
if (functionDeclaration_returnType != null)
_result["functionDeclaration_returnType"] =
functionDeclaration_returnType.toJson();
- if (functionDeclaration_propertyKeyword != 0)
- _result["functionDeclaration_propertyKeyword"] =
- functionDeclaration_propertyKeyword;
+ if (nameOffset != 0) _result["nameOffset"] = nameOffset;
if (codeLength != 0) _result["codeLength"] = codeLength;
if (codeOffset != 0) _result["codeOffset"] = codeOffset;
- if (namedCompilationUnitMember_name != null)
- _result["namedCompilationUnitMember_name"] =
- namedCompilationUnitMember_name.toJson();
}
if (kind == idl.LinkedNodeKind.functionExpression) {
if (actualReturnType != null)
@@ -15999,6 +15167,7 @@
if (functionTypeAlias_typeParameters != null)
_result["functionTypeAlias_typeParameters"] =
functionTypeAlias_typeParameters.toJson();
+ if (nameOffset != 0) _result["nameOffset"] = nameOffset;
if (typeAlias_typedefKeyword != 0)
_result["typeAlias_typedefKeyword"] = typeAlias_typedefKeyword;
if (typeAlias_semicolon != 0)
@@ -16007,9 +15176,6 @@
_result["typeAlias_hasSelfReference"] = typeAlias_hasSelfReference;
if (codeLength != 0) _result["codeLength"] = codeLength;
if (codeOffset != 0) _result["codeOffset"] = codeOffset;
- if (namedCompilationUnitMember_name != null)
- _result["namedCompilationUnitMember_name"] =
- namedCompilationUnitMember_name.toJson();
if (simplyBoundable_isSimplyBounded != false)
_result["simplyBoundable_isSimplyBounded"] =
simplyBoundable_isSimplyBounded;
@@ -16046,9 +15212,6 @@
annotatedNode_metadata.map((_value) => _value.toJson()).toList();
if (methodDeclaration_body != null)
_result["methodDeclaration_body"] = methodDeclaration_body.toJson();
- if (methodDeclaration_externalKeyword != 0)
- _result["methodDeclaration_externalKeyword"] =
- methodDeclaration_externalKeyword;
if (methodDeclaration_formalParameters != null)
_result["methodDeclaration_formalParameters"] =
methodDeclaration_formalParameters.toJson();
@@ -16058,12 +15221,7 @@
if (methodDeclaration_returnType != null)
_result["methodDeclaration_returnType"] =
methodDeclaration_returnType.toJson();
- if (methodDeclaration_modifierKeyword != 0)
- _result["methodDeclaration_modifierKeyword"] =
- methodDeclaration_modifierKeyword;
- if (methodDeclaration_propertyKeyword != 0)
- _result["methodDeclaration_propertyKeyword"] =
- methodDeclaration_propertyKeyword;
+ if (nameOffset != 0) _result["nameOffset"] = nameOffset;
if (methodDeclaration_actualProperty != 0)
_result["methodDeclaration_actualProperty"] =
methodDeclaration_actualProperty;
@@ -16074,8 +15232,6 @@
methodDeclaration_typeParameters.toJson();
if (codeLength != 0) _result["codeLength"] = codeLength;
if (codeOffset != 0) _result["codeOffset"] = codeOffset;
- if (methodDeclaration_name != null)
- _result["methodDeclaration_name"] = methodDeclaration_name.toJson();
if (executable_isGenerator != false)
_result["executable_isGenerator"] = executable_isGenerator;
}
@@ -16089,8 +15245,6 @@
if (fieldFormalParameter_type != null)
_result["fieldFormalParameter_type"] =
fieldFormalParameter_type.toJson();
- if (fieldFormalParameter_keyword != 0)
- _result["fieldFormalParameter_keyword"] = fieldFormalParameter_keyword;
if (fieldFormalParameter_typeParameters != null)
_result["fieldFormalParameter_typeParameters"] =
fieldFormalParameter_typeParameters.toJson();
@@ -16100,19 +15254,12 @@
if (fieldFormalParameter_formalParameters != null)
_result["fieldFormalParameter_formalParameters"] =
fieldFormalParameter_formalParameters.toJson();
- if (fieldFormalParameter_period != 0)
- _result["fieldFormalParameter_period"] = fieldFormalParameter_period;
+ if (nameOffset != 0) _result["nameOffset"] = nameOffset;
if (normalFormalParameter_requiredKeyword != 0)
_result["normalFormalParameter_requiredKeyword"] =
normalFormalParameter_requiredKeyword;
- if (normalFormalParameter_covariantKeyword != 0)
- _result["normalFormalParameter_covariantKeyword"] =
- normalFormalParameter_covariantKeyword;
if (inheritsCovariant != false)
_result["inheritsCovariant"] = inheritsCovariant;
- if (normalFormalParameter_identifier != null)
- _result["normalFormalParameter_identifier"] =
- normalFormalParameter_identifier.toJson();
if (codeLength != 0) _result["codeLength"] = codeLength;
if (codeOffset != 0) _result["codeOffset"] = codeOffset;
if (normalFormalParameter_comment != null)
@@ -16135,17 +15282,12 @@
if (functionTypedFormalParameter_typeParameters != null)
_result["functionTypedFormalParameter_typeParameters"] =
functionTypedFormalParameter_typeParameters.toJson();
+ if (nameOffset != 0) _result["nameOffset"] = nameOffset;
if (normalFormalParameter_requiredKeyword != 0)
_result["normalFormalParameter_requiredKeyword"] =
normalFormalParameter_requiredKeyword;
- if (normalFormalParameter_covariantKeyword != 0)
- _result["normalFormalParameter_covariantKeyword"] =
- normalFormalParameter_covariantKeyword;
if (inheritsCovariant != false)
_result["inheritsCovariant"] = inheritsCovariant;
- if (normalFormalParameter_identifier != null)
- _result["normalFormalParameter_identifier"] =
- normalFormalParameter_identifier.toJson();
if (codeLength != 0) _result["codeLength"] = codeLength;
if (codeOffset != 0) _result["codeOffset"] = codeOffset;
if (normalFormalParameter_comment != null)
@@ -16162,20 +15304,12 @@
if (simpleFormalParameter_type != null)
_result["simpleFormalParameter_type"] =
simpleFormalParameter_type.toJson();
- if (simpleFormalParameter_keyword != 0)
- _result["simpleFormalParameter_keyword"] =
- simpleFormalParameter_keyword;
+ if (nameOffset != 0) _result["nameOffset"] = nameOffset;
if (normalFormalParameter_requiredKeyword != 0)
_result["normalFormalParameter_requiredKeyword"] =
normalFormalParameter_requiredKeyword;
- if (normalFormalParameter_covariantKeyword != 0)
- _result["normalFormalParameter_covariantKeyword"] =
- normalFormalParameter_covariantKeyword;
if (inheritsCovariant != false)
_result["inheritsCovariant"] = inheritsCovariant;
- if (normalFormalParameter_identifier != null)
- _result["normalFormalParameter_identifier"] =
- normalFormalParameter_identifier.toJson();
if (codeLength != 0) _result["codeLength"] = codeLength;
if (codeOffset != 0) _result["codeOffset"] = codeOffset;
if (normalFormalParameter_comment != null)
@@ -16197,8 +15331,7 @@
variableDeclaration_initializer.toJson();
if (variableDeclaration_equals != 0)
_result["variableDeclaration_equals"] = variableDeclaration_equals;
- if (variableDeclaration_name != null)
- _result["variableDeclaration_name"] = variableDeclaration_name.toJson();
+ if (nameOffset != 0) _result["nameOffset"] = nameOffset;
if (inheritsCovariant != false)
_result["inheritsCovariant"] = inheritsCovariant;
if (codeLength != 0) _result["codeLength"] = codeLength;
@@ -16225,8 +15358,9 @@
if (binaryExpression_elementType != null)
_result["binaryExpression_elementType"] =
binaryExpression_elementType.toJson();
- if (binaryExpression_operator != 0)
- _result["binaryExpression_operator"] = binaryExpression_operator;
+ if (binaryExpression_operator != idl.UnlinkedTokenType.NOTHING)
+ _result["binaryExpression_operator"] =
+ binaryExpression_operator.toString().split('.')[1];
if (expression_type != null)
_result["expression_type"] = expression_type.toJson();
}
@@ -16270,8 +15404,6 @@
if (adjacentStrings_strings.isNotEmpty)
_result["adjacentStrings_strings"] =
adjacentStrings_strings.map((_value) => _value.toJson()).toList();
- if (expression_type != null)
- _result["expression_type"] = expression_type.toJson();
}
if (kind == idl.LinkedNodeKind.argumentList) {
if (argumentList_arguments.isNotEmpty)
@@ -16343,21 +15475,10 @@
if (constructorDeclaration_body != null)
_result["constructorDeclaration_body"] =
constructorDeclaration_body.toJson();
- if (constructorDeclaration_constKeyword != 0)
- _result["constructorDeclaration_constKeyword"] =
- constructorDeclaration_constKeyword;
- if (constructorDeclaration_name != null)
- _result["constructorDeclaration_name"] =
- constructorDeclaration_name.toJson();
- if (constructorDeclaration_factoryKeyword != 0)
- _result["constructorDeclaration_factoryKeyword"] =
- constructorDeclaration_factoryKeyword;
if (constructorDeclaration_parameters != null)
_result["constructorDeclaration_parameters"] =
constructorDeclaration_parameters.toJson();
- if (constructorDeclaration_externalKeyword != 0)
- _result["constructorDeclaration_externalKeyword"] =
- constructorDeclaration_externalKeyword;
+ if (nameOffset != 0) _result["nameOffset"] = nameOffset;
if (constructorDeclaration_period != 0)
_result["constructorDeclaration_period"] =
constructorDeclaration_period;
@@ -16391,17 +15512,9 @@
if (annotatedNode_metadata.isNotEmpty)
_result["annotatedNode_metadata"] =
annotatedNode_metadata.map((_value) => _value.toJson()).toList();
- if (enumDeclaration_enumKeyword != 0)
- _result["enumDeclaration_enumKeyword"] = enumDeclaration_enumKeyword;
- if (enumDeclaration_rightBracket != 0)
- _result["enumDeclaration_rightBracket"] = enumDeclaration_rightBracket;
- if (enumDeclaration_leftBracket != 0)
- _result["enumDeclaration_leftBracket"] = enumDeclaration_leftBracket;
+ if (nameOffset != 0) _result["nameOffset"] = nameOffset;
if (codeLength != 0) _result["codeLength"] = codeLength;
if (codeOffset != 0) _result["codeOffset"] = codeOffset;
- if (namedCompilationUnitMember_name != null)
- _result["namedCompilationUnitMember_name"] =
- namedCompilationUnitMember_name.toJson();
}
if (kind == idl.LinkedNodeKind.formalParameterList) {
if (formalParameterList_parameters.isNotEmpty)
@@ -16422,14 +15535,6 @@
_result["formalParameterList_rightParenthesis"] =
formalParameterList_rightParenthesis;
}
- if (kind == idl.LinkedNodeKind.hideCombinator) {
- if (hideCombinator_hiddenNames.isNotEmpty)
- _result["hideCombinator_hiddenNames"] = hideCombinator_hiddenNames
- .map((_value) => _value.toJson())
- .toList();
- if (combinator_keyword != 0)
- _result["combinator_keyword"] = combinator_keyword;
- }
if (kind == idl.LinkedNodeKind.implementsClause) {
if (implementsClause_interfaces.isNotEmpty)
_result["implementsClause_interfaces"] = implementsClause_interfaces
@@ -16461,8 +15566,6 @@
_result["listLiteral_leftBracket"] = listLiteral_leftBracket;
if (listLiteral_rightBracket != 0)
_result["listLiteral_rightBracket"] = listLiteral_rightBracket;
- if (typedLiteral_constKeyword != 0)
- _result["typedLiteral_constKeyword"] = typedLiteral_constKeyword;
if (expression_type != null)
_result["expression_type"] = expression_type.toJson();
if (typedLiteral_typeArguments != null)
@@ -16480,6 +15583,7 @@
if (annotatedNode_metadata.isNotEmpty)
_result["annotatedNode_metadata"] =
annotatedNode_metadata.map((_value) => _value.toJson()).toList();
+ if (nameOffset != 0) _result["nameOffset"] = nameOffset;
if (directive_keyword != 0)
_result["directive_keyword"] = directive_keyword;
if (uriBasedDirective_uriElement != 0)
@@ -16510,13 +15614,9 @@
if (annotatedNode_metadata.isNotEmpty)
_result["annotatedNode_metadata"] =
annotatedNode_metadata.map((_value) => _value.toJson()).toList();
- if (importDirective_prefix != null)
- _result["importDirective_prefix"] = importDirective_prefix.toJson();
- if (importDirective_asKeyword != 0)
- _result["importDirective_asKeyword"] = importDirective_asKeyword;
- if (importDirective_deferredKeyword != 0)
- _result["importDirective_deferredKeyword"] =
- importDirective_deferredKeyword;
+ if (importDirective_prefixOffset != 0)
+ _result["importDirective_prefixOffset"] = importDirective_prefixOffset;
+ if (nameOffset != 0) _result["nameOffset"] = nameOffset;
if (directive_keyword != 0)
_result["directive_keyword"] = directive_keyword;
if (uriBasedDirective_uriElement != 0)
@@ -16528,6 +15628,8 @@
namespaceDirective_configurations
.map((_value) => _value.toJson())
.toList();
+ if (importDirective_prefix != '')
+ _result["importDirective_prefix"] = importDirective_prefix;
if (uriBasedDirective_uri != null)
_result["uriBasedDirective_uri"] = uriBasedDirective_uri.toJson();
if (namespaceDirective_selectedUri != '')
@@ -16553,8 +15655,6 @@
_result["setOrMapLiteral_leftBracket"] = setOrMapLiteral_leftBracket;
if (setOrMapLiteral_rightBracket != 0)
_result["setOrMapLiteral_rightBracket"] = setOrMapLiteral_rightBracket;
- if (typedLiteral_constKeyword != 0)
- _result["typedLiteral_constKeyword"] = typedLiteral_constKeyword;
if (setOrMapLiteral_isMap != false)
_result["setOrMapLiteral_isMap"] = setOrMapLiteral_isMap;
if (expression_type != null)
@@ -16565,20 +15665,11 @@
if (setOrMapLiteral_isSet != false)
_result["setOrMapLiteral_isSet"] = setOrMapLiteral_isSet;
}
- if (kind == idl.LinkedNodeKind.showCombinator) {
- if (showCombinator_shownNames.isNotEmpty)
- _result["showCombinator_shownNames"] =
- showCombinator_shownNames.map((_value) => _value.toJson()).toList();
- if (combinator_keyword != 0)
- _result["combinator_keyword"] = combinator_keyword;
- }
if (kind == idl.LinkedNodeKind.stringInterpolation) {
if (stringInterpolation_elements.isNotEmpty)
_result["stringInterpolation_elements"] = stringInterpolation_elements
.map((_value) => _value.toJson())
.toList();
- if (expression_type != null)
- _result["expression_type"] = expression_type.toJson();
}
if (kind == idl.LinkedNodeKind.switchStatement) {
if (switchStatement_members.isNotEmpty)
@@ -16653,12 +15744,6 @@
if (variableDeclarationList_type != null)
_result["variableDeclarationList_type"] =
variableDeclarationList_type.toJson();
- if (variableDeclarationList_keyword != 0)
- _result["variableDeclarationList_keyword"] =
- variableDeclarationList_keyword;
- if (variableDeclarationList_lateKeyword != 0)
- _result["variableDeclarationList_lateKeyword"] =
- variableDeclarationList_lateKeyword;
}
if (kind == idl.LinkedNodeKind.withClause) {
if (withClause_mixinTypes.isNotEmpty)
@@ -16676,18 +15761,13 @@
if (classDeclaration_extendsClause != null)
_result["classDeclaration_extendsClause"] =
classDeclaration_extendsClause.toJson();
- if (classDeclaration_abstractKeyword != 0)
- _result["classDeclaration_abstractKeyword"] =
- classDeclaration_abstractKeyword;
if (classDeclaration_withClause != null)
_result["classDeclaration_withClause"] =
classDeclaration_withClause.toJson();
if (classDeclaration_nativeClause != null)
_result["classDeclaration_nativeClause"] =
classDeclaration_nativeClause.toJson();
- if (classDeclaration_classKeyword != 0)
- _result["classDeclaration_classKeyword"] =
- classDeclaration_classKeyword;
+ if (nameOffset != 0) _result["nameOffset"] = nameOffset;
if (classOrMixinDeclaration_rightBracket != 0)
_result["classOrMixinDeclaration_rightBracket"] =
classOrMixinDeclaration_rightBracket;
@@ -16710,9 +15790,6 @@
classOrMixinDeclaration_typeParameters.toJson();
if (codeLength != 0) _result["codeLength"] = codeLength;
if (codeOffset != 0) _result["codeOffset"] = codeOffset;
- if (namedCompilationUnitMember_name != null)
- _result["namedCompilationUnitMember_name"] =
- namedCompilationUnitMember_name.toJson();
if (simplyBoundable_isSimplyBounded != false)
_result["simplyBoundable_isSimplyBounded"] =
simplyBoundable_isSimplyBounded;
@@ -16726,17 +15803,13 @@
if (classTypeAlias_typeParameters != null)
_result["classTypeAlias_typeParameters"] =
classTypeAlias_typeParameters.toJson();
- if (classTypeAlias_abstractKeyword != 0)
- _result["classTypeAlias_abstractKeyword"] =
- classTypeAlias_abstractKeyword;
if (classTypeAlias_superclass != null)
_result["classTypeAlias_superclass"] =
classTypeAlias_superclass.toJson();
if (classTypeAlias_withClause != null)
_result["classTypeAlias_withClause"] =
classTypeAlias_withClause.toJson();
- if (classTypeAlias_equals != 0)
- _result["classTypeAlias_equals"] = classTypeAlias_equals;
+ if (nameOffset != 0) _result["nameOffset"] = nameOffset;
if (typeAlias_typedefKeyword != 0)
_result["typeAlias_typedefKeyword"] = typeAlias_typedefKeyword;
if (typeAlias_semicolon != 0)
@@ -16746,9 +15819,6 @@
classTypeAlias_implementsClause.toJson();
if (codeLength != 0) _result["codeLength"] = codeLength;
if (codeOffset != 0) _result["codeOffset"] = codeOffset;
- if (namedCompilationUnitMember_name != null)
- _result["namedCompilationUnitMember_name"] =
- namedCompilationUnitMember_name.toJson();
if (simplyBoundable_isSimplyBounded != false)
_result["simplyBoundable_isSimplyBounded"] =
simplyBoundable_isSimplyBounded;
@@ -16773,9 +15843,7 @@
if (annotatedNode_metadata.isNotEmpty)
_result["annotatedNode_metadata"] =
annotatedNode_metadata.map((_value) => _value.toJson()).toList();
- if (enumConstantDeclaration_name != null)
- _result["enumConstantDeclaration_name"] =
- enumConstantDeclaration_name.toJson();
+ if (nameOffset != 0) _result["nameOffset"] = nameOffset;
}
if (kind == idl.LinkedNodeKind.fieldDeclaration) {
if (annotatedNode_comment != null)
@@ -16785,12 +15853,6 @@
annotatedNode_metadata.map((_value) => _value.toJson()).toList();
if (fieldDeclaration_fields != null)
_result["fieldDeclaration_fields"] = fieldDeclaration_fields.toJson();
- if (fieldDeclaration_covariantKeyword != 0)
- _result["fieldDeclaration_covariantKeyword"] =
- fieldDeclaration_covariantKeyword;
- if (fieldDeclaration_staticKeyword != 0)
- _result["fieldDeclaration_staticKeyword"] =
- fieldDeclaration_staticKeyword;
if (fieldDeclaration_semicolon != 0)
_result["fieldDeclaration_semicolon"] = fieldDeclaration_semicolon;
}
@@ -16806,8 +15868,7 @@
if (genericTypeAlias_functionType != null)
_result["genericTypeAlias_functionType"] =
genericTypeAlias_functionType.toJson();
- if (genericTypeAlias_equals != 0)
- _result["genericTypeAlias_equals"] = genericTypeAlias_equals;
+ if (nameOffset != 0) _result["nameOffset"] = nameOffset;
if (typeAlias_typedefKeyword != 0)
_result["typeAlias_typedefKeyword"] = typeAlias_typedefKeyword;
if (typeAlias_semicolon != 0)
@@ -16816,9 +15877,6 @@
_result["typeAlias_hasSelfReference"] = typeAlias_hasSelfReference;
if (codeLength != 0) _result["codeLength"] = codeLength;
if (codeOffset != 0) _result["codeOffset"] = codeOffset;
- if (namedCompilationUnitMember_name != null)
- _result["namedCompilationUnitMember_name"] =
- namedCompilationUnitMember_name.toJson();
if (simplyBoundable_isSimplyBounded != false)
_result["simplyBoundable_isSimplyBounded"] =
simplyBoundable_isSimplyBounded;
@@ -16848,6 +15906,7 @@
if (mixinDeclaration_mixinKeyword != 0)
_result["mixinDeclaration_mixinKeyword"] =
mixinDeclaration_mixinKeyword;
+ if (nameOffset != 0) _result["nameOffset"] = nameOffset;
if (classOrMixinDeclaration_rightBracket != 0)
_result["classOrMixinDeclaration_rightBracket"] =
classOrMixinDeclaration_rightBracket;
@@ -16867,9 +15926,6 @@
classOrMixinDeclaration_typeParameters.toJson();
if (codeLength != 0) _result["codeLength"] = codeLength;
if (codeOffset != 0) _result["codeOffset"] = codeOffset;
- if (namedCompilationUnitMember_name != null)
- _result["namedCompilationUnitMember_name"] =
- namedCompilationUnitMember_name.toJson();
if (mixinDeclaration_superInvokedNames.isNotEmpty)
_result["mixinDeclaration_superInvokedNames"] =
mixinDeclaration_superInvokedNames;
@@ -16883,6 +15939,7 @@
if (annotatedNode_metadata.isNotEmpty)
_result["annotatedNode_metadata"] =
annotatedNode_metadata.map((_value) => _value.toJson()).toList();
+ if (nameOffset != 0) _result["nameOffset"] = nameOffset;
if (directive_keyword != 0)
_result["directive_keyword"] = directive_keyword;
if (uriBasedDirective_uriElement != 0)
@@ -16935,11 +15992,10 @@
_result["typeParameter_bound"] = typeParameter_bound.toJson();
if (typeParameter_extendsKeyword != 0)
_result["typeParameter_extendsKeyword"] = typeParameter_extendsKeyword;
- if (typeParameter_name != null)
- _result["typeParameter_name"] = typeParameter_name.toJson();
if (typeParameter_defaultType != null)
_result["typeParameter_defaultType"] =
typeParameter_defaultType.toJson();
+ if (nameOffset != 0) _result["nameOffset"] = nameOffset;
if (codeLength != 0) _result["codeLength"] = codeLength;
if (codeOffset != 0) _result["codeOffset"] = codeOffset;
}
@@ -17379,9 +16435,6 @@
if (instanceCreationExpression_arguments != null)
_result["instanceCreationExpression_arguments"] =
instanceCreationExpression_arguments.toJson();
- if (instanceCreationExpression_keyword != 0)
- _result["instanceCreationExpression_keyword"] =
- instanceCreationExpression_keyword;
if (instanceCreationExpression_constructorName != null)
_result["instanceCreationExpression_constructorName"] =
instanceCreationExpression_constructorName.toJson();
@@ -17411,8 +16464,6 @@
_result["isExpression_type"] = isExpression_type.toJson();
if (isExpression_notOperator != 0)
_result["isExpression_notOperator"] = isExpression_notOperator;
- if (expression_type != null)
- _result["expression_type"] = expression_type.toJson();
}
if (kind == idl.LinkedNodeKind.label) {
if (label_label != null) _result["label_label"] = label_label.toJson();
@@ -17432,8 +16483,6 @@
namedExpression_expression.toJson();
if (namedExpression_name != null)
_result["namedExpression_name"] = namedExpression_name.toJson();
- if (expression_type != null)
- _result["expression_type"] = expression_type.toJson();
}
if (kind == idl.LinkedNodeKind.nativeClause) {
if (nativeClause_name != null)
@@ -17498,8 +16547,9 @@
if (prefixExpression_elementType != null)
_result["prefixExpression_elementType"] =
prefixExpression_elementType.toJson();
- if (prefixExpression_operator != 0)
- _result["prefixExpression_operator"] = prefixExpression_operator;
+ if (prefixExpression_operator != idl.UnlinkedTokenType.NOTHING)
+ _result["prefixExpression_operator"] =
+ prefixExpression_operator.toString().split('.')[1];
if (expression_type != null)
_result["expression_type"] = expression_type.toJson();
}
@@ -17547,8 +16597,9 @@
if (kind == idl.LinkedNodeKind.spreadElement) {
if (spreadElement_expression != null)
_result["spreadElement_expression"] = spreadElement_expression.toJson();
- if (spreadElement_spreadOperator != 0)
- _result["spreadElement_spreadOperator"] = spreadElement_spreadOperator;
+ if (spreadElement_spreadOperator2 != idl.UnlinkedTokenType.NOTHING)
+ _result["spreadElement_spreadOperator2"] =
+ spreadElement_spreadOperator2.toString().split('.')[1];
}
if (kind == idl.LinkedNodeKind.superConstructorInvocation) {
if (superConstructorInvocation_arguments != null)
@@ -17622,24 +16673,6 @@
if (yieldStatement_star != 0)
_result["yieldStatement_star"] = yieldStatement_star;
}
- if (kind == idl.LinkedNodeKind.booleanLiteral) {
- if (booleanLiteral_literal != 0)
- _result["booleanLiteral_literal"] = booleanLiteral_literal;
- if (booleanLiteral_value != false)
- _result["booleanLiteral_value"] = booleanLiteral_value;
- if (expression_type != null)
- _result["expression_type"] = expression_type.toJson();
- }
- if (kind == idl.LinkedNodeKind.doubleLiteral) {
- if (doubleLiteral_literal != 0)
- _result["doubleLiteral_literal"] = doubleLiteral_literal;
- if (doubleLiteral_value != 0.0)
- _result["doubleLiteral_value"] = doubleLiteral_value.isFinite
- ? doubleLiteral_value
- : doubleLiteral_value.toString();
- if (expression_type != null)
- _result["expression_type"] = expression_type.toJson();
- }
if (kind == idl.LinkedNodeKind.emptyFunctionBody) {
if (emptyFunctionBody_semicolon != 0)
_result["emptyFunctionBody_semicolon"] = emptyFunctionBody_semicolon;
@@ -17648,14 +16681,6 @@
if (emptyStatement_semicolon != 0)
_result["emptyStatement_semicolon"] = emptyStatement_semicolon;
}
- if (kind == idl.LinkedNodeKind.integerLiteral) {
- if (integerLiteral_literal != 0)
- _result["integerLiteral_literal"] = integerLiteral_literal;
- if (integerLiteral_value != 0)
- _result["integerLiteral_value"] = integerLiteral_value;
- if (expression_type != null)
- _result["expression_type"] = expression_type.toJson();
- }
if (kind == idl.LinkedNodeKind.interpolationString) {
if (interpolationString_token != 0)
_result["interpolationString_token"] = interpolationString_token;
@@ -17685,22 +16710,12 @@
if (simpleIdentifier_elementType != null)
_result["simpleIdentifier_elementType"] =
simpleIdentifier_elementType.toJson();
- if (simpleIdentifier_token != 0)
- _result["simpleIdentifier_token"] = simpleIdentifier_token;
if (simpleIdentifier_isDeclaration != false)
_result["simpleIdentifier_isDeclaration"] =
simpleIdentifier_isDeclaration;
if (expression_type != null)
_result["expression_type"] = expression_type.toJson();
}
- if (kind == idl.LinkedNodeKind.simpleStringLiteral) {
- if (simpleStringLiteral_token != 0)
- _result["simpleStringLiteral_token"] = simpleStringLiteral_token;
- if (expression_type != null)
- _result["expression_type"] = expression_type.toJson();
- if (simpleStringLiteral_value != '')
- _result["simpleStringLiteral_value"] = simpleStringLiteral_value;
- }
if (kind == idl.LinkedNodeKind.superExpression) {
if (superExpression_superKeyword != 0)
_result["superExpression_superKeyword"] = superExpression_superKeyword;
@@ -17710,8 +16725,7 @@
if (kind == idl.LinkedNodeKind.symbolLiteral) {
if (symbolLiteral_poundSign != 0)
_result["symbolLiteral_poundSign"] = symbolLiteral_poundSign;
- if (symbolLiteral_components.isNotEmpty)
- _result["symbolLiteral_components"] = symbolLiteral_components;
+ if (names.isNotEmpty) _result["names"] = names;
if (expression_type != null)
_result["expression_type"] = expression_type.toJson();
}
@@ -17721,6 +16735,34 @@
if (expression_type != null)
_result["expression_type"] = expression_type.toJson();
}
+ if (kind == idl.LinkedNodeKind.integerLiteral) {
+ if (integerLiteral_value != 0)
+ _result["integerLiteral_value"] = integerLiteral_value;
+ }
+ if (kind == idl.LinkedNodeKind.hideCombinator) {
+ if (combinator_keyword != 0)
+ _result["combinator_keyword"] = combinator_keyword;
+ if (names.isNotEmpty) _result["names"] = names;
+ }
+ if (kind == idl.LinkedNodeKind.showCombinator) {
+ if (combinator_keyword != 0)
+ _result["combinator_keyword"] = combinator_keyword;
+ if (names.isNotEmpty) _result["names"] = names;
+ }
+ if (kind == idl.LinkedNodeKind.booleanLiteral) {
+ if (booleanLiteral_value != false)
+ _result["booleanLiteral_value"] = booleanLiteral_value;
+ }
+ if (kind == idl.LinkedNodeKind.doubleLiteral) {
+ if (doubleLiteral_value != 0.0)
+ _result["doubleLiteral_value"] = doubleLiteral_value.isFinite
+ ? doubleLiteral_value
+ : doubleLiteral_value.toString();
+ }
+ if (kind == idl.LinkedNodeKind.simpleStringLiteral) {
+ if (simpleStringLiteral_value != '')
+ _result["simpleStringLiteral_value"] = simpleStringLiteral_value;
+ }
return _result;
}
@@ -17733,16 +16775,14 @@
"annotatedNode_metadata": annotatedNode_metadata,
"functionDeclaration_functionExpression":
functionDeclaration_functionExpression,
- "functionDeclaration_externalKeyword":
- functionDeclaration_externalKeyword,
"functionDeclaration_returnType": functionDeclaration_returnType,
- "functionDeclaration_propertyKeyword":
- functionDeclaration_propertyKeyword,
+ "nameOffset": nameOffset,
"codeLength": codeLength,
"codeOffset": codeOffset,
- "namedCompilationUnitMember_name": namedCompilationUnitMember_name,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.functionExpression) {
@@ -17754,8 +16794,10 @@
"functionExpression_typeParameters": functionExpression_typeParameters,
"executable_isAsynchronous": executable_isAsynchronous,
"executable_isGenerator": executable_isGenerator,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.functionTypeAlias) {
@@ -17767,14 +16809,16 @@
functionTypeAlias_formalParameters,
"functionTypeAlias_returnType": functionTypeAlias_returnType,
"functionTypeAlias_typeParameters": functionTypeAlias_typeParameters,
+ "nameOffset": nameOffset,
"typeAlias_typedefKeyword": typeAlias_typedefKeyword,
"typeAlias_semicolon": typeAlias_semicolon,
"typeAlias_hasSelfReference": typeAlias_hasSelfReference,
"codeLength": codeLength,
"codeOffset": codeOffset,
- "namedCompilationUnitMember_name": namedCompilationUnitMember_name,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
"simplyBoundable_isSimplyBounded": simplyBoundable_isSimplyBounded,
};
}
@@ -17791,8 +16835,10 @@
genericFunctionType_formalParameters,
"genericFunctionType_question": genericFunctionType_question,
"genericFunctionType_type": genericFunctionType_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.methodDeclaration) {
@@ -17801,22 +16847,21 @@
"annotatedNode_comment": annotatedNode_comment,
"annotatedNode_metadata": annotatedNode_metadata,
"methodDeclaration_body": methodDeclaration_body,
- "methodDeclaration_externalKeyword": methodDeclaration_externalKeyword,
"methodDeclaration_formalParameters":
methodDeclaration_formalParameters,
"methodDeclaration_operatorKeyword": methodDeclaration_operatorKeyword,
"methodDeclaration_returnType": methodDeclaration_returnType,
- "methodDeclaration_modifierKeyword": methodDeclaration_modifierKeyword,
- "methodDeclaration_propertyKeyword": methodDeclaration_propertyKeyword,
+ "nameOffset": nameOffset,
"methodDeclaration_actualProperty": methodDeclaration_actualProperty,
"executable_isAsynchronous": executable_isAsynchronous,
"methodDeclaration_typeParameters": methodDeclaration_typeParameters,
"codeLength": codeLength,
"codeOffset": codeOffset,
- "methodDeclaration_name": methodDeclaration_name,
"executable_isGenerator": executable_isGenerator,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.fieldFormalParameter) {
@@ -17824,24 +16869,22 @@
"actualType": actualType,
"normalFormalParameter_metadata": normalFormalParameter_metadata,
"fieldFormalParameter_type": fieldFormalParameter_type,
- "fieldFormalParameter_keyword": fieldFormalParameter_keyword,
"fieldFormalParameter_typeParameters":
fieldFormalParameter_typeParameters,
"fieldFormalParameter_thisKeyword": fieldFormalParameter_thisKeyword,
"fieldFormalParameter_formalParameters":
fieldFormalParameter_formalParameters,
- "fieldFormalParameter_period": fieldFormalParameter_period,
+ "nameOffset": nameOffset,
"normalFormalParameter_requiredKeyword":
normalFormalParameter_requiredKeyword,
- "normalFormalParameter_covariantKeyword":
- normalFormalParameter_covariantKeyword,
"inheritsCovariant": inheritsCovariant,
- "normalFormalParameter_identifier": normalFormalParameter_identifier,
"codeLength": codeLength,
"codeOffset": codeOffset,
+ "flags": flags,
"normalFormalParameter_comment": normalFormalParameter_comment,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.functionTypedFormalParameter) {
@@ -17854,17 +16897,17 @@
functionTypedFormalParameter_returnType,
"functionTypedFormalParameter_typeParameters":
functionTypedFormalParameter_typeParameters,
+ "nameOffset": nameOffset,
"normalFormalParameter_requiredKeyword":
normalFormalParameter_requiredKeyword,
- "normalFormalParameter_covariantKeyword":
- normalFormalParameter_covariantKeyword,
"inheritsCovariant": inheritsCovariant,
- "normalFormalParameter_identifier": normalFormalParameter_identifier,
"codeLength": codeLength,
"codeOffset": codeOffset,
+ "flags": flags,
"normalFormalParameter_comment": normalFormalParameter_comment,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.simpleFormalParameter) {
@@ -17872,18 +16915,17 @@
"actualType": actualType,
"normalFormalParameter_metadata": normalFormalParameter_metadata,
"simpleFormalParameter_type": simpleFormalParameter_type,
- "simpleFormalParameter_keyword": simpleFormalParameter_keyword,
+ "nameOffset": nameOffset,
"normalFormalParameter_requiredKeyword":
normalFormalParameter_requiredKeyword,
- "normalFormalParameter_covariantKeyword":
- normalFormalParameter_covariantKeyword,
"inheritsCovariant": inheritsCovariant,
- "normalFormalParameter_identifier": normalFormalParameter_identifier,
"codeLength": codeLength,
"codeOffset": codeOffset,
+ "flags": flags,
"normalFormalParameter_comment": normalFormalParameter_comment,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
"topLevelTypeInferenceError": topLevelTypeInferenceError,
};
}
@@ -17894,12 +16936,14 @@
"annotatedNode_metadata": annotatedNode_metadata,
"variableDeclaration_initializer": variableDeclaration_initializer,
"variableDeclaration_equals": variableDeclaration_equals,
- "variableDeclaration_name": variableDeclaration_name,
+ "nameOffset": nameOffset,
"inheritsCovariant": inheritsCovariant,
"codeLength": codeLength,
"codeOffset": codeOffset,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
"topLevelTypeInferenceError": topLevelTypeInferenceError,
"variableDeclaration_declaration": variableDeclaration_declaration,
};
@@ -17913,8 +16957,10 @@
"binaryExpression_elementType": binaryExpression_elementType,
"binaryExpression_operator": binaryExpression_operator,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.functionExpressionInvocation) {
@@ -17925,9 +16971,11 @@
"invocationExpression_typeArguments":
invocationExpression_typeArguments,
"expression_type": expression_type,
+ "flags": flags,
"invocationExpression_arguments": invocationExpression_arguments,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.methodInvocation) {
@@ -17939,17 +16987,20 @@
"invocationExpression_typeArguments":
invocationExpression_typeArguments,
"expression_type": expression_type,
+ "flags": flags,
"invocationExpression_arguments": invocationExpression_arguments,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.adjacentStrings) {
return {
"adjacentStrings_strings": adjacentStrings_strings,
- "expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.argumentList) {
@@ -17957,8 +17008,10 @@
"argumentList_arguments": argumentList_arguments,
"argumentList_leftParenthesis": argumentList_leftParenthesis,
"argumentList_rightParenthesis": argumentList_rightParenthesis,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.block) {
@@ -17966,8 +17019,10 @@
"block_statements": block_statements,
"block_leftBracket": block_leftBracket,
"block_rightBracket": block_rightBracket,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.cascadeExpression) {
@@ -17975,8 +17030,10 @@
"cascadeExpression_sections": cascadeExpression_sections,
"cascadeExpression_target": cascadeExpression_target,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.comment) {
@@ -17984,8 +17041,10 @@
"comment_references": comment_references,
"comment_tokens": comment_tokens,
"comment_type": comment_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.compilationUnit) {
@@ -17997,8 +17056,10 @@
"codeLength": codeLength,
"codeOffset": codeOffset,
"compilationUnit_directives": compilationUnit_directives,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.constructorDeclaration) {
@@ -18008,14 +17069,8 @@
"annotatedNode_comment": annotatedNode_comment,
"annotatedNode_metadata": annotatedNode_metadata,
"constructorDeclaration_body": constructorDeclaration_body,
- "constructorDeclaration_constKeyword":
- constructorDeclaration_constKeyword,
- "constructorDeclaration_name": constructorDeclaration_name,
- "constructorDeclaration_factoryKeyword":
- constructorDeclaration_factoryKeyword,
"constructorDeclaration_parameters": constructorDeclaration_parameters,
- "constructorDeclaration_externalKeyword":
- constructorDeclaration_externalKeyword,
+ "nameOffset": nameOffset,
"constructorDeclaration_period": constructorDeclaration_period,
"constructorDeclaration_separator": constructorDeclaration_separator,
"executable_isAsynchronous": executable_isAsynchronous,
@@ -18025,15 +17080,19 @@
"codeOffset": codeOffset,
"constructorDeclaration_returnType": constructorDeclaration_returnType,
"executable_isGenerator": executable_isGenerator,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.dottedName) {
return {
"dottedName_components": dottedName_components,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.enumDeclaration) {
@@ -18041,14 +17100,13 @@
"enumDeclaration_constants": enumDeclaration_constants,
"annotatedNode_comment": annotatedNode_comment,
"annotatedNode_metadata": annotatedNode_metadata,
- "enumDeclaration_enumKeyword": enumDeclaration_enumKeyword,
- "enumDeclaration_rightBracket": enumDeclaration_rightBracket,
- "enumDeclaration_leftBracket": enumDeclaration_leftBracket,
+ "nameOffset": nameOffset,
"codeLength": codeLength,
"codeOffset": codeOffset,
- "namedCompilationUnitMember_name": namedCompilationUnitMember_name,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.formalParameterList) {
@@ -18061,16 +17119,10 @@
formalParameterList_leftParenthesis,
"formalParameterList_rightParenthesis":
formalParameterList_rightParenthesis,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
- };
- }
- if (kind == idl.LinkedNodeKind.hideCombinator) {
- return {
- "hideCombinator_hiddenNames": hideCombinator_hiddenNames,
- "combinator_keyword": combinator_keyword,
- "isSynthetic": isSynthetic,
- "kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.implementsClause) {
@@ -18078,23 +17130,29 @@
"implementsClause_interfaces": implementsClause_interfaces,
"implementsClause_implementsKeyword":
implementsClause_implementsKeyword,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.labeledStatement) {
return {
"labeledStatement_labels": labeledStatement_labels,
"labeledStatement_statement": labeledStatement_statement,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.libraryIdentifier) {
return {
"libraryIdentifier_components": libraryIdentifier_components,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.listLiteral) {
@@ -18102,11 +17160,12 @@
"listLiteral_elements": listLiteral_elements,
"listLiteral_leftBracket": listLiteral_leftBracket,
"listLiteral_rightBracket": listLiteral_rightBracket,
- "typedLiteral_constKeyword": typedLiteral_constKeyword,
"expression_type": expression_type,
+ "flags": flags,
"typedLiteral_typeArguments": typedLiteral_typeArguments,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.exportDirective) {
@@ -18114,13 +17173,16 @@
"namespaceDirective_combinators": namespaceDirective_combinators,
"annotatedNode_comment": annotatedNode_comment,
"annotatedNode_metadata": annotatedNode_metadata,
+ "nameOffset": nameOffset,
"directive_keyword": directive_keyword,
"uriBasedDirective_uriElement": uriBasedDirective_uriElement,
"directive_semicolon": directive_semicolon,
"namespaceDirective_configurations": namespaceDirective_configurations,
+ "flags": flags,
"uriBasedDirective_uri": uriBasedDirective_uri,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
"namespaceDirective_selectedUri": namespaceDirective_selectedUri,
"uriBasedDirective_uriContent": uriBasedDirective_uriContent,
};
@@ -18130,16 +17192,18 @@
"namespaceDirective_combinators": namespaceDirective_combinators,
"annotatedNode_comment": annotatedNode_comment,
"annotatedNode_metadata": annotatedNode_metadata,
- "importDirective_prefix": importDirective_prefix,
- "importDirective_asKeyword": importDirective_asKeyword,
- "importDirective_deferredKeyword": importDirective_deferredKeyword,
+ "importDirective_prefixOffset": importDirective_prefixOffset,
+ "nameOffset": nameOffset,
"directive_keyword": directive_keyword,
"uriBasedDirective_uriElement": uriBasedDirective_uriElement,
"directive_semicolon": directive_semicolon,
"namespaceDirective_configurations": namespaceDirective_configurations,
+ "flags": flags,
+ "importDirective_prefix": importDirective_prefix,
"uriBasedDirective_uri": uriBasedDirective_uri,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
"namespaceDirective_selectedUri": namespaceDirective_selectedUri,
"uriBasedDirective_uriContent": uriBasedDirective_uriContent,
};
@@ -18148,8 +17212,10 @@
return {
"onClause_superclassConstraints": onClause_superclassConstraints,
"onClause_onKeyword": onClause_onKeyword,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.setOrMapLiteral) {
@@ -18157,29 +17223,23 @@
"setOrMapLiteral_elements": setOrMapLiteral_elements,
"setOrMapLiteral_leftBracket": setOrMapLiteral_leftBracket,
"setOrMapLiteral_rightBracket": setOrMapLiteral_rightBracket,
- "typedLiteral_constKeyword": typedLiteral_constKeyword,
"setOrMapLiteral_isMap": setOrMapLiteral_isMap,
"expression_type": expression_type,
+ "flags": flags,
"typedLiteral_typeArguments": typedLiteral_typeArguments,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
"setOrMapLiteral_isSet": setOrMapLiteral_isSet,
};
}
- if (kind == idl.LinkedNodeKind.showCombinator) {
- return {
- "showCombinator_shownNames": showCombinator_shownNames,
- "combinator_keyword": combinator_keyword,
- "isSynthetic": isSynthetic,
- "kind": kind,
- };
- }
if (kind == idl.LinkedNodeKind.stringInterpolation) {
return {
"stringInterpolation_elements": stringInterpolation_elements,
- "expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.switchStatement) {
@@ -18191,8 +17251,10 @@
"switchStatement_rightParenthesis": switchStatement_rightParenthesis,
"switchStatement_leftBracket": switchStatement_leftBracket,
"switchStatement_rightBracket": switchStatement_rightBracket,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.tryStatement) {
@@ -18202,8 +17264,10 @@
"tryStatement_finallyKeyword": tryStatement_finallyKeyword,
"tryStatement_finallyBlock": tryStatement_finallyBlock,
"tryStatement_tryKeyword": tryStatement_tryKeyword,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.typeArgumentList) {
@@ -18211,8 +17275,10 @@
"typeArgumentList_arguments": typeArgumentList_arguments,
"typeArgumentList_leftBracket": typeArgumentList_leftBracket,
"typeArgumentList_rightBracket": typeArgumentList_rightBracket,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.typeParameterList) {
@@ -18220,8 +17286,10 @@
"typeParameterList_typeParameters": typeParameterList_typeParameters,
"typeParameterList_leftBracket": typeParameterList_leftBracket,
"typeParameterList_rightBracket": typeParameterList_rightBracket,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.variableDeclarationList) {
@@ -18230,19 +17298,20 @@
"annotatedNode_comment": annotatedNode_comment,
"annotatedNode_metadata": annotatedNode_metadata,
"variableDeclarationList_type": variableDeclarationList_type,
- "variableDeclarationList_keyword": variableDeclarationList_keyword,
- "variableDeclarationList_lateKeyword":
- variableDeclarationList_lateKeyword,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.withClause) {
return {
"withClause_mixinTypes": withClause_mixinTypes,
"withClause_withKeyword": withClause_withKeyword,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.classDeclaration) {
@@ -18250,10 +17319,9 @@
"annotatedNode_comment": annotatedNode_comment,
"annotatedNode_metadata": annotatedNode_metadata,
"classDeclaration_extendsClause": classDeclaration_extendsClause,
- "classDeclaration_abstractKeyword": classDeclaration_abstractKeyword,
"classDeclaration_withClause": classDeclaration_withClause,
"classDeclaration_nativeClause": classDeclaration_nativeClause,
- "classDeclaration_classKeyword": classDeclaration_classKeyword,
+ "nameOffset": nameOffset,
"classOrMixinDeclaration_rightBracket":
classOrMixinDeclaration_rightBracket,
"classOrMixinDeclaration_leftBracket":
@@ -18266,9 +17334,10 @@
classOrMixinDeclaration_typeParameters,
"codeLength": codeLength,
"codeOffset": codeOffset,
- "namedCompilationUnitMember_name": namedCompilationUnitMember_name,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
"simplyBoundable_isSimplyBounded": simplyBoundable_isSimplyBounded,
};
}
@@ -18277,18 +17346,18 @@
"annotatedNode_comment": annotatedNode_comment,
"annotatedNode_metadata": annotatedNode_metadata,
"classTypeAlias_typeParameters": classTypeAlias_typeParameters,
- "classTypeAlias_abstractKeyword": classTypeAlias_abstractKeyword,
"classTypeAlias_superclass": classTypeAlias_superclass,
"classTypeAlias_withClause": classTypeAlias_withClause,
- "classTypeAlias_equals": classTypeAlias_equals,
+ "nameOffset": nameOffset,
"typeAlias_typedefKeyword": typeAlias_typedefKeyword,
"typeAlias_semicolon": typeAlias_semicolon,
"classTypeAlias_implementsClause": classTypeAlias_implementsClause,
"codeLength": codeLength,
"codeOffset": codeOffset,
- "namedCompilationUnitMember_name": namedCompilationUnitMember_name,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
"simplyBoundable_isSimplyBounded": simplyBoundable_isSimplyBounded,
};
}
@@ -18299,17 +17368,21 @@
"declaredIdentifier_identifier": declaredIdentifier_identifier,
"declaredIdentifier_keyword": declaredIdentifier_keyword,
"declaredIdentifier_type": declaredIdentifier_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.enumConstantDeclaration) {
return {
"annotatedNode_comment": annotatedNode_comment,
"annotatedNode_metadata": annotatedNode_metadata,
- "enumConstantDeclaration_name": enumConstantDeclaration_name,
+ "nameOffset": nameOffset,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.fieldDeclaration) {
@@ -18317,11 +17390,11 @@
"annotatedNode_comment": annotatedNode_comment,
"annotatedNode_metadata": annotatedNode_metadata,
"fieldDeclaration_fields": fieldDeclaration_fields,
- "fieldDeclaration_covariantKeyword": fieldDeclaration_covariantKeyword,
- "fieldDeclaration_staticKeyword": fieldDeclaration_staticKeyword,
"fieldDeclaration_semicolon": fieldDeclaration_semicolon,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.genericTypeAlias) {
@@ -18330,15 +17403,16 @@
"annotatedNode_metadata": annotatedNode_metadata,
"genericTypeAlias_typeParameters": genericTypeAlias_typeParameters,
"genericTypeAlias_functionType": genericTypeAlias_functionType,
- "genericTypeAlias_equals": genericTypeAlias_equals,
+ "nameOffset": nameOffset,
"typeAlias_typedefKeyword": typeAlias_typedefKeyword,
"typeAlias_semicolon": typeAlias_semicolon,
"typeAlias_hasSelfReference": typeAlias_hasSelfReference,
"codeLength": codeLength,
"codeOffset": codeOffset,
- "namedCompilationUnitMember_name": namedCompilationUnitMember_name,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
"simplyBoundable_isSimplyBounded": simplyBoundable_isSimplyBounded,
};
}
@@ -18349,8 +17423,10 @@
"libraryDirective_name": libraryDirective_name,
"directive_keyword": directive_keyword,
"directive_semicolon": directive_semicolon,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.mixinDeclaration) {
@@ -18359,6 +17435,7 @@
"annotatedNode_metadata": annotatedNode_metadata,
"mixinDeclaration_onClause": mixinDeclaration_onClause,
"mixinDeclaration_mixinKeyword": mixinDeclaration_mixinKeyword,
+ "nameOffset": nameOffset,
"classOrMixinDeclaration_rightBracket":
classOrMixinDeclaration_rightBracket,
"classOrMixinDeclaration_leftBracket":
@@ -18370,11 +17447,12 @@
classOrMixinDeclaration_typeParameters,
"codeLength": codeLength,
"codeOffset": codeOffset,
- "namedCompilationUnitMember_name": namedCompilationUnitMember_name,
- "isSynthetic": isSynthetic,
- "kind": kind,
"mixinDeclaration_superInvokedNames":
mixinDeclaration_superInvokedNames,
+ "flags": flags,
+ "isSynthetic": isSynthetic,
+ "kind": kind,
+ "name": name,
"simplyBoundable_isSimplyBounded": simplyBoundable_isSimplyBounded,
};
}
@@ -18382,12 +17460,15 @@
return {
"annotatedNode_comment": annotatedNode_comment,
"annotatedNode_metadata": annotatedNode_metadata,
+ "nameOffset": nameOffset,
"directive_keyword": directive_keyword,
"uriBasedDirective_uriElement": uriBasedDirective_uriElement,
"directive_semicolon": directive_semicolon,
+ "flags": flags,
"uriBasedDirective_uri": uriBasedDirective_uri,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
"uriBasedDirective_uriContent": uriBasedDirective_uriContent,
};
}
@@ -18400,8 +17481,10 @@
"partOfDirective_ofKeyword": partOfDirective_ofKeyword,
"directive_keyword": directive_keyword,
"directive_semicolon": directive_semicolon,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.topLevelVariableDeclaration) {
@@ -18412,8 +17495,10 @@
topLevelVariableDeclaration_variableList,
"topLevelVariableDeclaration_semicolon":
topLevelVariableDeclaration_semicolon,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.typeParameter) {
@@ -18422,12 +17507,14 @@
"annotatedNode_metadata": annotatedNode_metadata,
"typeParameter_bound": typeParameter_bound,
"typeParameter_extendsKeyword": typeParameter_extendsKeyword,
- "typeParameter_name": typeParameter_name,
"typeParameter_defaultType": typeParameter_defaultType,
+ "nameOffset": nameOffset,
"codeLength": codeLength,
"codeOffset": codeOffset,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.switchCase) {
@@ -18437,8 +17524,10 @@
"switchMember_keyword": switchMember_keyword,
"switchMember_colon": switchMember_colon,
"switchMember_labels": switchMember_labels,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.switchDefault) {
@@ -18447,8 +17536,10 @@
"switchMember_keyword": switchMember_keyword,
"switchMember_colon": switchMember_colon,
"switchMember_labels": switchMember_labels,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.annotation) {
@@ -18460,8 +17551,10 @@
"annotation_elementType": annotation_elementType,
"annotation_name": annotation_name,
"annotation_period": annotation_period,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.asExpression) {
@@ -18470,8 +17563,10 @@
"asExpression_asOperator": asExpression_asOperator,
"asExpression_type": asExpression_type,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.assertInitializer) {
@@ -18483,8 +17578,10 @@
"assertInitializer_comma": assertInitializer_comma,
"assertInitializer_rightParenthesis":
assertInitializer_rightParenthesis,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.assertStatement) {
@@ -18496,8 +17593,10 @@
"assertStatement_comma": assertStatement_comma,
"assertStatement_rightParenthesis": assertStatement_rightParenthesis,
"assertStatement_semicolon": assertStatement_semicolon,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.assignmentExpression) {
@@ -18509,8 +17608,10 @@
"assignmentExpression_elementType": assignmentExpression_elementType,
"assignmentExpression_operator": assignmentExpression_operator,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.awaitExpression) {
@@ -18518,8 +17619,10 @@
"awaitExpression_expression": awaitExpression_expression,
"awaitExpression_awaitKeyword": awaitExpression_awaitKeyword,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.blockFunctionBody) {
@@ -18527,8 +17630,10 @@
"blockFunctionBody_block": blockFunctionBody_block,
"blockFunctionBody_keyword": blockFunctionBody_keyword,
"blockFunctionBody_star": blockFunctionBody_star,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.breakStatement) {
@@ -18536,8 +17641,10 @@
"breakStatement_label": breakStatement_label,
"breakStatement_breakKeyword": breakStatement_breakKeyword,
"breakStatement_semicolon": breakStatement_semicolon,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.catchClause) {
@@ -18551,16 +17658,20 @@
"catchClause_onKeyword": catchClause_onKeyword,
"catchClause_rightParenthesis": catchClause_rightParenthesis,
"catchClause_stackTraceParameter": catchClause_stackTraceParameter,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.commentReference) {
return {
"commentReference_identifier": commentReference_identifier,
"commentReference_newKeyword": commentReference_newKeyword,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.conditionalExpression) {
@@ -18573,8 +17684,10 @@
conditionalExpression_thenExpression,
"conditionalExpression_question": conditionalExpression_question,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.configuration) {
@@ -18586,8 +17699,10 @@
"configuration_uri": configuration_uri,
"configuration_leftParenthesis": configuration_leftParenthesis,
"configuration_equalToken": configuration_equalToken,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.constructorFieldInitializer) {
@@ -18602,8 +17717,10 @@
constructorFieldInitializer_thisKeyword,
"constructorFieldInitializer_period":
constructorFieldInitializer_period,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.constructorName) {
@@ -18613,8 +17730,10 @@
"constructorName_type": constructorName_type,
"constructorName_elementType": constructorName_elementType,
"constructorName_period": constructorName_period,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.continueStatement) {
@@ -18622,8 +17741,10 @@
"continueStatement_label": continueStatement_label,
"continueStatement_continueKeyword": continueStatement_continueKeyword,
"continueStatement_semicolon": continueStatement_semicolon,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.defaultFormalParameter) {
@@ -18635,8 +17756,10 @@
"codeLength": codeLength,
"codeOffset": codeOffset,
"defaultFormalParameter_kind": defaultFormalParameter_kind,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.doStatement) {
@@ -18648,8 +17771,10 @@
"doStatement_rightParenthesis": doStatement_rightParenthesis,
"doStatement_semicolon": doStatement_semicolon,
"doStatement_whileKeyword": doStatement_whileKeyword,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.expressionFunctionBody) {
@@ -18658,24 +17783,30 @@
"expressionFunctionBody_arrow": expressionFunctionBody_arrow,
"expressionFunctionBody_semicolon": expressionFunctionBody_semicolon,
"expressionFunctionBody_keyword": expressionFunctionBody_keyword,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.expressionStatement) {
return {
"expressionStatement_expression": expressionStatement_expression,
"expressionStatement_semicolon": expressionStatement_semicolon,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.extendsClause) {
return {
"extendsClause_superclass": extendsClause_superclass,
"extendsClause_extendsKeyword": extendsClause_extendsKeyword,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.forEachPartsWithDeclaration) {
@@ -18684,8 +17815,10 @@
"forEachParts_inKeyword": forEachParts_inKeyword,
"forEachPartsWithDeclaration_loopVariable":
forEachPartsWithDeclaration_loopVariable,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.forEachPartsWithIdentifier) {
@@ -18694,8 +17827,10 @@
"forEachParts_inKeyword": forEachParts_inKeyword,
"forEachPartsWithIdentifier_identifier":
forEachPartsWithIdentifier_identifier,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.forElement) {
@@ -18706,8 +17841,10 @@
"forMixin_leftParenthesis": forMixin_leftParenthesis,
"forMixin_forKeyword": forMixin_forKeyword,
"forMixin_rightParenthesis": forMixin_rightParenthesis,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.forStatement) {
@@ -18718,8 +17855,10 @@
"forMixin_leftParenthesis": forMixin_leftParenthesis,
"forMixin_forKeyword": forMixin_forKeyword,
"forMixin_rightParenthesis": forMixin_rightParenthesis,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.forPartsWithDeclarations) {
@@ -18730,8 +17869,10 @@
forPartsWithDeclarations_variables,
"forParts_rightSeparator": forParts_rightSeparator,
"forParts_updaters": forParts_updaters,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.forPartsWithExpression) {
@@ -18742,16 +17883,20 @@
forPartsWithExpression_initialization,
"forParts_rightSeparator": forParts_rightSeparator,
"forParts_updaters": forParts_updaters,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.functionDeclarationStatement) {
return {
"functionDeclarationStatement_functionDeclaration":
functionDeclarationStatement_functionDeclaration,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.ifElement) {
@@ -18763,8 +17908,10 @@
"ifMixin_ifKeyword": ifMixin_ifKeyword,
"ifMixin_rightParenthesis": ifMixin_rightParenthesis,
"ifElement_elseElement": ifElement_elseElement,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.ifStatement) {
@@ -18776,8 +17923,10 @@
"ifStatement_thenStatement": ifStatement_thenStatement,
"ifMixin_ifKeyword": ifMixin_ifKeyword,
"ifMixin_rightParenthesis": ifMixin_rightParenthesis,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.indexExpression) {
@@ -18790,23 +17939,25 @@
"indexExpression_period": indexExpression_period,
"indexExpression_rightBracket": indexExpression_rightBracket,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.instanceCreationExpression) {
return {
"instanceCreationExpression_arguments":
instanceCreationExpression_arguments,
- "instanceCreationExpression_keyword":
- instanceCreationExpression_keyword,
"instanceCreationExpression_constructorName":
instanceCreationExpression_constructorName,
"instanceCreationExpression_typeArguments":
instanceCreationExpression_typeArguments,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.interpolationExpression) {
@@ -18817,8 +17968,10 @@
interpolationExpression_leftBracket,
"interpolationExpression_rightBracket":
interpolationExpression_rightBracket,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.isExpression) {
@@ -18827,17 +17980,20 @@
"isExpression_isOperator": isExpression_isOperator,
"isExpression_type": isExpression_type,
"isExpression_notOperator": isExpression_notOperator,
- "expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.label) {
return {
"label_label": label_label,
"label_colon": label_colon,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.mapLiteralEntry) {
@@ -18845,25 +18001,30 @@
"mapLiteralEntry_key": mapLiteralEntry_key,
"mapLiteralEntry_separator": mapLiteralEntry_separator,
"mapLiteralEntry_value": mapLiteralEntry_value,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.namedExpression) {
return {
"namedExpression_expression": namedExpression_expression,
"namedExpression_name": namedExpression_name,
- "expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.nativeClause) {
return {
"nativeClause_name": nativeClause_name,
"nativeClause_nativeKeyword": nativeClause_nativeKeyword,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.nativeFunctionBody) {
@@ -18871,8 +18032,10 @@
"nativeFunctionBody_stringLiteral": nativeFunctionBody_stringLiteral,
"nativeFunctionBody_nativeKeyword": nativeFunctionBody_nativeKeyword,
"nativeFunctionBody_semicolon": nativeFunctionBody_semicolon,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.parenthesizedExpression) {
@@ -18884,8 +18047,10 @@
"parenthesizedExpression_rightParenthesis":
parenthesizedExpression_rightParenthesis,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.postfixExpression) {
@@ -18895,8 +18060,10 @@
"postfixExpression_elementType": postfixExpression_elementType,
"postfixExpression_operator": postfixExpression_operator,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.prefixedIdentifier) {
@@ -18905,8 +18072,10 @@
"prefixedIdentifier_period": prefixedIdentifier_period,
"prefixedIdentifier_prefix": prefixedIdentifier_prefix,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.prefixExpression) {
@@ -18916,8 +18085,10 @@
"prefixExpression_elementType": prefixExpression_elementType,
"prefixExpression_operator": prefixExpression_operator,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.propertyAccess) {
@@ -18926,8 +18097,10 @@
"propertyAccess_operator": propertyAccess_operator,
"propertyAccess_target": propertyAccess_target,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.redirectingConstructorInvocation) {
@@ -18944,8 +18117,10 @@
redirectingConstructorInvocation_elementType,
"redirectingConstructorInvocation_period":
redirectingConstructorInvocation_period,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.returnStatement) {
@@ -18953,16 +18128,20 @@
"returnStatement_expression": returnStatement_expression,
"returnStatement_returnKeyword": returnStatement_returnKeyword,
"returnStatement_semicolon": returnStatement_semicolon,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.spreadElement) {
return {
"spreadElement_expression": spreadElement_expression,
- "spreadElement_spreadOperator": spreadElement_spreadOperator,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
+ "spreadElement_spreadOperator2": spreadElement_spreadOperator2,
};
}
if (kind == idl.LinkedNodeKind.superConstructorInvocation) {
@@ -18978,8 +18157,10 @@
"superConstructorInvocation_elementType":
superConstructorInvocation_elementType,
"superConstructorInvocation_period": superConstructorInvocation_period,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.throwExpression) {
@@ -18987,8 +18168,10 @@
"throwExpression_expression": throwExpression_expression,
"throwExpression_throwKeyword": throwExpression_throwKeyword,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.typeName) {
@@ -18997,8 +18180,10 @@
"typeName_question": typeName_question,
"typeName_typeArguments": typeName_typeArguments,
"typeName_type": typeName_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.variableDeclarationStatement) {
@@ -19007,8 +18192,10 @@
variableDeclarationStatement_variables,
"variableDeclarationStatement_semicolon":
variableDeclarationStatement_semicolon,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.whileStatement) {
@@ -19018,8 +18205,10 @@
"whileStatement_condition": whileStatement_condition,
"whileStatement_whileKeyword": whileStatement_whileKeyword,
"whileStatement_rightParenthesis": whileStatement_rightParenthesis,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.yieldStatement) {
@@ -19028,125 +18217,166 @@
"yieldStatement_yieldKeyword": yieldStatement_yieldKeyword,
"yieldStatement_semicolon": yieldStatement_semicolon,
"yieldStatement_star": yieldStatement_star,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
- };
- }
- if (kind == idl.LinkedNodeKind.booleanLiteral) {
- return {
- "booleanLiteral_literal": booleanLiteral_literal,
- "booleanLiteral_value": booleanLiteral_value,
- "expression_type": expression_type,
- "isSynthetic": isSynthetic,
- "kind": kind,
- };
- }
- if (kind == idl.LinkedNodeKind.doubleLiteral) {
- return {
- "doubleLiteral_literal": doubleLiteral_literal,
- "doubleLiteral_value": doubleLiteral_value,
- "expression_type": expression_type,
- "isSynthetic": isSynthetic,
- "kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.emptyFunctionBody) {
return {
"emptyFunctionBody_semicolon": emptyFunctionBody_semicolon,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.emptyStatement) {
return {
"emptyStatement_semicolon": emptyStatement_semicolon,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
- };
- }
- if (kind == idl.LinkedNodeKind.integerLiteral) {
- return {
- "integerLiteral_literal": integerLiteral_literal,
- "integerLiteral_value": integerLiteral_value,
- "expression_type": expression_type,
- "isSynthetic": isSynthetic,
- "kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.interpolationString) {
return {
"interpolationString_token": interpolationString_token,
+ "flags": flags,
"interpolationString_value": interpolationString_value,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.nullLiteral) {
return {
"nullLiteral_literal": nullLiteral_literal,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.rethrowExpression) {
return {
"rethrowExpression_rethrowKeyword": rethrowExpression_rethrowKeyword,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.scriptTag) {
return {
"scriptTag_scriptTag": scriptTag_scriptTag,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.simpleIdentifier) {
return {
"simpleIdentifier_element": simpleIdentifier_element,
"simpleIdentifier_elementType": simpleIdentifier_elementType,
- "simpleIdentifier_token": simpleIdentifier_token,
"simpleIdentifier_isDeclaration": simpleIdentifier_isDeclaration,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
- };
- }
- if (kind == idl.LinkedNodeKind.simpleStringLiteral) {
- return {
- "simpleStringLiteral_token": simpleStringLiteral_token,
- "expression_type": expression_type,
- "isSynthetic": isSynthetic,
- "kind": kind,
- "simpleStringLiteral_value": simpleStringLiteral_value,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.superExpression) {
return {
"superExpression_superKeyword": superExpression_superKeyword,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.symbolLiteral) {
return {
"symbolLiteral_poundSign": symbolLiteral_poundSign,
- "symbolLiteral_components": symbolLiteral_components,
+ "names": names,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
};
}
if (kind == idl.LinkedNodeKind.thisExpression) {
return {
"thisExpression_thisKeyword": thisExpression_thisKeyword,
"expression_type": expression_type,
+ "flags": flags,
"isSynthetic": isSynthetic,
"kind": kind,
+ "name": name,
+ };
+ }
+ if (kind == idl.LinkedNodeKind.integerLiteral) {
+ return {
+ "integerLiteral_value": integerLiteral_value,
+ "flags": flags,
+ "isSynthetic": isSynthetic,
+ "kind": kind,
+ "name": name,
+ };
+ }
+ if (kind == idl.LinkedNodeKind.hideCombinator) {
+ return {
+ "combinator_keyword": combinator_keyword,
+ "names": names,
+ "flags": flags,
+ "isSynthetic": isSynthetic,
+ "kind": kind,
+ "name": name,
+ };
+ }
+ if (kind == idl.LinkedNodeKind.showCombinator) {
+ return {
+ "combinator_keyword": combinator_keyword,
+ "names": names,
+ "flags": flags,
+ "isSynthetic": isSynthetic,
+ "kind": kind,
+ "name": name,
+ };
+ }
+ if (kind == idl.LinkedNodeKind.booleanLiteral) {
+ return {
+ "booleanLiteral_value": booleanLiteral_value,
+ "flags": flags,
+ "isSynthetic": isSynthetic,
+ "kind": kind,
+ "name": name,
+ };
+ }
+ if (kind == idl.LinkedNodeKind.doubleLiteral) {
+ return {
+ "doubleLiteral_value": doubleLiteral_value,
+ "flags": flags,
+ "isSynthetic": isSynthetic,
+ "kind": kind,
+ "name": name,
+ };
+ }
+ if (kind == idl.LinkedNodeKind.simpleStringLiteral) {
+ return {
+ "flags": flags,
+ "isSynthetic": isSynthetic,
+ "kind": kind,
+ "name": name,
+ "simpleStringLiteral_value": simpleStringLiteral_value,
};
}
throw StateError("Unexpected $kind");
diff --git a/pkg/analyzer/lib/src/summary/format.fbs b/pkg/analyzer/lib/src/summary/format.fbs
index b124216..f59aec6 100644
--- a/pkg/analyzer/lib/src/summary/format.fbs
+++ b/pkg/analyzer/lib/src/summary/format.fbs
@@ -1910,6 +1910,8 @@
variantField_19:uint (id: 19);
+ variantField_28:UnlinkedTokenType (id: 28);
+
variantField_27:bool (id: 27);
variantField_9:LinkedNode (id: 9);
@@ -1924,7 +1926,7 @@
variantField_33:uint (id: 33);
- variantField_28:[uint] (id: 28);
+ variantField_36:[string] (id: 36);
variantField_29:LinkedNodeCommentType (id: 29);
@@ -1940,6 +1942,10 @@
variantField_25:LinkedNodeType (id: 25);
+ flags:uint (id: 39);
+
+ variantField_41:string (id: 41);
+
variantField_30:string (id: 30);
variantField_14:LinkedNode (id: 14);
@@ -1948,12 +1954,14 @@
kind:LinkedNodeKind (id: 0);
- variantField_36:[string] (id: 36);
+ name:string (id: 38);
variantField_20:string (id: 20);
variantField_31:bool (id: 31);
+ variantField_40:UnlinkedTokenType (id: 40);
+
variantField_35:TopLevelInferenceError (id: 35);
variantField_22:string (id: 22);
diff --git a/pkg/analyzer/lib/src/summary/idl.dart b/pkg/analyzer/lib/src/summary/idl.dart
index 9e938ec..2cd456d 100644
--- a/pkg/analyzer/lib/src/summary/idl.dart
+++ b/pkg/analyzer/lib/src/summary/idl.dart
@@ -983,8 +983,8 @@
@VariantId(6, variant: LinkedNodeKind.binaryExpression)
LinkedNode get binaryExpression_leftOperand;
- @VariantId(16, variant: LinkedNodeKind.binaryExpression)
- int get binaryExpression_operator;
+ @VariantId(28, variant: LinkedNodeKind.binaryExpression)
+ UnlinkedTokenType get binaryExpression_operator;
@VariantId(7, variant: LinkedNodeKind.binaryExpression)
LinkedNode get binaryExpression_rightOperand;
@@ -1007,9 +1007,6 @@
@VariantId(16, variant: LinkedNodeKind.blockFunctionBody)
int get blockFunctionBody_star;
- @VariantId(15, variant: LinkedNodeKind.booleanLiteral)
- int get booleanLiteral_literal;
-
@VariantId(27, variant: LinkedNodeKind.booleanLiteral)
bool get booleanLiteral_value;
@@ -1055,12 +1052,6 @@
@VariantId(9, variant: LinkedNodeKind.catchClause)
LinkedNode get catchClause_stackTraceParameter;
- @VariantId(15, variant: LinkedNodeKind.classDeclaration)
- int get classDeclaration_abstractKeyword;
-
- @VariantId(16, variant: LinkedNodeKind.classDeclaration)
- int get classDeclaration_classKeyword;
-
@VariantId(6, variant: LinkedNodeKind.classDeclaration)
LinkedNode get classDeclaration_extendsClause;
@@ -1103,12 +1094,6 @@
])
LinkedNode get classOrMixinDeclaration_typeParameters;
- @VariantId(15, variant: LinkedNodeKind.classTypeAlias)
- int get classTypeAlias_abstractKeyword;
-
- @VariantId(16, variant: LinkedNodeKind.classTypeAlias)
- int get classTypeAlias_equals;
-
@VariantId(9, variant: LinkedNodeKind.classTypeAlias)
LinkedNode get classTypeAlias_implementsClause;
@@ -1170,8 +1155,8 @@
@VariantId(2, variant: LinkedNodeKind.comment)
List<LinkedNode> get comment_references;
- @VariantId(28, variant: LinkedNodeKind.comment)
- List<int> get comment_tokens;
+ @VariantId(36, variant: LinkedNodeKind.comment)
+ List<String> get comment_tokens;
@VariantId(29, variant: LinkedNodeKind.comment)
LinkedNodeCommentType get comment_type;
@@ -1236,21 +1221,9 @@
@VariantId(6, variant: LinkedNodeKind.constructorDeclaration)
LinkedNode get constructorDeclaration_body;
- @VariantId(15, variant: LinkedNodeKind.constructorDeclaration)
- int get constructorDeclaration_constKeyword;
-
- @VariantId(16, variant: LinkedNodeKind.constructorDeclaration)
- int get constructorDeclaration_externalKeyword;
-
- @VariantId(17, variant: LinkedNodeKind.constructorDeclaration)
- int get constructorDeclaration_factoryKeyword;
-
@VariantId(2, variant: LinkedNodeKind.constructorDeclaration)
List<LinkedNode> get constructorDeclaration_initializers;
- @VariantId(7, variant: LinkedNodeKind.constructorDeclaration)
- LinkedNode get constructorDeclaration_name;
-
@VariantId(8, variant: LinkedNodeKind.constructorDeclaration)
LinkedNode get constructorDeclaration_parameters;
@@ -1368,9 +1341,6 @@
@VariantId(2, variant: LinkedNodeKind.dottedName)
List<LinkedNode> get dottedName_components;
- @VariantId(15, variant: LinkedNodeKind.doubleLiteral)
- int get doubleLiteral_literal;
-
@VariantId(21, variant: LinkedNodeKind.doubleLiteral)
double get doubleLiteral_value;
@@ -1380,21 +1350,9 @@
@VariantId(15, variant: LinkedNodeKind.emptyStatement)
int get emptyStatement_semicolon;
- @VariantId(6, variant: LinkedNodeKind.enumConstantDeclaration)
- LinkedNode get enumConstantDeclaration_name;
-
@VariantId(2, variant: LinkedNodeKind.enumDeclaration)
List<LinkedNode> get enumDeclaration_constants;
- @VariantId(15, variant: LinkedNodeKind.enumDeclaration)
- int get enumDeclaration_enumKeyword;
-
- @VariantId(16, variant: LinkedNodeKind.enumDeclaration)
- int get enumDeclaration_leftBracket;
-
- @VariantId(17, variant: LinkedNodeKind.enumDeclaration)
- int get enumDeclaration_rightBracket;
-
@VariantId(27, variantList: [
LinkedNodeKind.constructorDeclaration,
LinkedNodeKind.functionExpression,
@@ -1410,23 +1368,17 @@
bool get executable_isGenerator;
@VariantId(25, variantList: [
- LinkedNodeKind.adjacentStrings,
LinkedNodeKind.assignmentExpression,
LinkedNodeKind.asExpression,
LinkedNodeKind.awaitExpression,
LinkedNodeKind.binaryExpression,
- LinkedNodeKind.booleanLiteral,
LinkedNodeKind.cascadeExpression,
LinkedNodeKind.conditionalExpression,
- LinkedNodeKind.doubleLiteral,
LinkedNodeKind.functionExpressionInvocation,
LinkedNodeKind.indexExpression,
LinkedNodeKind.instanceCreationExpression,
- LinkedNodeKind.integerLiteral,
- LinkedNodeKind.isExpression,
LinkedNodeKind.listLiteral,
LinkedNodeKind.methodInvocation,
- LinkedNodeKind.namedExpression,
LinkedNodeKind.nullLiteral,
LinkedNodeKind.parenthesizedExpression,
LinkedNodeKind.prefixExpression,
@@ -1436,8 +1388,6 @@
LinkedNodeKind.rethrowExpression,
LinkedNodeKind.setOrMapLiteral,
LinkedNodeKind.simpleIdentifier,
- LinkedNodeKind.simpleStringLiteral,
- LinkedNodeKind.stringInterpolation,
LinkedNodeKind.superExpression,
LinkedNodeKind.symbolLiteral,
LinkedNodeKind.thisExpression,
@@ -1469,27 +1419,15 @@
@VariantId(6, variant: LinkedNodeKind.extendsClause)
LinkedNode get extendsClause_superclass;
- @VariantId(15, variant: LinkedNodeKind.fieldDeclaration)
- int get fieldDeclaration_covariantKeyword;
-
@VariantId(6, variant: LinkedNodeKind.fieldDeclaration)
LinkedNode get fieldDeclaration_fields;
@VariantId(16, variant: LinkedNodeKind.fieldDeclaration)
int get fieldDeclaration_semicolon;
- @VariantId(17, variant: LinkedNodeKind.fieldDeclaration)
- int get fieldDeclaration_staticKeyword;
-
@VariantId(8, variant: LinkedNodeKind.fieldFormalParameter)
LinkedNode get fieldFormalParameter_formalParameters;
- @VariantId(15, variant: LinkedNodeKind.fieldFormalParameter)
- int get fieldFormalParameter_keyword;
-
- @VariantId(16, variant: LinkedNodeKind.fieldFormalParameter)
- int get fieldFormalParameter_period;
-
@VariantId(17, variant: LinkedNodeKind.fieldFormalParameter)
int get fieldFormalParameter_thisKeyword;
@@ -1499,6 +1437,9 @@
@VariantId(7, variant: LinkedNodeKind.fieldFormalParameter)
LinkedNode get fieldFormalParameter_typeParameters;
+ @Id(39)
+ int get flags;
+
@VariantId(15, variantList: [
LinkedNodeKind.forEachPartsWithDeclaration,
LinkedNodeKind.forEachPartsWithIdentifier,
@@ -1598,15 +1539,9 @@
@VariantId(7, variant: LinkedNodeKind.forStatement)
LinkedNode get forStatement_body;
- @VariantId(15, variant: LinkedNodeKind.functionDeclaration)
- int get functionDeclaration_externalKeyword;
-
@VariantId(6, variant: LinkedNodeKind.functionDeclaration)
LinkedNode get functionDeclaration_functionExpression;
- @VariantId(16, variant: LinkedNodeKind.functionDeclaration)
- int get functionDeclaration_propertyKeyword;
-
@VariantId(7, variant: LinkedNodeKind.functionDeclaration)
LinkedNode get functionDeclaration_returnType;
@@ -1664,18 +1599,12 @@
@VariantId(6, variant: LinkedNodeKind.genericFunctionType)
LinkedNode get genericFunctionType_typeParameters;
- @VariantId(16, variant: LinkedNodeKind.genericTypeAlias)
- int get genericTypeAlias_equals;
-
@VariantId(7, variant: LinkedNodeKind.genericTypeAlias)
LinkedNode get genericTypeAlias_functionType;
@VariantId(6, variant: LinkedNodeKind.genericTypeAlias)
LinkedNode get genericTypeAlias_typeParameters;
- @VariantId(2, variant: LinkedNodeKind.hideCombinator)
- List<LinkedNode> get hideCombinator_hiddenNames;
-
@VariantId(9, variant: LinkedNodeKind.ifElement)
LinkedNode get ifElement_elseElement;
@@ -1725,13 +1654,10 @@
List<LinkedNode> get implementsClause_interfaces;
@VariantId(15, variant: LinkedNodeKind.importDirective)
- int get importDirective_asKeyword;
+ int get importDirective_prefixOffset;
- @VariantId(16, variant: LinkedNodeKind.importDirective)
- int get importDirective_deferredKeyword;
-
- @VariantId(6, variant: LinkedNodeKind.importDirective)
- LinkedNode get importDirective_prefix;
+ @VariantId(41, variant: LinkedNodeKind.importDirective)
+ String get importDirective_prefix;
@VariantId(15, variant: LinkedNodeKind.indexExpression)
int get indexExpression_element;
@@ -1768,15 +1694,9 @@
@VariantId(7, variant: LinkedNodeKind.instanceCreationExpression)
LinkedNode get instanceCreationExpression_constructorName;
- @VariantId(15, variant: LinkedNodeKind.instanceCreationExpression)
- int get instanceCreationExpression_keyword;
-
@VariantId(8, variant: LinkedNodeKind.instanceCreationExpression)
LinkedNode get instanceCreationExpression_typeArguments;
- @VariantId(15, variant: LinkedNodeKind.integerLiteral)
- int get integerLiteral_literal;
-
@VariantId(16, variant: LinkedNodeKind.integerLiteral)
int get integerLiteral_value;
@@ -1873,24 +1793,12 @@
@VariantId(6, variant: LinkedNodeKind.methodDeclaration)
LinkedNode get methodDeclaration_body;
- @VariantId(15, variant: LinkedNodeKind.methodDeclaration)
- int get methodDeclaration_externalKeyword;
-
@VariantId(7, variant: LinkedNodeKind.methodDeclaration)
LinkedNode get methodDeclaration_formalParameters;
- @VariantId(16, variant: LinkedNodeKind.methodDeclaration)
- int get methodDeclaration_modifierKeyword;
-
- @VariantId(10, variant: LinkedNodeKind.methodDeclaration)
- LinkedNode get methodDeclaration_name;
-
@VariantId(17, variant: LinkedNodeKind.methodDeclaration)
int get methodDeclaration_operatorKeyword;
- @VariantId(18, variant: LinkedNodeKind.methodDeclaration)
- int get methodDeclaration_propertyKeyword;
-
@VariantId(8, variant: LinkedNodeKind.methodDeclaration)
LinkedNode get methodDeclaration_returnType;
@@ -1915,16 +1823,30 @@
@VariantId(36, variant: LinkedNodeKind.mixinDeclaration)
List<String> get mixinDeclaration_superInvokedNames;
- @VariantId(14, variantList: [
+ @Id(38)
+ String get name;
+
+ @VariantId(16, variantList: [
LinkedNodeKind.classDeclaration,
LinkedNodeKind.classTypeAlias,
+ LinkedNodeKind.constructorDeclaration,
+ LinkedNodeKind.enumConstantDeclaration,
LinkedNodeKind.enumDeclaration,
+ LinkedNodeKind.exportDirective,
+ LinkedNodeKind.fieldFormalParameter,
LinkedNodeKind.functionDeclaration,
+ LinkedNodeKind.functionTypedFormalParameter,
LinkedNodeKind.functionTypeAlias,
LinkedNodeKind.genericTypeAlias,
+ LinkedNodeKind.importDirective,
+ LinkedNodeKind.methodDeclaration,
LinkedNodeKind.mixinDeclaration,
+ LinkedNodeKind.partDirective,
+ LinkedNodeKind.simpleFormalParameter,
+ LinkedNodeKind.typeParameter,
+ LinkedNodeKind.variableDeclaration,
])
- LinkedNode get namedCompilationUnitMember_name;
+ int get nameOffset;
@VariantId(6, variant: LinkedNodeKind.namedExpression)
LinkedNode get namedExpression_expression;
@@ -1932,6 +1854,13 @@
@VariantId(7, variant: LinkedNodeKind.namedExpression)
LinkedNode get namedExpression_name;
+ @VariantId(36, variantList: [
+ LinkedNodeKind.hideCombinator,
+ LinkedNodeKind.showCombinator,
+ LinkedNodeKind.symbolLiteral,
+ ])
+ List<String> get names;
+
@VariantId(2, variantList: [
LinkedNodeKind.exportDirective,
LinkedNodeKind.importDirective,
@@ -1972,20 +1901,6 @@
])
LinkedNode get normalFormalParameter_comment;
- @VariantId(19, variantList: [
- LinkedNodeKind.fieldFormalParameter,
- LinkedNodeKind.functionTypedFormalParameter,
- LinkedNodeKind.simpleFormalParameter,
- ])
- int get normalFormalParameter_covariantKeyword;
-
- @VariantId(12, variantList: [
- LinkedNodeKind.fieldFormalParameter,
- LinkedNodeKind.functionTypedFormalParameter,
- LinkedNodeKind.simpleFormalParameter,
- ])
- LinkedNode get normalFormalParameter_identifier;
-
@VariantId(4, variantList: [
LinkedNodeKind.fieldFormalParameter,
LinkedNodeKind.functionTypedFormalParameter,
@@ -2057,8 +1972,8 @@
@VariantId(6, variant: LinkedNodeKind.prefixExpression)
LinkedNode get prefixExpression_operand;
- @VariantId(16, variant: LinkedNodeKind.prefixExpression)
- int get prefixExpression_operator;
+ @VariantId(28, variant: LinkedNodeKind.prefixExpression)
+ UnlinkedTokenType get prefixExpression_operator;
@VariantId(15, variant: LinkedNodeKind.propertyAccess)
int get propertyAccess_operator;
@@ -2117,12 +2032,6 @@
@VariantId(16, variant: LinkedNodeKind.setOrMapLiteral)
int get setOrMapLiteral_rightBracket;
- @VariantId(2, variant: LinkedNodeKind.showCombinator)
- List<LinkedNode> get showCombinator_shownNames;
-
- @VariantId(15, variant: LinkedNodeKind.simpleFormalParameter)
- int get simpleFormalParameter_keyword;
-
@VariantId(6, variant: LinkedNodeKind.simpleFormalParameter)
LinkedNode get simpleFormalParameter_type;
@@ -2135,12 +2044,6 @@
@VariantId(27, variant: LinkedNodeKind.simpleIdentifier)
bool get simpleIdentifier_isDeclaration;
- @VariantId(16, variant: LinkedNodeKind.simpleIdentifier)
- int get simpleIdentifier_token;
-
- @VariantId(15, variant: LinkedNodeKind.simpleStringLiteral)
- int get simpleStringLiteral_token;
-
@VariantId(20, variant: LinkedNodeKind.simpleStringLiteral)
String get simpleStringLiteral_value;
@@ -2156,8 +2059,8 @@
@VariantId(6, variant: LinkedNodeKind.spreadElement)
LinkedNode get spreadElement_expression;
- @VariantId(15, variant: LinkedNodeKind.spreadElement)
- int get spreadElement_spreadOperator;
+ @VariantId(40, variant: LinkedNodeKind.spreadElement)
+ UnlinkedTokenType get spreadElement_spreadOperator2;
@VariantId(2, variant: LinkedNodeKind.stringInterpolation)
List<LinkedNode> get stringInterpolation_elements;
@@ -2231,9 +2134,6 @@
@VariantId(17, variant: LinkedNodeKind.switchStatement)
int get switchStatement_switchKeyword;
- @VariantId(28, variant: LinkedNodeKind.symbolLiteral)
- List<int> get symbolLiteral_components;
-
@VariantId(15, variant: LinkedNodeKind.symbolLiteral)
int get symbolLiteral_poundSign;
@@ -2302,12 +2202,6 @@
@VariantId(16, variant: LinkedNodeKind.typeArgumentList)
int get typeArgumentList_rightBracket;
- @VariantId(19, variantList: [
- LinkedNodeKind.listLiteral,
- LinkedNodeKind.setOrMapLiteral,
- ])
- int get typedLiteral_constKeyword;
-
@VariantId(14, variantList: [
LinkedNodeKind.listLiteral,
LinkedNodeKind.setOrMapLiteral,
@@ -2335,9 +2229,6 @@
@VariantId(15, variant: LinkedNodeKind.typeParameter)
int get typeParameter_extendsKeyword;
- @VariantId(7, variant: LinkedNodeKind.typeParameter)
- LinkedNode get typeParameter_name;
-
@VariantId(15, variant: LinkedNodeKind.typeParameterList)
int get typeParameterList_leftBracket;
@@ -2377,15 +2268,6 @@
@VariantId(6, variant: LinkedNodeKind.variableDeclaration)
LinkedNode get variableDeclaration_initializer;
- @VariantId(7, variant: LinkedNodeKind.variableDeclaration)
- LinkedNode get variableDeclaration_name;
-
- @VariantId(15, variant: LinkedNodeKind.variableDeclarationList)
- int get variableDeclarationList_keyword;
-
- @VariantId(16, variant: LinkedNodeKind.variableDeclarationList)
- int get variableDeclarationList_lateKeyword;
-
@VariantId(6, variant: LinkedNodeKind.variableDeclarationList)
LinkedNode get variableDeclarationList_type;
diff --git a/pkg/analyzer/lib/src/summary2/ast_binary_flags.dart b/pkg/analyzer/lib/src/summary2/ast_binary_flags.dart
new file mode 100644
index 0000000..13d4f3f
--- /dev/null
+++ b/pkg/analyzer/lib/src/summary2/ast_binary_flags.dart
@@ -0,0 +1,138 @@
+// Copyright (c) 2019, 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.
+
+class AstBinaryFlags {
+ static const _hasInitializer = 1 << 0;
+ static const _isAbstract = 1 << 1;
+ static const _isConst = 1 << 2;
+ static const _isCovariant = 1 << 3;
+ static const _isDeferred = 1 << 4;
+ static const _isExternal = 1 << 5;
+ static const _isFactory = 1 << 6;
+ static const _isFinal = 1 << 7;
+ static const _isGet = 1 << 8;
+ static const _isLate = 1 << 9;
+ static const _isNew = 1 << 10;
+ static const _isSet = 1 << 11;
+ static const _isStatic = 1 << 12;
+ static const _isVar = 1 << 13;
+
+ static int encode({
+ bool hasInitializer: false,
+ bool isAbstract: false,
+ bool isConst: false,
+ bool isCovariant: false,
+ bool isDeferred: false,
+ bool isExternal: false,
+ bool isFactory: false,
+ bool isFinal: false,
+ bool isGet: false,
+ bool isLate: false,
+ bool isNew: false,
+ bool isSet: false,
+ bool isStatic: false,
+ bool isVar: false,
+ }) {
+ var result = 0;
+ if (hasInitializer) {
+ result |= _hasInitializer;
+ }
+ if (isAbstract) {
+ result |= _isAbstract;
+ }
+ if (isCovariant) {
+ result |= _isCovariant;
+ }
+ if (isDeferred) {
+ result |= _isDeferred;
+ }
+ if (isConst) {
+ result |= _isConst;
+ }
+ if (isExternal) {
+ result |= _isExternal;
+ }
+ if (isFactory) {
+ result |= _isFactory;
+ }
+ if (isFinal) {
+ result |= _isFinal;
+ }
+ if (isGet) {
+ result |= _isGet;
+ }
+ if (isLate) {
+ result |= _isLate;
+ }
+ if (isNew) {
+ result |= _isNew;
+ }
+ if (isSet) {
+ result |= _isSet;
+ }
+ if (isStatic) {
+ result |= _isStatic;
+ }
+ if (isVar) {
+ result |= _isVar;
+ }
+ return result;
+ }
+
+ static bool hasInitializer(int flags) {
+ return (flags & _hasInitializer) != 0;
+ }
+
+ static bool isAbstract(int flags) {
+ return (flags & _isAbstract) != 0;
+ }
+
+ static bool isConst(int flags) {
+ return (flags & _isConst) != 0;
+ }
+
+ static bool isCovariant(int flags) {
+ return (flags & _isCovariant) != 0;
+ }
+
+ static bool isDeferred(int flags) {
+ return (flags & _isDeferred) != 0;
+ }
+
+ static bool isExternal(int flags) {
+ return (flags & _isExternal) != 0;
+ }
+
+ static bool isFactory(int flags) {
+ return (flags & _isFactory) != 0;
+ }
+
+ static bool isFinal(int flags) {
+ return (flags & _isFinal) != 0;
+ }
+
+ static bool isGet(int flags) {
+ return (flags & _isGet) != 0;
+ }
+
+ static bool isLate(int flags) {
+ return (flags & _isLate) != 0;
+ }
+
+ static bool isNew(int flags) {
+ return (flags & _isNew) != 0;
+ }
+
+ static bool isSet(int flags) {
+ return (flags & _isSet) != 0;
+ }
+
+ static bool isStatic(int flags) {
+ return (flags & _isStatic) != 0;
+ }
+
+ static bool isVar(int flags) {
+ return (flags & _isVar) != 0;
+ }
+}
diff --git a/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart b/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart
index 4927499..a88687c 100644
--- a/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart
+++ b/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart
@@ -9,10 +9,22 @@
import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/src/dart/ast/ast.dart';
import 'package:analyzer/src/dart/element/member.dart';
+import 'package:analyzer/src/generated/testing/ast_test_factory.dart';
+import 'package:analyzer/src/generated/testing/token_factory.dart';
import 'package:analyzer/src/generated/utilities_dart.dart';
import 'package:analyzer/src/summary/idl.dart';
+import 'package:analyzer/src/summary2/ast_binary_flags.dart';
import 'package:analyzer/src/summary2/lazy_ast.dart';
import 'package:analyzer/src/summary2/linked_unit_context.dart';
+import 'package:analyzer/src/summary2/tokens_context.dart';
+
+var timerAstBinaryReader = Stopwatch();
+var timerAstBinaryReaderClass = Stopwatch();
+var timerAstBinaryReaderDirective = Stopwatch();
+var timerAstBinaryReaderFunctionBody = Stopwatch();
+var timerAstBinaryReaderFunctionDeclaration = Stopwatch();
+var timerAstBinaryReaderMixin = Stopwatch();
+var timerAstBinaryReaderTopLevelVar = Stopwatch();
/// Deserializer of fully resolved ASTs from flat buffers.
class AstBinaryReader {
@@ -23,21 +35,34 @@
AstBinaryReader(this._unitContext);
+ InterfaceType get _boolType => _unitContext.typeProvider.boolType;
+
+ InterfaceType get _doubleType => _unitContext.typeProvider.doubleType;
+
+ InterfaceType get _intType => _unitContext.typeProvider.intType;
+
+ InterfaceType get _stringType => _unitContext.typeProvider.stringType;
+
AstNode readNode(LinkedNode data) {
- var node = _readNode(data);
- if (node == null) return null;
-
- if (!isLazy) {
- _unitContext.tokensContext.linkTokens(node.beginToken, node.endToken);
+ timerAstBinaryReader.start();
+ try {
+ return _readNode(data);
+ } finally {
+ timerAstBinaryReader.stop();
}
-
- return node;
}
DartType readType(LinkedNodeType data) {
return _readType(data);
}
+ SimpleIdentifier _declaredIdentifier(LinkedNode data) {
+ return astFactory.simpleIdentifier(
+ TokenFactory.tokenFromString(data.name)..offset = data.nameOffset,
+ isDeclaration: true,
+ );
+ }
+
Element _elementOfComponents(
int rawElementIndex,
LinkedNodeType definingTypeNode,
@@ -63,22 +88,14 @@
}
Token _getToken(int index) {
- return _unitContext.tokensContext.tokenOfIndex(index);
- }
-
- List<Token> _getTokens(List<int> indexList) {
- var result = List<Token>(indexList.length);
- for (var i = 0; i < indexList.length; ++i) {
- var index = indexList[i];
- result[i] = _getToken(index);
- }
- return result;
+ // TODO(scheglov) Remove as much as possible uses.
+ return TokenFactory.tokenFromTypeAndString(TokenType.IDENTIFIER, '');
}
AdjacentStrings _read_adjacentStrings(LinkedNode data) {
return astFactory.adjacentStrings(
_readNodeList(data.adjacentStrings_strings),
- )..staticType = _readType(data.expression_type);
+ )..staticType = _stringType;
}
Annotation _read_annotation(LinkedNode data) {
@@ -156,7 +173,11 @@
BinaryExpression _read_binaryExpression(LinkedNode data) {
return astFactory.binaryExpression(
_readNode(data.binaryExpression_leftOperand),
- _getToken(data.binaryExpression_operator),
+ TokenFactory.tokenFromType(
+ TokensContext.binaryToAstTokenType(
+ data.binaryExpression_operator,
+ ),
+ ),
_readNode(data.binaryExpression_rightOperand),
)
..staticElement = _elementOfComponents(
@@ -175,18 +196,21 @@
}
BlockFunctionBody _read_blockFunctionBody(LinkedNode data) {
- return astFactory.blockFunctionBody(
- _getToken(data.blockFunctionBody_keyword),
- _getToken(data.blockFunctionBody_star),
- _readNode(data.blockFunctionBody_block),
- );
+ timerAstBinaryReaderFunctionBody.start();
+ try {
+ return astFactory.blockFunctionBody(
+ _getToken(data.blockFunctionBody_keyword),
+ _getToken(data.blockFunctionBody_star),
+ _readNode(data.blockFunctionBody_block),
+ );
+ } finally {
+ timerAstBinaryReaderFunctionBody.stop();
+ }
}
BooleanLiteral _read_booleanLiteral(LinkedNode data) {
- return astFactory.booleanLiteral(
- _getToken(data.booleanLiteral_literal),
- data.booleanLiteral_value,
- )..staticType = _readType(data.expression_type);
+ return AstTestFactory.booleanLiteral(data.booleanLiteral_value)
+ ..staticType = _boolType;
}
BreakStatement _read_breakStatement(LinkedNode data) {
@@ -219,45 +243,61 @@
}
ClassDeclaration _read_classDeclaration(LinkedNode data) {
- var node = astFactory.classDeclaration(
- _readNodeLazy(data.annotatedNode_comment),
- _readNodeListLazy(data.annotatedNode_metadata),
- _getToken(data.classDeclaration_abstractKeyword),
- _getToken(data.classDeclaration_classKeyword),
- _readNode(data.namedCompilationUnitMember_name),
- _readNode(data.classOrMixinDeclaration_typeParameters),
- _readNodeLazy(data.classDeclaration_extendsClause),
- _readNodeLazy(data.classDeclaration_withClause),
- _readNodeLazy(data.classOrMixinDeclaration_implementsClause),
- _getToken(data.classOrMixinDeclaration_leftBracket),
- _readNodeListLazy(data.classOrMixinDeclaration_members),
- _getToken(data.classOrMixinDeclaration_rightBracket),
- );
- node.nativeClause = _readNodeLazy(data.classDeclaration_nativeClause);
- LazyClassDeclaration.setData(node, data);
- return node;
+ timerAstBinaryReaderClass.start();
+ try {
+ var node = astFactory.classDeclaration(
+ _readNodeLazy(data.annotatedNode_comment),
+ _readNodeListLazy(data.annotatedNode_metadata),
+ AstBinaryFlags.isAbstract(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.ABSTRACT)
+ : null,
+ TokenFactory.tokenFromKeyword(Keyword.CLASS),
+ _declaredIdentifier(data),
+ _readNode(data.classOrMixinDeclaration_typeParameters),
+ _readNodeLazy(data.classDeclaration_extendsClause),
+ _readNodeLazy(data.classDeclaration_withClause),
+ _readNodeLazy(data.classOrMixinDeclaration_implementsClause),
+ _getToken(data.classOrMixinDeclaration_leftBracket),
+ _readNodeListLazy(data.classOrMixinDeclaration_members),
+ _getToken(data.classOrMixinDeclaration_rightBracket),
+ );
+ node.nativeClause = _readNodeLazy(data.classDeclaration_nativeClause);
+ LazyClassDeclaration.setData(node, data);
+ return node;
+ } finally {
+ timerAstBinaryReaderClass.stop();
+ }
}
ClassTypeAlias _read_classTypeAlias(LinkedNode data) {
- var node = astFactory.classTypeAlias(
- _readNodeLazy(data.annotatedNode_comment),
- _readNodeListLazy(data.annotatedNode_metadata),
- _getToken(data.typeAlias_typedefKeyword),
- _readNode(data.namedCompilationUnitMember_name),
- _readNode(data.classTypeAlias_typeParameters),
- _getToken(data.classTypeAlias_equals),
- _getToken(data.classTypeAlias_abstractKeyword),
- _readNodeLazy(data.classTypeAlias_superclass),
- _readNodeLazy(data.classTypeAlias_withClause),
- _readNodeLazy(data.classTypeAlias_implementsClause),
- _getToken(data.typeAlias_semicolon),
- );
- LazyClassTypeAlias.setData(node, data);
- return node;
+ timerAstBinaryReaderClass.start();
+ try {
+ var node = astFactory.classTypeAlias(
+ _readNodeLazy(data.annotatedNode_comment),
+ _readNodeListLazy(data.annotatedNode_metadata),
+ _getToken(data.typeAlias_typedefKeyword),
+ _declaredIdentifier(data),
+ _readNode(data.classTypeAlias_typeParameters),
+ TokenFactory.tokenFromType(TokenType.EQ),
+ AstBinaryFlags.isAbstract(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.ABSTRACT)
+ : null,
+ _readNodeLazy(data.classTypeAlias_superclass),
+ _readNodeLazy(data.classTypeAlias_withClause),
+ _readNodeLazy(data.classTypeAlias_implementsClause),
+ _getToken(data.typeAlias_semicolon),
+ );
+ LazyClassTypeAlias.setData(node, data);
+ return node;
+ } finally {
+ timerAstBinaryReaderClass.stop();
+ }
}
Comment _read_comment(LinkedNode data) {
- var tokens = _getTokens(data.comment_tokens);
+ var tokens = data.comment_tokens
+ .map((lexeme) => TokenFactory.tokenFromString(lexeme))
+ .toList();
switch (data.comment_type) {
case LinkedNodeCommentType.block:
return astFactory.endOfLineComment(
@@ -320,12 +360,18 @@
var node = astFactory.constructorDeclaration(
_readNodeLazy(data.annotatedNode_comment),
_readNodeListLazy(data.annotatedNode_metadata),
- _getToken(data.constructorDeclaration_externalKeyword),
- _getToken(data.constructorDeclaration_constKeyword),
- _getToken(data.constructorDeclaration_factoryKeyword),
+ AstBinaryFlags.isExternal(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.EXTERNAL)
+ : null,
+ AstBinaryFlags.isConst(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.CONST)
+ : null,
+ AstBinaryFlags.isFactory(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.FACTORY)
+ : null,
_readNode(data.constructorDeclaration_returnType),
_getToken(data.constructorDeclaration_period),
- _readNode(data.constructorDeclaration_name),
+ _declaredIdentifier(data),
_readNodeLazy(data.constructorDeclaration_parameters),
_getToken(data.constructorDeclaration_separator),
_readNodeListLazy(data.constructorDeclaration_initializers),
@@ -406,10 +452,8 @@
}
DoubleLiteral _read_doubleLiteral(LinkedNode data) {
- return astFactory.doubleLiteral(
- _getToken(data.doubleLiteral_literal),
- data.doubleLiteral_value,
- )..staticType = _readType(data.expression_type);
+ return AstTestFactory.doubleLiteral(data.doubleLiteral_value)
+ ..staticType = _doubleType;
}
EmptyFunctionBody _read_emptyFunctionBody(LinkedNode data) {
@@ -428,7 +472,7 @@
var node = astFactory.enumConstantDeclaration(
_readNodeLazy(data.annotatedNode_comment),
_readNodeListLazy(data.annotatedNode_metadata),
- _readNode(data.enumConstantDeclaration_name),
+ _declaredIdentifier(data),
);
LazyEnumConstantDeclaration.setData(node, data);
return node;
@@ -438,37 +482,47 @@
var node = astFactory.enumDeclaration(
_readNodeLazy(data.annotatedNode_comment),
_readNodeListLazy(data.annotatedNode_metadata),
- _getToken(data.enumDeclaration_enumKeyword),
- _readNode(data.namedCompilationUnitMember_name),
- _getToken(data.enumDeclaration_leftBracket),
+ TokenFactory.tokenFromKeyword(Keyword.ENUM),
+ _declaredIdentifier(data),
+ TokenFactory.tokenFromType(TokenType.OPEN_CURLY_BRACKET),
_readNodeListLazy(data.enumDeclaration_constants),
- _getToken(data.enumDeclaration_rightBracket),
+ TokenFactory.tokenFromType(TokenType.CLOSE_CURLY_BRACKET),
);
LazyEnumDeclaration.setData(node, data);
return node;
}
ExportDirective _read_exportDirective(LinkedNode data) {
- var node = astFactory.exportDirective(
- _readNode(data.annotatedNode_comment),
- _readNodeListLazy(data.annotatedNode_metadata),
- _getToken(data.directive_keyword),
- _readNode(data.uriBasedDirective_uri),
- _readNodeList(data.namespaceDirective_configurations),
- _readNodeList(data.namespaceDirective_combinators),
- _getToken(data.directive_semicolon),
- );
- LazyDirective.setData(node, data);
- return node;
+ timerAstBinaryReaderDirective.start();
+ try {
+ var node = astFactory.exportDirective(
+ _readNode(data.annotatedNode_comment),
+ _readNodeListLazy(data.annotatedNode_metadata),
+ _getToken(data.directive_keyword),
+ _readNode(data.uriBasedDirective_uri),
+ _readNodeList(data.namespaceDirective_configurations),
+ _readNodeList(data.namespaceDirective_combinators),
+ _getToken(data.directive_semicolon),
+ );
+ LazyDirective.setData(node, data);
+ return node;
+ } finally {
+ timerAstBinaryReaderDirective.stop();
+ }
}
ExpressionFunctionBody _read_expressionFunctionBody(LinkedNode data) {
- return astFactory.expressionFunctionBody(
- _getToken(data.expressionFunctionBody_keyword),
- _getToken(data.expressionFunctionBody_arrow),
- _readNode(data.expressionFunctionBody_expression),
- _getToken(data.expressionFunctionBody_semicolon),
- );
+ timerAstBinaryReaderFunctionBody.start();
+ try {
+ return astFactory.expressionFunctionBody(
+ _getToken(data.expressionFunctionBody_keyword),
+ _getToken(data.expressionFunctionBody_arrow),
+ _readNode(data.expressionFunctionBody_expression),
+ _getToken(data.expressionFunctionBody_semicolon),
+ );
+ } finally {
+ timerAstBinaryReaderFunctionBody.stop();
+ }
}
ExpressionStatement _read_expressionStatement(LinkedNode data) {
@@ -488,11 +542,15 @@
FieldDeclaration _read_fieldDeclaration(LinkedNode data) {
var node = astFactory.fieldDeclaration2(
comment: _readNodeLazy(data.annotatedNode_comment),
- covariantKeyword: _getToken(data.fieldDeclaration_covariantKeyword),
+ covariantKeyword: AstBinaryFlags.isCovariant(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.COVARIANT)
+ : null,
fieldList: _readNode(data.fieldDeclaration_fields),
metadata: _readNodeListLazy(data.annotatedNode_metadata),
semicolon: _getToken(data.fieldDeclaration_semicolon),
- staticKeyword: _getToken(data.fieldDeclaration_staticKeyword),
+ staticKeyword: AstBinaryFlags.isStatic(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.STATIC)
+ : null,
);
LazyFieldDeclaration.setData(node, data);
return node;
@@ -500,12 +558,20 @@
FieldFormalParameter _read_fieldFormalParameter(LinkedNode data) {
var node = astFactory.fieldFormalParameter2(
- identifier: _readNode(data.normalFormalParameter_identifier),
- period: _getToken(data.fieldFormalParameter_period),
+ identifier: _declaredIdentifier(data),
+ period: TokenFactory.tokenFromType(TokenType.PERIOD),
thisKeyword: _getToken(data.fieldFormalParameter_thisKeyword),
- covariantKeyword: _getToken(data.normalFormalParameter_covariantKeyword),
+ covariantKeyword: AstBinaryFlags.isCovariant(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.COVARIANT)
+ : null,
typeParameters: _readNode(data.fieldFormalParameter_typeParameters),
- keyword: _getToken(data.fieldFormalParameter_keyword),
+ keyword: AstBinaryFlags.isConst(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.CONST)
+ : AstBinaryFlags.isFinal(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.FINAL)
+ : AstBinaryFlags.isVar(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.VAR)
+ : null,
metadata: _readNodeList(data.normalFormalParameter_metadata),
comment: _readNode(data.normalFormalParameter_comment),
type: _readNode(data.fieldFormalParameter_type),
@@ -586,17 +652,28 @@
}
FunctionDeclaration _read_functionDeclaration(LinkedNode data) {
- var node = astFactory.functionDeclaration(
- _readNodeLazy(data.annotatedNode_comment),
- _readNodeListLazy(data.annotatedNode_metadata),
- _getToken(data.functionDeclaration_externalKeyword),
- _readNodeLazy(data.functionDeclaration_returnType),
- _getToken(data.functionDeclaration_propertyKeyword),
- _readNode(data.namedCompilationUnitMember_name),
- _readNodeLazy(data.functionDeclaration_functionExpression),
- );
- LazyFunctionDeclaration.setData(node, data);
- return node;
+ timerAstBinaryReaderFunctionDeclaration.start();
+ try {
+ var node = astFactory.functionDeclaration(
+ _readNodeLazy(data.annotatedNode_comment),
+ _readNodeListLazy(data.annotatedNode_metadata),
+ AstBinaryFlags.isExternal(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.EXTERNAL)
+ : null,
+ _readNodeLazy(data.functionDeclaration_returnType),
+ AstBinaryFlags.isGet(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.GET)
+ : AstBinaryFlags.isSet(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.SET)
+ : null,
+ _declaredIdentifier(data),
+ _readNodeLazy(data.functionDeclaration_functionExpression),
+ );
+ LazyFunctionDeclaration.setData(node, data);
+ return node;
+ } finally {
+ timerAstBinaryReaderFunctionDeclaration.stop();
+ }
}
FunctionDeclarationStatement _read_functionDeclarationStatement(
@@ -631,7 +708,7 @@
_readNodeListLazy(data.annotatedNode_metadata),
_getToken(data.typeAlias_typedefKeyword),
_readNodeLazy(data.functionTypeAlias_returnType),
- _readNode(data.namedCompilationUnitMember_name),
+ _declaredIdentifier(data),
_readNode(data.functionTypeAlias_typeParameters),
_readNodeLazy(data.functionTypeAlias_formalParameters),
_getToken(data.typeAlias_semicolon),
@@ -648,8 +725,10 @@
LinkedNode data) {
var node = astFactory.functionTypedFormalParameter2(
comment: _readNodeLazy(data.normalFormalParameter_comment),
- covariantKeyword: _getToken(data.normalFormalParameter_covariantKeyword),
- identifier: _readNode(data.normalFormalParameter_identifier),
+ covariantKeyword: AstBinaryFlags.isCovariant(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.COVARIANT)
+ : null,
+ identifier: _declaredIdentifier(data),
metadata: _readNodeListLazy(data.normalFormalParameter_metadata),
parameters: _readNodeLazy(
data.functionTypedFormalParameter_formalParameters,
@@ -683,9 +762,9 @@
_readNodeLazy(data.annotatedNode_comment),
_readNodeListLazy(data.annotatedNode_metadata),
_getToken(data.typeAlias_typedefKeyword),
- _readNode(data.namedCompilationUnitMember_name),
+ _declaredIdentifier(data),
_readNode(data.genericTypeAlias_typeParameters),
- _getToken(data.genericTypeAlias_equals),
+ TokenFactory.tokenFromType(TokenType.EQ),
_readNodeLazy(data.genericTypeAlias_functionType),
_getToken(data.typeAlias_semicolon),
);
@@ -700,7 +779,7 @@
HideCombinator _read_hideCombinator(LinkedNode data) {
return astFactory.hideCombinator(
_getToken(data.combinator_keyword),
- _readNodeList(data.hideCombinator_hiddenNames),
+ data.names.map((name) => AstTestFactory.identifier3(name)).toList(),
);
}
@@ -736,20 +815,35 @@
}
ImportDirective _read_importDirective(LinkedNode data) {
- var node = astFactory.importDirective(
- _readNode(data.annotatedNode_comment),
- _readNodeListLazy(data.annotatedNode_metadata),
- _getToken(data.directive_keyword),
- _readNode(data.uriBasedDirective_uri),
- _readNodeList(data.namespaceDirective_configurations),
- _getToken(data.importDirective_deferredKeyword),
- _getToken(data.importDirective_asKeyword),
- _readNode(data.importDirective_prefix),
- _readNodeList(data.namespaceDirective_combinators),
- _getToken(data.directive_semicolon),
- );
- LazyDirective.setData(node, data);
- return node;
+ timerAstBinaryReaderDirective.start();
+ try {
+ SimpleIdentifier prefix;
+ if (data.importDirective_prefix.isNotEmpty) {
+ prefix = astFactory.simpleIdentifier(
+ TokenFactory.tokenFromString(data.importDirective_prefix)
+ ..offset = data.importDirective_prefixOffset,
+ );
+ }
+
+ var node = astFactory.importDirective(
+ _readNode(data.annotatedNode_comment),
+ _readNodeListLazy(data.annotatedNode_metadata),
+ _getToken(data.directive_keyword),
+ _readNode(data.uriBasedDirective_uri),
+ _readNodeList(data.namespaceDirective_configurations),
+ AstBinaryFlags.isDeferred(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.DEFERRED)
+ : null,
+ TokenFactory.tokenFromKeyword(Keyword.AS),
+ prefix,
+ _readNodeList(data.namespaceDirective_combinators),
+ _getToken(data.directive_semicolon),
+ );
+ LazyDirective.setData(node, data);
+ return node;
+ } finally {
+ timerAstBinaryReaderDirective.stop();
+ }
}
IndexExpression _read_indexExpression(LinkedNode data) {
@@ -769,7 +863,11 @@
InstanceCreationExpression _read_instanceCreationExpression(LinkedNode data) {
var node = astFactory.instanceCreationExpression(
- _getToken(data.instanceCreationExpression_keyword),
+ AstBinaryFlags.isConst(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.CONST)
+ : AstBinaryFlags.isNew(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.NEW)
+ : null,
_readNode(data.instanceCreationExpression_constructorName),
_readNode(data.instanceCreationExpression_arguments),
typeArguments: _readNode(data.instanceCreationExpression_typeArguments),
@@ -780,10 +878,8 @@
}
IntegerLiteral _read_integerLiteral(LinkedNode data) {
- return astFactory.integerLiteral(
- _getToken(data.integerLiteral_literal),
- data.integerLiteral_value,
- )..staticType = _readType(data.expression_type);
+ return AstTestFactory.integer(data.integerLiteral_value)
+ ..staticType = _intType;
}
InterpolationExpression _read_interpolationExpression(LinkedNode data) {
@@ -807,7 +903,7 @@
_getToken(data.isExpression_isOperator),
_getToken(data.isExpression_notOperator),
_readNode(data.isExpression_type),
- )..staticType = _readType(data.expression_type);
+ )..staticType = _boolType;
}
Label _read_label(LinkedNode data) {
@@ -825,15 +921,20 @@
}
LibraryDirective _read_libraryDirective(LinkedNode data) {
- var node = astFactory.libraryDirective(
- _readNode(data.annotatedNode_comment),
- _readNodeListLazy(data.annotatedNode_metadata),
- _getToken(data.directive_keyword),
- _readNode(data.libraryDirective_name),
- _getToken(data.directive_semicolon),
- );
- LazyDirective.setData(node, data);
- return node;
+ timerAstBinaryReaderDirective.start();
+ try {
+ var node = astFactory.libraryDirective(
+ _readNode(data.annotatedNode_comment),
+ _readNodeListLazy(data.annotatedNode_metadata),
+ _getToken(data.directive_keyword),
+ _readNode(data.libraryDirective_name),
+ _getToken(data.directive_semicolon),
+ );
+ LazyDirective.setData(node, data);
+ return node;
+ } finally {
+ timerAstBinaryReaderDirective.stop();
+ }
}
LibraryIdentifier _read_libraryIdentifier(LinkedNode data) {
@@ -844,7 +945,9 @@
ListLiteral _read_listLiteral(LinkedNode data) {
return astFactory.listLiteral(
- _getToken(data.typedLiteral_constKeyword),
+ AstBinaryFlags.isConst(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.CONST)
+ : null,
_readNode(data.typedLiteral_typeArguments),
_getToken(data.listLiteral_leftBracket),
_readNodeList(data.listLiteral_elements),
@@ -864,15 +967,25 @@
var node = astFactory.methodDeclaration(
_readNodeLazy(data.annotatedNode_comment),
_readNodeListLazy(data.annotatedNode_metadata),
- _getToken(data.methodDeclaration_externalKeyword),
- _getToken(data.methodDeclaration_modifierKeyword),
+ AstBinaryFlags.isExternal(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.EXTERNAL)
+ : null,
+ AstBinaryFlags.isStatic(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.STATIC)
+ : null,
_readNodeLazy(data.methodDeclaration_returnType),
- _getToken(data.methodDeclaration_propertyKeyword),
+ AstBinaryFlags.isGet(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.GET)
+ : AstBinaryFlags.isSet(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.SET)
+ : null,
_getToken(data.methodDeclaration_operatorKeyword),
- _readNode(data.methodDeclaration_name),
+ _declaredIdentifier(data),
_readNode(data.methodDeclaration_typeParameters),
_readNodeLazy(data.methodDeclaration_formalParameters),
- _readNodeLazy(data.methodDeclaration_body),
+ AstBinaryFlags.isAbstract(data.flags)
+ ? AstTestFactory.emptyFunctionBody()
+ : AstTestFactory.blockFunctionBody(AstTestFactory.block()),
);
LazyMethodDeclaration.setData(node, data);
return node;
@@ -889,27 +1002,33 @@
}
MixinDeclaration _read_mixinDeclaration(LinkedNode data) {
- var node = astFactory.mixinDeclaration(
- _readNodeLazy(data.annotatedNode_comment),
- _readNodeListLazy(data.annotatedNode_metadata),
- _getToken(data.mixinDeclaration_mixinKeyword),
- _readNode(data.namedCompilationUnitMember_name),
- _readNode(data.classOrMixinDeclaration_typeParameters),
- _readNodeLazy(data.mixinDeclaration_onClause),
- _readNodeLazy(data.classOrMixinDeclaration_implementsClause),
- _getToken(data.classOrMixinDeclaration_leftBracket),
- _readNodeListLazy(data.classOrMixinDeclaration_members),
- _getToken(data.classOrMixinDeclaration_rightBracket),
- );
- LazyMixinDeclaration(node, data);
- return node;
+ timerAstBinaryReaderMixin.start();
+ try {
+ var node = astFactory.mixinDeclaration(
+ _readNodeLazy(data.annotatedNode_comment),
+ _readNodeListLazy(data.annotatedNode_metadata),
+ _getToken(data.mixinDeclaration_mixinKeyword),
+ _declaredIdentifier(data),
+ _readNode(data.classOrMixinDeclaration_typeParameters),
+ _readNodeLazy(data.mixinDeclaration_onClause),
+ _readNodeLazy(data.classOrMixinDeclaration_implementsClause),
+ _getToken(data.classOrMixinDeclaration_leftBracket),
+ _readNodeListLazy(data.classOrMixinDeclaration_members),
+ _getToken(data.classOrMixinDeclaration_rightBracket),
+ );
+ LazyMixinDeclaration(node, data);
+ return node;
+ } finally {
+ timerAstBinaryReaderMixin.stop();
+ }
}
NamedExpression _read_namedExpression(LinkedNode data) {
+ Expression expression = _readNode(data.namedExpression_expression);
return astFactory.namedExpression(
_readNode(data.namedExpression_name),
- _readNode(data.namedExpression_expression),
- )..staticType = _readType(data.expression_type);
+ expression,
+ )..staticType = expression.staticType;
}
NativeClause _read_nativeClause(LinkedNode data) {
@@ -949,29 +1068,39 @@
}
PartDirective _read_partDirective(LinkedNode data) {
- var node = astFactory.partDirective(
- _readNode(data.annotatedNode_comment),
- _readNodeListLazy(data.annotatedNode_metadata),
- _getToken(data.directive_keyword),
- _readNode(data.uriBasedDirective_uri),
- _getToken(data.directive_semicolon),
- );
- LazyDirective.setData(node, data);
- return node;
+ timerAstBinaryReaderDirective.start();
+ try {
+ var node = astFactory.partDirective(
+ _readNode(data.annotatedNode_comment),
+ _readNodeListLazy(data.annotatedNode_metadata),
+ _getToken(data.directive_keyword),
+ _readNode(data.uriBasedDirective_uri),
+ _getToken(data.directive_semicolon),
+ );
+ LazyDirective.setData(node, data);
+ return node;
+ } finally {
+ timerAstBinaryReaderDirective.stop();
+ }
}
PartOfDirective _read_partOfDirective(LinkedNode data) {
- var node = astFactory.partOfDirective(
- _readNode(data.annotatedNode_comment),
- _readNodeListLazy(data.annotatedNode_metadata),
- _getToken(data.directive_keyword),
- _getToken(data.partOfDirective_ofKeyword),
- _readNode(data.partOfDirective_uri),
- _readNode(data.partOfDirective_libraryName),
- _getToken(data.directive_semicolon),
- );
- LazyDirective.setData(node, data);
- return node;
+ timerAstBinaryReaderDirective.start();
+ try {
+ var node = astFactory.partOfDirective(
+ _readNode(data.annotatedNode_comment),
+ _readNodeListLazy(data.annotatedNode_metadata),
+ _getToken(data.directive_keyword),
+ _getToken(data.partOfDirective_ofKeyword),
+ _readNode(data.partOfDirective_uri),
+ _readNode(data.partOfDirective_libraryName),
+ _getToken(data.directive_semicolon),
+ );
+ LazyDirective.setData(node, data);
+ return node;
+ } finally {
+ timerAstBinaryReaderDirective.stop();
+ }
}
PostfixExpression _read_postfixExpression(LinkedNode data) {
@@ -996,7 +1125,11 @@
PrefixExpression _read_prefixExpression(LinkedNode data) {
return astFactory.prefixExpression(
- _getToken(data.prefixExpression_operator),
+ TokenFactory.tokenFromType(
+ TokensContext.binaryToAstTokenType(
+ data.prefixExpression_operator,
+ ),
+ ),
_readNode(data.prefixExpression_operand),
)
..staticElement = _elementOfComponents(
@@ -1049,7 +1182,9 @@
SetOrMapLiteral _read_setOrMapLiteral(LinkedNode data) {
SetOrMapLiteralImpl node = astFactory.setOrMapLiteral(
- constKeyword: _getToken(data.typedLiteral_constKeyword),
+ constKeyword: AstBinaryFlags.isConst(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.CONST)
+ : null,
elements: _readNodeList(data.setOrMapLiteral_elements),
leftBracket: _getToken(data.setOrMapLiteral_leftBracket),
typeArguments: _readNode(data.typedLiteral_typeArguments),
@@ -1066,18 +1201,26 @@
ShowCombinator _read_showCombinator(LinkedNode data) {
return astFactory.showCombinator(
_getToken(data.combinator_keyword),
- _readNodeList(data.showCombinator_shownNames),
+ data.names.map((name) => AstTestFactory.identifier3(name)).toList(),
);
}
SimpleFormalParameter _read_simpleFormalParameter(LinkedNode data) {
SimpleFormalParameterImpl node = astFactory.simpleFormalParameter2(
- identifier: _readNode(data.normalFormalParameter_identifier),
+ identifier: _declaredIdentifier(data),
type: _readNode(data.simpleFormalParameter_type),
- covariantKeyword: _getToken(data.normalFormalParameter_covariantKeyword),
+ covariantKeyword: AstBinaryFlags.isCovariant(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.COVARIANT)
+ : null,
comment: _readNode(data.normalFormalParameter_comment),
metadata: _readNodeList(data.normalFormalParameter_metadata),
- keyword: _getToken(data.simpleFormalParameter_keyword),
+ keyword: AstBinaryFlags.isConst(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.CONST)
+ : AstBinaryFlags.isFinal(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.FINAL)
+ : AstBinaryFlags.isVar(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.VAR)
+ : null,
requiredKeyword: _getToken(data.normalFormalParameter_requiredKeyword),
);
LazyFormalParameter.setData(node, data);
@@ -1087,7 +1230,7 @@
SimpleIdentifier _read_simpleIdentifier(LinkedNode data) {
return astFactory.simpleIdentifier(
- _getToken(data.simpleIdentifier_token),
+ TokenFactory.tokenFromString(data.name),
isDeclaration: data.simpleIdentifier_isDeclaration,
)
..staticElement = _elementOfComponents(
@@ -1098,15 +1241,19 @@
}
SimpleStringLiteral _read_simpleStringLiteral(LinkedNode data) {
- return astFactory.simpleStringLiteral(
- _getToken(data.simpleStringLiteral_token),
- data.simpleStringLiteral_value,
- )..staticType = _readType(data.expression_type);
+ // TODO(scheglov) restore staticType
+ return AstTestFactory.string2(data.simpleStringLiteral_value)
+// ..staticType = _stringType
+ ;
}
SpreadElement _read_spreadElement(LinkedNode data) {
return astFactory.spreadElement(
- spreadOperator: _getToken(data.spreadElement_spreadOperator),
+ spreadOperator: TokenFactory.tokenFromType(
+ TokensContext.binaryToAstTokenType(
+ data.spreadElement_spreadOperator2,
+ ),
+ ),
expression: _readNode(data.spreadElement_expression),
);
}
@@ -1114,7 +1261,7 @@
StringInterpolation _read_stringInterpolation(LinkedNode data) {
return astFactory.stringInterpolation(
_readNodeList(data.stringInterpolation_elements),
- )..staticType = _readType(data.expression_type);
+ )..staticType = _stringType;
}
SuperConstructorInvocation _read_superConstructorInvocation(LinkedNode data) {
@@ -1169,7 +1316,7 @@
SymbolLiteral _read_symbolLiteral(LinkedNode data) {
return astFactory.symbolLiteral(
_getToken(data.symbolLiteral_poundSign),
- _getTokens(data.symbolLiteral_components),
+ data.names.map((lexeme) => TokenFactory.tokenFromString(lexeme)).toList(),
)..staticType = _readType(data.expression_type);
}
@@ -1188,14 +1335,19 @@
TopLevelVariableDeclaration _read_topLevelVariableDeclaration(
LinkedNode data) {
- var node = astFactory.topLevelVariableDeclaration(
- _readNodeLazy(data.annotatedNode_comment),
- _readNodeListLazy(data.annotatedNode_metadata),
- _readNode(data.topLevelVariableDeclaration_variableList),
- _getToken(data.topLevelVariableDeclaration_semicolon),
- );
- LazyTopLevelVariableDeclaration.setData(node, data);
- return node;
+ timerAstBinaryReaderTopLevelVar.start();
+ try {
+ var node = astFactory.topLevelVariableDeclaration(
+ _readNodeLazy(data.annotatedNode_comment),
+ _readNodeListLazy(data.annotatedNode_metadata),
+ _readNode(data.topLevelVariableDeclaration_variableList),
+ _getToken(data.topLevelVariableDeclaration_semicolon),
+ );
+ LazyTopLevelVariableDeclaration.setData(node, data);
+ return node;
+ } finally {
+ timerAstBinaryReaderTopLevelVar.stop();
+ }
}
TryStatement _read_tryStatement(LinkedNode data) {
@@ -1228,7 +1380,7 @@
var node = astFactory.typeParameter(
_readNodeLazy(data.annotatedNode_comment),
_readNodeListLazy(data.annotatedNode_metadata),
- _readNode(data.typeParameter_name),
+ _declaredIdentifier(data),
_getToken(data.typeParameter_extendsKeyword),
_readNodeLazy(data.typeParameter_bound),
);
@@ -1246,7 +1398,7 @@
VariableDeclaration _read_variableDeclaration(LinkedNode data) {
var node = astFactory.variableDeclaration(
- _readNode(data.variableDeclaration_name),
+ _declaredIdentifier(data),
_getToken(data.variableDeclaration_equals),
_readNodeLazy(data.variableDeclaration_initializer),
);
@@ -1258,8 +1410,16 @@
VariableDeclarationList _read_variableDeclarationList(LinkedNode data) {
var node = astFactory.variableDeclarationList2(
comment: _readNodeLazy(data.annotatedNode_comment),
- keyword: _getToken(data.variableDeclarationList_keyword),
- lateKeyword: _getToken(data.variableDeclarationList_lateKeyword),
+ keyword: AstBinaryFlags.isConst(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.CONST)
+ : AstBinaryFlags.isFinal(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.FINAL)
+ : AstBinaryFlags.isVar(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.VAR)
+ : null,
+ lateKeyword: AstBinaryFlags.isLate(data.flags)
+ ? TokenFactory.tokenFromKeyword(Keyword.LATE)
+ : null,
metadata: _readNodeListLazy(data.annotatedNode_metadata),
type: _readNodeLazy(data.variableDeclarationList_type),
variables: _readNodeList(data.variableDeclarationList_variables),
diff --git a/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart b/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart
index b1f46b5..eb63f6d 100644
--- a/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart
+++ b/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart
@@ -11,14 +11,22 @@
import 'package:analyzer/src/dart/element/member.dart';
import 'package:analyzer/src/summary/format.dart';
import 'package:analyzer/src/summary/idl.dart';
+import 'package:analyzer/src/summary2/ast_binary_flags.dart';
import 'package:analyzer/src/summary2/lazy_ast.dart';
import 'package:analyzer/src/summary2/linking_bundle_context.dart';
import 'package:analyzer/src/summary2/tokens_writer.dart';
+var timerAstBinaryWriter = Stopwatch();
+var timerAstBinaryWriterClass = Stopwatch();
+var timerAstBinaryWriterDirective = Stopwatch();
+var timerAstBinaryWriterFunctionBody = Stopwatch();
+var timerAstBinaryWriterMixin = Stopwatch();
+var timerAstBinaryWriterTopVar = Stopwatch();
+var timerAstBinaryWriterTypedef = Stopwatch();
+
/// Serializer of fully resolved ASTs into flat buffers.
class AstBinaryWriter extends ThrowingAstVisitor<LinkedNodeBuilder> {
final LinkingBundleContext _linkingContext;
- final _tokensWriter = TokensWriter();
/// This field is set temporary while visiting [FieldDeclaration] or
/// [TopLevelVariableDeclaration] to store data shared among all variables
@@ -27,8 +35,6 @@
AstBinaryWriter(this._linkingContext);
- UnlinkedTokensBuilder get tokensBuilder => _tokensWriter.tokensBuilder;
-
@override
LinkedNodeBuilder visitAdjacentStrings(AdjacentStrings node) {
return LinkedNodeBuilder.adjacentStrings(
@@ -124,7 +130,9 @@
binaryExpression_element: elementComponents.rawElement,
binaryExpression_elementType: elementComponents.definingType,
binaryExpression_leftOperand: node.leftOperand.accept(this),
- binaryExpression_operator: _getToken(node.operator),
+ binaryExpression_operator: TokensWriter.astToBinaryTokenType(
+ node.operator.type,
+ ),
binaryExpression_rightOperand: node.rightOperand.accept(this),
expression_type: _writeType(node.staticType),
);
@@ -141,17 +149,21 @@
@override
LinkedNodeBuilder visitBlockFunctionBody(BlockFunctionBody node) {
- return LinkedNodeBuilder.blockFunctionBody(
- blockFunctionBody_block: node.block.accept(this),
- blockFunctionBody_keyword: _getToken(node.keyword),
- blockFunctionBody_star: _getToken(node.star),
- );
+ timerAstBinaryWriterFunctionBody.start();
+ try {
+ return LinkedNodeBuilder.blockFunctionBody(
+ blockFunctionBody_block: node.block.accept(this),
+ blockFunctionBody_keyword: _getToken(node.keyword),
+ blockFunctionBody_star: _getToken(node.star),
+ );
+ } finally {
+ timerAstBinaryWriterFunctionBody.stop();
+ }
}
@override
LinkedNodeBuilder visitBooleanLiteral(BooleanLiteral node) {
return LinkedNodeBuilder.booleanLiteral(
- booleanLiteral_literal: _getToken(node.literal),
booleanLiteral_value: node.value,
);
}
@@ -194,30 +206,42 @@
@override
LinkedNodeBuilder visitClassDeclaration(ClassDeclaration node) {
- var builder = LinkedNodeBuilder.classDeclaration(
- classDeclaration_abstractKeyword: _getToken(node.abstractKeyword),
- classDeclaration_classKeyword: _getToken(node.classKeyword),
- classDeclaration_extendsClause: node.extendsClause?.accept(this),
- classDeclaration_nativeClause: node.nativeClause?.accept(this),
- classDeclaration_withClause: node.withClause?.accept(this),
- );
- _storeClassOrMixinDeclaration(builder, node);
- return builder;
+ try {
+ timerAstBinaryWriterClass.start();
+ var builder = LinkedNodeBuilder.classDeclaration(
+ classDeclaration_extendsClause: node.extendsClause?.accept(this),
+ classDeclaration_nativeClause: node.nativeClause?.accept(this),
+ classDeclaration_withClause: node.withClause?.accept(this),
+ );
+ builder.flags = AstBinaryFlags.encode(
+ isAbstract: node.abstractKeyword != null,
+ );
+ _storeClassOrMixinDeclaration(builder, node);
+ return builder;
+ } finally {
+ timerAstBinaryWriterClass.stop();
+ }
}
@override
LinkedNodeBuilder visitClassTypeAlias(ClassTypeAlias node) {
- var builder = LinkedNodeBuilder.classTypeAlias(
- classTypeAlias_abstractKeyword: _getToken(node.abstractKeyword),
- classTypeAlias_equals: _getToken(node.equals),
- classTypeAlias_implementsClause: node.implementsClause?.accept(this),
- classTypeAlias_superclass: node.superclass.accept(this),
- classTypeAlias_typeParameters: node.typeParameters?.accept(this),
- classTypeAlias_withClause: node.withClause.accept(this),
- );
- _storeTypeAlias(builder, node);
- _storeIsSimpleBounded(builder, node);
- return builder;
+ timerAstBinaryWriterClass.start();
+ try {
+ var builder = LinkedNodeBuilder.classTypeAlias(
+ classTypeAlias_implementsClause: node.implementsClause?.accept(this),
+ classTypeAlias_superclass: node.superclass.accept(this),
+ classTypeAlias_typeParameters: node.typeParameters?.accept(this),
+ classTypeAlias_withClause: node.withClause.accept(this),
+ );
+ builder.flags = AstBinaryFlags.encode(
+ isAbstract: node.abstractKeyword != null,
+ );
+ _storeTypeAlias(builder, node);
+ _storeIsSimpleBounded(builder, node);
+ return builder;
+ } finally {
+ timerAstBinaryWriterClass.stop();
+ }
}
@override
@@ -232,24 +256,26 @@
}
return LinkedNodeBuilder.comment(
- comment_tokens: _getTokens(node.tokens),
+ comment_tokens: node.tokens.map((t) => t.lexeme).toList(),
comment_type: type,
- comment_references: _writeNodeList(node.references),
+ // TODO(scheglov) restore
+// comment_references: _writeNodeList(node.references),
);
}
@override
LinkedNodeBuilder visitCommentReference(CommentReference node) {
- var identifier = node.identifier;
- _tokensWriter.writeTokens(
- node.newKeyword ?? identifier.beginToken,
- identifier.endToken,
- );
-
- return LinkedNodeBuilder.commentReference(
- commentReference_identifier: identifier.accept(this),
- commentReference_newKeyword: _getToken(node.newKeyword),
- );
+ return null;
+// var identifier = node.identifier;
+// _tokensWriter.writeTokens(
+// node.newKeyword ?? identifier.beginToken,
+// identifier.endToken,
+// );
+//
+// return LinkedNodeBuilder.commentReference(
+// commentReference_identifier: identifier.accept(this),
+// commentReference_newKeyword: _getToken(node.newKeyword),
+// );
}
@override
@@ -294,12 +320,7 @@
@override
LinkedNodeBuilder visitConstructorDeclaration(ConstructorDeclaration node) {
var builder = LinkedNodeBuilder.constructorDeclaration(
- constructorDeclaration_body: node.body?.accept(this),
- constructorDeclaration_constKeyword: _getToken(node.constKeyword),
- constructorDeclaration_externalKeyword: _getToken(node.externalKeyword),
- constructorDeclaration_factoryKeyword: _getToken(node.factoryKeyword),
constructorDeclaration_initializers: _writeNodeList(node.initializers),
- constructorDeclaration_name: node.name?.accept(this),
constructorDeclaration_parameters: node.parameters.accept(this),
constructorDeclaration_period: _getToken(node.period),
constructorDeclaration_redirectedConstructor:
@@ -307,6 +328,19 @@
constructorDeclaration_returnType: node.returnType.accept(this),
constructorDeclaration_separator: _getToken(node.separator),
);
+ builder.flags = AstBinaryFlags.encode(
+ isAbstract: node.body is EmptyFunctionBody,
+ isConst: node.constKeyword != null,
+ isExternal: node.externalKeyword != null,
+ isFactory: node.factoryKeyword != null,
+ );
+ if (node.name != null) {
+ builder
+ ..name = node.name.name
+ ..nameOffset = node.name.offset;
+ } else {
+ builder..nameOffset = node.returnType.offset;
+ }
_storeClassMember(builder, node);
_storeCodeOffsetLength(builder, node);
return builder;
@@ -368,6 +402,9 @@
defaultFormalParameter_parameter: node.parameter.accept(this),
defaultFormalParameter_separator: _getToken(node.separator),
);
+ builder.flags = AstBinaryFlags.encode(
+ hasInitializer: node.defaultValue != null,
+ );
_storeCodeOffsetLength(builder, node);
return builder;
}
@@ -395,9 +432,7 @@
@override
LinkedNodeBuilder visitDoubleLiteral(DoubleLiteral node) {
return LinkedNodeBuilder.doubleLiteral(
- doubleLiteral_literal: _getToken(node.literal),
doubleLiteral_value: node.value,
- expression_type: _writeType(node.staticType),
);
}
@@ -420,8 +455,9 @@
@override
LinkedNodeBuilder visitEnumConstantDeclaration(EnumConstantDeclaration node) {
var builder = LinkedNodeBuilder.enumConstantDeclaration(
- enumConstantDeclaration_name: node.name.accept(this),
+ nameOffset: node.name.offset,
);
+ builder..name = node.name.name;
_storeDeclaration(builder, node);
return builder;
}
@@ -430,9 +466,6 @@
LinkedNodeBuilder visitEnumDeclaration(EnumDeclaration node) {
var builder = LinkedNodeBuilder.enumDeclaration(
enumDeclaration_constants: _writeNodeList(node.constants),
- enumDeclaration_enumKeyword: _getToken(node.enumKeyword),
- enumDeclaration_leftBracket: _getToken(node.leftBracket),
- enumDeclaration_rightBracket: _getToken(node.rightBracket),
);
_storeNamedCompilationUnitMember(builder, node);
return builder;
@@ -440,19 +473,29 @@
@override
LinkedNodeBuilder visitExportDirective(ExportDirective node) {
- var builder = LinkedNodeBuilder.exportDirective();
- _storeNamespaceDirective(builder, node);
- return builder;
+ timerAstBinaryWriterDirective.start();
+ try {
+ var builder = LinkedNodeBuilder.exportDirective();
+ _storeNamespaceDirective(builder, node);
+ return builder;
+ } finally {
+ timerAstBinaryWriterDirective.stop();
+ }
}
@override
LinkedNodeBuilder visitExpressionFunctionBody(ExpressionFunctionBody node) {
- return LinkedNodeBuilder.expressionFunctionBody(
- expressionFunctionBody_arrow: _getToken(node.functionDefinition),
- expressionFunctionBody_expression: node.expression.accept(this),
- expressionFunctionBody_keyword: _getToken(node.keyword),
- expressionFunctionBody_semicolon: _getToken(node.semicolon),
- );
+ timerAstBinaryWriterFunctionBody.start();
+ try {
+ return LinkedNodeBuilder.expressionFunctionBody(
+ expressionFunctionBody_arrow: _getToken(node.functionDefinition),
+ expressionFunctionBody_expression: node.expression.accept(this),
+ expressionFunctionBody_keyword: _getToken(node.keyword),
+ expressionFunctionBody_semicolon: _getToken(node.semicolon),
+ );
+ } finally {
+ timerAstBinaryWriterFunctionBody.stop();
+ }
}
@override
@@ -479,10 +522,12 @@
);
var builder = LinkedNodeBuilder.fieldDeclaration(
- fieldDeclaration_covariantKeyword: _getToken(node.covariantKeyword),
fieldDeclaration_fields: node.fields.accept(this),
fieldDeclaration_semicolon: _getToken(node.semicolon),
- fieldDeclaration_staticKeyword: _getToken(node.staticKeyword),
+ );
+ builder.flags = AstBinaryFlags.encode(
+ isCovariant: node.covariantKeyword != null,
+ isStatic: node.staticKeyword != null,
);
_storeClassMember(builder, node);
@@ -496,13 +541,11 @@
LinkedNodeBuilder visitFieldFormalParameter(FieldFormalParameter node) {
var builder = LinkedNodeBuilder.fieldFormalParameter(
fieldFormalParameter_formalParameters: node.parameters?.accept(this),
- fieldFormalParameter_keyword: _getToken(node.keyword),
- fieldFormalParameter_period: _getToken(node.period),
fieldFormalParameter_thisKeyword: _getToken(node.thisKeyword),
fieldFormalParameter_type: node.type?.accept(this),
fieldFormalParameter_typeParameters: node.typeParameters?.accept(this),
);
- _storeNormalFormalParameter(builder, node);
+ _storeNormalFormalParameter(builder, node, node.keyword);
return builder;
}
@@ -577,12 +620,15 @@
@override
LinkedNodeBuilder visitFunctionDeclaration(FunctionDeclaration node) {
var builder = LinkedNodeBuilder.functionDeclaration(
- functionDeclaration_externalKeyword: _getToken(node.externalKeyword),
functionDeclaration_functionExpression:
node.functionExpression?.accept(this),
- functionDeclaration_propertyKeyword: _getToken(node.propertyKeyword),
functionDeclaration_returnType: node.returnType?.accept(this),
);
+ builder.flags = AstBinaryFlags.encode(
+ isExternal: node.externalKeyword != null,
+ isGet: node.isGetter,
+ isSet: node.isSetter,
+ );
_storeNamedCompilationUnitMember(builder, node);
_writeActualReturnType(builder, node);
return builder;
@@ -599,10 +645,14 @@
@override
LinkedNodeBuilder visitFunctionExpression(FunctionExpression node) {
+ var bodyToStore = node.body;
+ if (node.parent.parent is CompilationUnit) {
+ bodyToStore = null;
+ }
return LinkedNodeBuilder.functionExpression(
executable_isAsynchronous: node.body?.isAsynchronous ?? false,
executable_isGenerator: node.body?.isGenerator ?? false,
- functionExpression_body: node.body?.accept(this),
+ functionExpression_body: bodyToStore?.accept(this),
functionExpression_formalParameters: node.parameters?.accept(this),
functionExpression_typeParameters: node.typeParameters?.accept(this),
);
@@ -620,17 +670,22 @@
@override
LinkedNodeBuilder visitFunctionTypeAlias(FunctionTypeAlias node) {
- var builder = LinkedNodeBuilder.functionTypeAlias(
- functionTypeAlias_formalParameters: node.parameters.accept(this),
- functionTypeAlias_returnType: node.returnType?.accept(this),
- functionTypeAlias_typeParameters: node.typeParameters?.accept(this),
- typeAlias_hasSelfReference:
- LazyFunctionTypeAlias.getHasSelfReference(node),
- );
- _storeTypeAlias(builder, node);
- _writeActualReturnType(builder, node);
- _storeIsSimpleBounded(builder, node);
- return builder;
+ timerAstBinaryWriterTypedef.start();
+ try {
+ var builder = LinkedNodeBuilder.functionTypeAlias(
+ functionTypeAlias_formalParameters: node.parameters.accept(this),
+ functionTypeAlias_returnType: node.returnType?.accept(this),
+ functionTypeAlias_typeParameters: node.typeParameters?.accept(this),
+ typeAlias_hasSelfReference:
+ LazyFunctionTypeAlias.getHasSelfReference(node),
+ );
+ _storeTypeAlias(builder, node);
+ _writeActualReturnType(builder, node);
+ _storeIsSimpleBounded(builder, node);
+ return builder;
+ } finally {
+ timerAstBinaryWriterTypedef.stop();
+ }
}
@override
@@ -643,7 +698,7 @@
functionTypedFormalParameter_typeParameters:
node.typeParameters?.accept(this),
);
- _storeNormalFormalParameter(builder, node);
+ _storeNormalFormalParameter(builder, node, null);
return builder;
}
@@ -667,22 +722,26 @@
@override
LinkedNodeBuilder visitGenericTypeAlias(GenericTypeAlias node) {
- var builder = LinkedNodeBuilder.genericTypeAlias(
- genericTypeAlias_equals: _getToken(node.equals),
- genericTypeAlias_functionType: node.functionType?.accept(this),
- genericTypeAlias_typeParameters: node.typeParameters?.accept(this),
- typeAlias_hasSelfReference:
- LazyGenericTypeAlias.getHasSelfReference(node),
- );
- _storeTypeAlias(builder, node);
- _storeIsSimpleBounded(builder, node);
- return builder;
+ timerAstBinaryWriterTypedef.start();
+ try {
+ var builder = LinkedNodeBuilder.genericTypeAlias(
+ genericTypeAlias_functionType: node.functionType?.accept(this),
+ genericTypeAlias_typeParameters: node.typeParameters?.accept(this),
+ typeAlias_hasSelfReference:
+ LazyGenericTypeAlias.getHasSelfReference(node),
+ );
+ _storeTypeAlias(builder, node);
+ _storeIsSimpleBounded(builder, node);
+ return builder;
+ } finally {
+ timerAstBinaryWriterTypedef.stop();
+ }
}
@override
LinkedNodeBuilder visitHideCombinator(HideCombinator node) {
var builder = LinkedNodeBuilder.hideCombinator(
- hideCombinator_hiddenNames: _writeNodeList(node.hiddenNames),
+ names: node.hiddenNames.map((id) => id.name).toList(),
);
_storeCombinator(builder, node);
return builder;
@@ -723,13 +782,20 @@
@override
LinkedNodeBuilder visitImportDirective(ImportDirective node) {
- var builder = LinkedNodeBuilder.importDirective(
- importDirective_asKeyword: _getToken(node.asKeyword),
- importDirective_deferredKeyword: _getToken(node.deferredKeyword),
- importDirective_prefix: node.prefix?.accept(this),
- );
- _storeNamespaceDirective(builder, node);
- return builder;
+ timerAstBinaryWriterDirective.start();
+ try {
+ var builder = LinkedNodeBuilder.importDirective(
+ importDirective_prefix: node.prefix?.name,
+ importDirective_prefixOffset: node.prefix?.offset ?? 0,
+ );
+ builder.flags = AstBinaryFlags.encode(
+ isDeferred: node.deferredKeyword != null,
+ );
+ _storeNamespaceDirective(builder, node);
+ return builder;
+ } finally {
+ timerAstBinaryWriterDirective.stop();
+ }
}
@override
@@ -751,23 +817,25 @@
LinkedNodeBuilder visitInstanceCreationExpression(
InstanceCreationExpression node) {
InstanceCreationExpressionImpl nodeImpl = node;
- return LinkedNodeBuilder.instanceCreationExpression(
+ var builder = LinkedNodeBuilder.instanceCreationExpression(
instanceCreationExpression_arguments: node.argumentList.accept(this),
instanceCreationExpression_constructorName:
node.constructorName.accept(this),
- instanceCreationExpression_keyword: _getToken(node.keyword),
instanceCreationExpression_typeArguments:
nodeImpl.typeArguments?.accept(this),
expression_type: _writeType(node.staticType),
);
+ builder.flags = AstBinaryFlags.encode(
+ isConst: node.keyword?.type == Keyword.CONST,
+ isNew: node.keyword?.type == Keyword.NEW,
+ );
+ return builder;
}
@override
LinkedNodeBuilder visitIntegerLiteral(IntegerLiteral node) {
return LinkedNodeBuilder.integerLiteral(
- integerLiteral_literal: _getToken(node.literal),
integerLiteral_value: node.value,
- expression_type: _writeType(node.staticType),
);
}
@@ -796,7 +864,6 @@
isExpression_notOperator: _getToken(node.notOperator),
isExpression_type: node.type.accept(this),
);
- _storeExpression(builder, node);
return builder;
}
@@ -818,12 +885,17 @@
@override
LinkedNodeBuilder visitLibraryDirective(LibraryDirective node) {
- var builder = LinkedNodeBuilder.libraryDirective(
- libraryDirective_name: node.name.accept(this),
- directive_semicolon: _getToken(node.semicolon),
- );
- _storeDirective(builder, node);
- return builder;
+ timerAstBinaryWriterDirective.start();
+ try {
+ var builder = LinkedNodeBuilder.libraryDirective(
+ libraryDirective_name: node.name.accept(this),
+ directive_semicolon: _getToken(node.semicolon),
+ );
+ _storeDirective(builder, node);
+ return builder;
+ } finally {
+ timerAstBinaryWriterDirective.stop();
+ }
}
@override
@@ -858,16 +930,21 @@
var builder = LinkedNodeBuilder.methodDeclaration(
executable_isAsynchronous: node.body?.isAsynchronous ?? false,
executable_isGenerator: node.body?.isGenerator ?? false,
- methodDeclaration_body: node.body?.accept(this),
- methodDeclaration_externalKeyword: _getToken(node.externalKeyword),
methodDeclaration_formalParameters: node.parameters?.accept(this),
- methodDeclaration_modifierKeyword: _getToken(node.modifierKeyword),
- methodDeclaration_name: node.name.accept(this),
methodDeclaration_operatorKeyword: _getToken(node.operatorKeyword),
- methodDeclaration_propertyKeyword: _getToken(node.propertyKeyword),
methodDeclaration_returnType: node.returnType?.accept(this),
methodDeclaration_typeParameters: node.typeParameters?.accept(this),
);
+ builder
+ ..name = node.name.name
+ ..nameOffset = node.name.offset;
+ builder.flags = AstBinaryFlags.encode(
+ isAbstract: node.body is EmptyFunctionBody,
+ isExternal: node.externalKeyword != null,
+ isGet: node.isGetter,
+ isSet: node.isSetter,
+ isStatic: node.isStatic,
+ );
_storeClassMember(builder, node);
_storeCodeOffsetLength(builder, node);
_writeActualReturnType(builder, node);
@@ -887,13 +964,18 @@
@override
LinkedNodeBuilder visitMixinDeclaration(MixinDeclaration node) {
- var builder = LinkedNodeBuilder.mixinDeclaration(
- mixinDeclaration_mixinKeyword: _getToken(node.mixinKeyword),
- mixinDeclaration_onClause: node.onClause?.accept(this),
- );
- _storeClassOrMixinDeclaration(builder, node);
- LazyMixinDeclaration.get(node).put(builder);
- return builder;
+ timerAstBinaryWriterMixin.start();
+ try {
+ var builder = LinkedNodeBuilder.mixinDeclaration(
+ mixinDeclaration_mixinKeyword: _getToken(node.mixinKeyword),
+ mixinDeclaration_onClause: node.onClause?.accept(this),
+ );
+ _storeClassOrMixinDeclaration(builder, node);
+ LazyMixinDeclaration.get(node).put(builder);
+ return builder;
+ } finally {
+ timerAstBinaryWriterMixin.stop();
+ }
}
@override
@@ -953,23 +1035,33 @@
@override
LinkedNodeBuilder visitPartDirective(PartDirective node) {
- var builder = LinkedNodeBuilder.partDirective(
- directive_semicolon: _getToken(node.semicolon),
- );
- _storeUriBasedDirective(builder, node);
- return builder;
+ timerAstBinaryWriterDirective.start();
+ try {
+ var builder = LinkedNodeBuilder.partDirective(
+ directive_semicolon: _getToken(node.semicolon),
+ );
+ _storeUriBasedDirective(builder, node);
+ return builder;
+ } finally {
+ timerAstBinaryWriterDirective.stop();
+ }
}
@override
LinkedNodeBuilder visitPartOfDirective(PartOfDirective node) {
- var builder = LinkedNodeBuilder.partOfDirective(
- partOfDirective_libraryName: node.libraryName?.accept(this),
- partOfDirective_ofKeyword: _getToken(node.ofKeyword),
- directive_semicolon: _getToken(node.semicolon),
- partOfDirective_uri: node.uri?.accept(this),
- );
- _storeDirective(builder, node);
- return builder;
+ timerAstBinaryWriterDirective.start();
+ try {
+ var builder = LinkedNodeBuilder.partOfDirective(
+ partOfDirective_libraryName: node.libraryName?.accept(this),
+ partOfDirective_ofKeyword: _getToken(node.ofKeyword),
+ directive_semicolon: _getToken(node.semicolon),
+ partOfDirective_uri: node.uri?.accept(this),
+ );
+ _storeDirective(builder, node);
+ return builder;
+ } finally {
+ timerAstBinaryWriterDirective.stop();
+ }
}
@override
@@ -1002,7 +1094,9 @@
prefixExpression_element: elementComponents.rawElement,
prefixExpression_elementType: elementComponents.definingType,
prefixExpression_operand: node.operand.accept(this),
- prefixExpression_operator: _getToken(node.operator),
+ prefixExpression_operator: TokensWriter.astToBinaryTokenType(
+ node.operator.type,
+ ),
);
}
@@ -1077,7 +1171,7 @@
@override
LinkedNodeBuilder visitShowCombinator(ShowCombinator node) {
var builder = LinkedNodeBuilder.showCombinator(
- showCombinator_shownNames: _writeNodeList(node.shownNames),
+ names: node.shownNames.map((id) => id.name).toList(),
);
_storeCombinator(builder, node);
return builder;
@@ -1086,11 +1180,10 @@
@override
LinkedNodeBuilder visitSimpleFormalParameter(SimpleFormalParameter node) {
var builder = LinkedNodeBuilder.simpleFormalParameter(
- simpleFormalParameter_keyword: _getToken(node.keyword),
simpleFormalParameter_type: node.type?.accept(this),
);
builder.topLevelTypeInferenceError = LazyAst.getTypeInferenceError(node);
- _storeNormalFormalParameter(builder, node);
+ _storeNormalFormalParameter(builder, node, node.keyword);
_storeInheritsCovariant(builder, node);
return builder;
}
@@ -1106,22 +1199,21 @@
}
var elementComponents = _componentsOfElement(element);
- return LinkedNodeBuilder.simpleIdentifier(
+ var builder = LinkedNodeBuilder.simpleIdentifier(
simpleIdentifier_element: elementComponents.rawElement,
simpleIdentifier_elementType: elementComponents.definingType,
simpleIdentifier_isDeclaration: node is DeclaredSimpleIdentifier,
- simpleIdentifier_token: _getToken(node.token),
expression_type: _writeType(node.staticType),
);
+ builder.name = node.name;
+ return builder;
}
@override
LinkedNodeBuilder visitSimpleStringLiteral(SimpleStringLiteral node) {
var builder = LinkedNodeBuilder.simpleStringLiteral(
- simpleStringLiteral_token: _getToken(node.literal),
simpleStringLiteral_value: node.value,
);
- _storeExpression(builder, node);
return builder;
}
@@ -1129,7 +1221,9 @@
LinkedNodeBuilder visitSpreadElement(SpreadElement node) {
return LinkedNodeBuilder.spreadElement(
spreadElement_expression: node.expression.accept(this),
- spreadElement_spreadOperator: _getToken(node.spreadOperator),
+ spreadElement_spreadOperator2: TokensWriter.astToBinaryTokenType(
+ node.spreadOperator.type,
+ ),
);
}
@@ -1137,7 +1231,6 @@
LinkedNodeBuilder visitStringInterpolation(StringInterpolation node) {
return LinkedNodeBuilder.stringInterpolation(
stringInterpolation_elements: _writeNodeList(node.elements),
- expression_type: _writeType(node.staticType),
);
}
@@ -1200,7 +1293,7 @@
LinkedNodeBuilder visitSymbolLiteral(SymbolLiteral node) {
var builder = LinkedNodeBuilder.symbolLiteral(
symbolLiteral_poundSign: _getToken(node.poundSign),
- symbolLiteral_components: _getTokens(node.components),
+ names: node.components.map((t) => t.lexeme).toList(),
);
_storeExpression(builder, node);
return builder;
@@ -1227,18 +1320,23 @@
@override
LinkedNodeBuilder visitTopLevelVariableDeclaration(
TopLevelVariableDeclaration node) {
- _variablesDeclaration = LinkedNodeVariablesDeclarationBuilder();
+ timerAstBinaryWriterTopVar.start();
+ try {
+ _variablesDeclaration = LinkedNodeVariablesDeclarationBuilder();
- var builder = LinkedNodeBuilder.topLevelVariableDeclaration(
- topLevelVariableDeclaration_semicolon: _getToken(node.semicolon),
- topLevelVariableDeclaration_variableList: node.variables?.accept(this),
- );
- _storeCompilationUnitMember(builder, node);
+ var builder = LinkedNodeBuilder.topLevelVariableDeclaration(
+ topLevelVariableDeclaration_semicolon: _getToken(node.semicolon),
+ topLevelVariableDeclaration_variableList: node.variables?.accept(this),
+ );
+ _storeCompilationUnitMember(builder, node);
- _variablesDeclaration.comment = builder.annotatedNode_comment;
- _variablesDeclaration = null;
+ _variablesDeclaration.comment = builder.annotatedNode_comment;
+ _variablesDeclaration = null;
- return builder;
+ return builder;
+ } finally {
+ timerAstBinaryWriterTopVar.stop();
+ }
}
@override
@@ -1277,8 +1375,10 @@
typeParameter_bound: node.bound?.accept(this),
typeParameter_defaultType: _writeType(LazyAst.getDefaultType(node)),
typeParameter_extendsKeyword: _getToken(node.extendsKeyword),
- typeParameter_name: node.name.accept(this),
);
+ builder
+ ..name = node.name.name
+ ..nameOffset = node.name.offset;
_storeDeclaration(builder, node);
_storeCodeOffsetLength(builder, node);
return builder;
@@ -1295,12 +1395,25 @@
@override
LinkedNodeBuilder visitVariableDeclaration(VariableDeclaration node) {
+ var initializer = node.initializer;
+ VariableDeclarationList declarationList = node.parent;
+ if (declarationList.parent is TopLevelVariableDeclaration) {
+ if (!declarationList.isConst) {
+ initializer = null;
+ }
+ }
+
var builder = LinkedNodeBuilder.variableDeclaration(
variableDeclaration_equals: _getToken(node.equals),
- variableDeclaration_initializer: node.initializer?.accept(this),
- variableDeclaration_name: node.name.accept(this),
+ variableDeclaration_initializer: initializer?.accept(this),
variableDeclaration_declaration: _variablesDeclaration,
);
+ builder.flags = AstBinaryFlags.encode(
+ hasInitializer: node.initializer != null,
+ );
+ builder
+ ..name = node.name.name
+ ..nameOffset = node.name.offset;
builder.topLevelTypeInferenceError = LazyAst.getTypeInferenceError(node);
_writeActualType(builder, node);
_storeInheritsCovariant(builder, node);
@@ -1315,11 +1428,15 @@
}
var builder = LinkedNodeBuilder.variableDeclarationList(
- variableDeclarationList_keyword: _getToken(node.keyword),
- variableDeclarationList_lateKeyword: _getToken(node.lateKeyword),
variableDeclarationList_type: node.type?.accept(this),
variableDeclarationList_variables: _writeNodeList(node.variables),
);
+ builder.flags = AstBinaryFlags.encode(
+ isConst: node.isConst,
+ isFinal: node.isFinal,
+ isLate: node.lateKeyword != null,
+ isVar: node.keyword?.keyword == Keyword.VAR,
+ );
_storeAnnotatedNode(builder, node);
_storeCodeOffsetLengthVariables(builder, node);
return builder;
@@ -1366,8 +1483,12 @@
}
LinkedNodeBuilder writeNode(AstNode node) {
- _tokensWriter.writeTokens(node.beginToken, node.endToken);
- return node.accept(this);
+ timerAstBinaryWriter.start();
+ try {
+ return node.accept(this);
+ } finally {
+ timerAstBinaryWriter.stop();
+ }
}
_ElementComponents _componentsOfElement(Element element) {
@@ -1386,16 +1507,8 @@
}
int _getToken(Token token) {
- return _tokensWriter.indexOfToken(token);
- }
-
- List<int> _getTokens(List<Token> tokenList) {
- var result = List<int>(tokenList.length);
- for (var i = 0; i < tokenList.length; ++i) {
- var token = tokenList[i];
- result[i] = _getToken(token);
- }
- return result;
+ // TODO(scheglov) Remove this method
+ return 0;
}
int _indexOfElement(Element element) {
@@ -1535,7 +1648,9 @@
LinkedNodeBuilder builder, NamedCompilationUnitMember node) {
_storeCompilationUnitMember(builder, node);
_storeCodeOffsetLength(builder, node);
- builder..namedCompilationUnitMember_name = node.name.accept(this);
+ builder
+ ..name = node.name.name
+ ..nameOffset = node.name.offset;
}
void _storeNamespaceDirective(
@@ -1545,17 +1660,23 @@
..namespaceDirective_combinators = _writeNodeList(node.combinators)
..namespaceDirective_configurations = _writeNodeList(node.configurations)
..namespaceDirective_selectedUri = LazyDirective.getSelectedUri(node)
- ..directive_semicolon = _getToken(node.semicolon);
+ ..directive_semicolon = _getToken(node.semicolon)
+ ..nameOffset = node.offset;
}
void _storeNormalFormalParameter(
- LinkedNodeBuilder builder, NormalFormalParameter node) {
+ LinkedNodeBuilder builder, NormalFormalParameter node, Token keyword) {
_storeFormalParameter(builder, node);
builder
..normalFormalParameter_comment = node.documentationComment?.accept(this)
- ..normalFormalParameter_covariantKeyword =
- _getToken(node.covariantKeyword)
- ..normalFormalParameter_identifier = node.identifier?.accept(this)
+ ..flags = AstBinaryFlags.encode(
+ isConst: keyword?.type == Keyword.CONST,
+ isCovariant: node.covariantKeyword != null,
+ isFinal: keyword?.type == Keyword.FINAL,
+ isVar: keyword?.type == Keyword.VAR,
+ )
+ ..name = node.identifier?.name
+ ..nameOffset = node.identifier?.offset ?? 0
..normalFormalParameter_metadata = _writeNodeList(node.metadata)
..normalFormalParameter_requiredKeyword = _getToken(node.requiredKeyword);
}
@@ -1579,7 +1700,9 @@
void _storeTypedLiteral(LinkedNodeBuilder builder, TypedLiteral node) {
_storeExpression(builder, node);
builder
- ..typedLiteral_constKeyword = _getToken(node.constKeyword)
+ ..flags = AstBinaryFlags.encode(
+ isConst: node.constKeyword != null,
+ )
..typedLiteral_typeArguments = node.typeArguments?.accept(this);
}
diff --git a/pkg/analyzer/lib/src/summary2/lazy_ast.dart b/pkg/analyzer/lib/src/summary2/lazy_ast.dart
index 5b10d20..659b28e 100644
--- a/pkg/analyzer/lib/src/summary2/lazy_ast.dart
+++ b/pkg/analyzer/lib/src/summary2/lazy_ast.dart
@@ -7,6 +7,7 @@
import 'package:analyzer/src/dart/ast/ast.dart';
import 'package:analyzer/src/summary/format.dart';
import 'package:analyzer/src/summary/idl.dart';
+import 'package:analyzer/src/summary2/ast_binary_flags.dart';
import 'package:analyzer/src/summary2/ast_binary_reader.dart';
/// Accessor for reading AST lazily, or read data that is stored in IDL, but
@@ -516,6 +517,15 @@
return node.getProperty(_uriKey);
}
+ static int getNameOffset(Directive node) {
+ var lazy = get(node);
+ if (lazy != null) {
+ return lazy.data.nameOffset;
+ } else {
+ return node.offset;
+ }
+ }
+
static void readMetadata(AstBinaryReader reader, Directive node) {
var lazy = get(node);
if (lazy != null && !lazy._hasMetadata) {
@@ -787,7 +797,7 @@
static bool hasDefaultValue(DefaultFormalParameter node) {
var lazy = LazyFormalParameter.get(node);
if (lazy != null) {
- return lazy.data.defaultFormalParameter_defaultValue != null;
+ return AstBinaryFlags.hasInitializer(lazy.data.flags);
} else {
return node.defaultValue != null;
}
@@ -1374,8 +1384,7 @@
static bool isAbstract(MethodDeclaration node) {
var lazy = get(node);
if (lazy != null) {
- return lazy.data.methodDeclaration_body.kind ==
- LinkedNodeKind.emptyFunctionBody;
+ return AstBinaryFlags.isAbstract(lazy.data.flags);
} else {
return node.isAbstract;
}
@@ -1802,7 +1811,7 @@
static bool hasInitializer(VariableDeclaration node) {
var lazy = get(node);
if (lazy != null) {
- return lazy.data.variableDeclaration_initializer != null;
+ return AstBinaryFlags.hasInitializer(lazy.data.flags);
} else {
return node.initializer != null;
}
diff --git a/pkg/analyzer/lib/src/summary2/link.dart b/pkg/analyzer/lib/src/summary2/link.dart
index b3cd018..0d3c3ee 100644
--- a/pkg/analyzer/lib/src/summary2/link.dart
+++ b/pkg/analyzer/lib/src/summary2/link.dart
@@ -2,10 +2,9 @@
// 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/analysis/declared_variables.dart';
import 'package:analyzer/dart/analysis/features.dart';
-import 'package:analyzer/dart/analysis/session.dart';
import 'package:analyzer/dart/ast/ast.dart' show CompilationUnit;
-import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/src/dart/element/element.dart';
import 'package:analyzer/src/dart/element/inheritance_manager2.dart';
import 'package:analyzer/src/generated/constant.dart';
@@ -14,7 +13,6 @@
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/type_system.dart';
import 'package:analyzer/src/summary/format.dart';
-import 'package:analyzer/src/summary/idl.dart';
import 'package:analyzer/src/summary/summary_sdk.dart';
import 'package:analyzer/src/summary2/ast_binary_writer.dart';
import 'package:analyzer/src/summary2/builder/source_library_builder.dart';
@@ -27,23 +25,20 @@
import 'package:analyzer/src/summary2/type_alias.dart';
import 'package:analyzer/src/summary2/types_builder.dart';
+var timerLinkingLinkingBundle = Stopwatch();
+var timerLinkingRemoveBundle = Stopwatch();
+
LinkResult link(
- AnalysisOptions analysisOptions,
- SourceFactory sourceFactory,
- DeclaredVariables declaredVariables,
- List<LinkedNodeBundle> inputBundles,
+ LinkedElementFactory elementFactory,
List<LinkInputLibrary> inputLibraries,
) {
- var linker = Linker(analysisOptions, sourceFactory, declaredVariables);
- linker.link(inputBundles, inputLibraries);
+ var linker = Linker(elementFactory);
+ linker.link(inputLibraries);
return LinkResult(linker.linkingBundle);
}
class Linker {
- final DeclaredVariables declaredVariables;
-
- final Reference rootReference = Reference.root();
- LinkedElementFactory elementFactory;
+ final LinkedElementFactory elementFactory;
LinkedNodeBundleBuilder linkingBundle;
LinkedBundleContext bundleContext;
@@ -52,16 +47,9 @@
/// Libraries that are being linked.
final Map<Uri, SourceLibraryBuilder> builders = {};
- _AnalysisContextForLinking analysisContext;
- TypeProvider typeProvider;
- Dart2TypeSystem typeSystem;
- InheritanceManager2 inheritance;
+ InheritanceManager2 inheritance; // TODO(scheglov) cache it
- Linker(
- AnalysisOptions analysisOptions,
- SourceFactory sourceFactory,
- this.declaredVariables,
- ) {
+ Linker(this.elementFactory) {
var dynamicRef = rootReference.getChild('dart:core').getChild('dynamic');
dynamicRef.element = DynamicElementImpl.instance;
var neverRef = rootReference.getChild('dart:core').getChild('Never');
@@ -69,34 +57,31 @@
linkingBundleContext = LinkingBundleContext(dynamicRef);
- analysisContext = _AnalysisContextForLinking(
- analysisOptions,
- sourceFactory,
- );
-
- elementFactory = LinkedElementFactory(
- analysisContext,
- _AnalysisSessionForLinking(),
- rootReference,
- );
-
bundleContext = LinkedBundleContext.forAst(
elementFactory,
linkingBundleContext.references,
);
}
+ InternalAnalysisContext get analysisContext {
+ return elementFactory.analysisContext;
+ }
+
FeatureSet get contextFeatures {
return analysisContext.analysisOptions.contextFeatures;
}
- void link(List<LinkedNodeBundle> inputBundles,
- List<LinkInputLibrary> inputLibraries) {
- for (var input in inputBundles) {
- var inputBundleContext = LinkedBundleContext(elementFactory, input);
- elementFactory.addBundle(inputBundleContext);
- }
+ DeclaredVariables get declaredVariables {
+ return analysisContext.declaredVariables;
+ }
+ Reference get rootReference => elementFactory.rootReference;
+
+ TypeProvider get typeProvider => analysisContext.typeProvider;
+
+ Dart2TypeSystem get typeSystem => analysisContext.typeSystem;
+
+ void link(List<LinkInputLibrary> inputLibraries) {
for (var inputLibrary in inputLibraries) {
SourceLibraryBuilder.build(this, inputLibrary);
}
@@ -105,7 +90,14 @@
_buildOutlines();
+ timerLinkingLinkingBundle.start();
_createLinkingBundle();
+ timerLinkingLinkingBundle.stop();
+
+ timerLinkingRemoveBundle.start();
+ linkingBundleContext.clearIndexes();
+ elementFactory.removeBundle(bundleContext);
+ timerLinkingRemoveBundle.stop();
}
void _addSyntheticConstructors() {
@@ -209,7 +201,6 @@
isSynthetic: unitContext.isSynthetic,
uriStr: unitContext.uriStr,
lineStarts: unit.lineInfo.lineStarts,
- tokens: writer.tokensBuilder,
node: unitLinkedNode,
),
);
@@ -228,19 +219,17 @@
}
void _createTypeSystem() {
- var coreRef = rootReference.getChild('dart:core');
- var coreLib = elementFactory.elementOfReference(coreRef);
+ if (typeProvider != null) {
+ inheritance = InheritanceManager2(typeSystem);
+ return;
+ }
- var asyncRef = rootReference.getChild('dart:async');
- var asyncLib = elementFactory.elementOfReference(asyncRef);
+ var coreLib = elementFactory.libraryOfUri('dart:core');
+ var asyncLib = elementFactory.libraryOfUri('dart:async');
- typeProvider = SummaryTypeProvider()
+ analysisContext.typeProvider = SummaryTypeProvider()
..initializeCore(coreLib)
..initializeAsync(asyncLib);
- analysisContext.typeProvider = typeProvider;
-
- typeSystem = Dart2TypeSystem(typeProvider);
- analysisContext.typeSystem = typeSystem;
inheritance = InheritanceManager2(typeSystem);
}
@@ -307,32 +296,3 @@
LinkResult(this.bundle);
}
-
-class _AnalysisContextForLinking implements InternalAnalysisContext {
- @override
- final AnalysisOptions analysisOptions;
-
- @override
- final SourceFactory sourceFactory;
-
- @override
- TypeProvider typeProvider;
-
- @override
- TypeSystem typeSystem;
-
- _AnalysisContextForLinking(this.analysisOptions, this.sourceFactory);
-
- @override
- Namespace getPublicNamespace(LibraryElement library) {
- // TODO(scheglov) Not sure if this method of AnalysisContext is useful.
- var builder = new NamespaceBuilder();
- return builder.createPublicNamespaceForLibrary(library);
- }
-
- noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
-}
-
-class _AnalysisSessionForLinking implements AnalysisSession {
- noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
-}
diff --git a/pkg/analyzer/lib/src/summary2/linked_element_factory.dart b/pkg/analyzer/lib/src/summary2/linked_element_factory.dart
index 37c4ef9..fae3510 100644
--- a/pkg/analyzer/lib/src/summary2/linked_element_factory.dart
+++ b/pkg/analyzer/lib/src/summary2/linked_element_factory.dart
@@ -28,6 +28,10 @@
return _coreTypes ??= CoreTypes(this);
}
+ bool get hasDartCore {
+ return libraryMap.containsKey('dart:core');
+ }
+
void addBundle(LinkedBundleContext context) {
libraryMap.addAll(context.libraryMap);
}
@@ -78,6 +82,15 @@
var reference = rootReference.getChild(uriStr);
return elementOfReference(reference);
}
+
+ /// We have linked the bundle, and need to disconnect its libraries, so
+ /// that the client can re-add the bundle, this time read from bytes.
+ void removeBundle(LinkedBundleContext context) {
+ for (var uriStr in context.libraryMap.keys) {
+ libraryMap.remove(uriStr);
+ rootReference.removeChild(uriStr);
+ }
+ }
}
class _ElementRequest {
diff --git a/pkg/analyzer/lib/src/summary2/linked_unit_context.dart b/pkg/analyzer/lib/src/summary2/linked_unit_context.dart
index fa3f72c..ad36d2f 100644
--- a/pkg/analyzer/lib/src/summary2/linked_unit_context.dart
+++ b/pkg/analyzer/lib/src/summary2/linked_unit_context.dart
@@ -10,13 +10,13 @@
import 'package:analyzer/src/dart/ast/ast.dart';
import 'package:analyzer/src/dart/element/element.dart';
import 'package:analyzer/src/dart/element/type.dart';
+import 'package:analyzer/src/generated/resolver.dart';
import 'package:analyzer/src/generated/utilities_dart.dart';
import 'package:analyzer/src/summary/idl.dart';
import 'package:analyzer/src/summary2/ast_binary_reader.dart';
import 'package:analyzer/src/summary2/lazy_ast.dart';
import 'package:analyzer/src/summary2/linked_bundle_context.dart';
import 'package:analyzer/src/summary2/reference.dart';
-import 'package:analyzer/src/summary2/tokens_context.dart';
/// The context of a unit - the context of the bundle, and the unit tokens.
class LinkedUnitContext {
@@ -27,7 +27,6 @@
final Reference reference;
final bool isSynthetic;
final LinkedNodeUnit data;
- final TokensContext tokensContext;
AstBinaryReader _astReader;
@@ -53,8 +52,7 @@
this.reference,
this.isSynthetic,
this.data,
- {CompilationUnit unit})
- : tokensContext = data != null ? TokensContext(data.tokens) : null {
+ {CompilationUnit unit}) {
_astReader = AstBinaryReader(this);
_astReader.isLazy = unit == null;
@@ -69,8 +67,7 @@
this.uriStr,
this.reference,
this.isSynthetic,
- this.data,
- this.tokensContext);
+ this.data);
bool get hasPartOfDirective {
for (var directive in unit_withDirectives.directives) {
@@ -84,6 +81,9 @@
/// Return `true` if this unit is a part of a bundle that is being linked.
bool get isLinking => bundleContext.isLinking;
+ TypeProvider get typeProvider =>
+ bundleContext.elementFactory.analysisContext.typeProvider;
+
CompilationUnit get unit => _unit;
CompilationUnit get unit_withDeclarations {
@@ -144,7 +144,11 @@
} else if (node is ClassTypeAlias) {
return LazyClassTypeAlias.getCodeLength(_astReader, node);
} else if (node is CompilationUnit) {
- return node.length;
+ if (data != null) {
+ return data.node.codeLength;
+ } else {
+ return node.length;
+ }
} else if (node is ConstructorDeclaration) {
return LazyConstructorDeclaration.getCodeLength(_astReader, node);
} else if (node is EnumDeclaration) {
@@ -200,14 +204,6 @@
throw UnimplementedError('${node.runtimeType}');
}
- String getConstructorDeclarationName(LinkedNode node) {
- var name = node.constructorDeclaration_name;
- if (name != null) {
- return getSimpleName(name);
- }
- return '';
- }
-
List<ConstructorInitializer> getConstructorInitializers(
ConstructorDeclaration node,
) {
@@ -244,8 +240,7 @@
}
int getDirectiveOffset(AstNode node) {
- LazyDirective.readMetadata(_astReader, node);
- return node.offset;
+ return LazyDirective.getNameOffset(node);
}
Comment getDocumentationComment(AstNode node) {
@@ -324,10 +319,6 @@
}
}
- String getFormalParameterName(LinkedNode node) {
- return getSimpleName(node.normalFormalParameter_identifier);
- }
-
List<FormalParameter> getFormalParameters(AstNode node) {
if (node is ConstructorDeclaration) {
LazyConstructorDeclaration.readFormalParameters(_astReader, node);
@@ -498,10 +489,6 @@
return const <Annotation>[];
}
- String getMethodName(LinkedNode node) {
- return getSimpleName(node.methodDeclaration_name);
- }
-
Iterable<MethodDeclaration> getMethods(AstNode node) sync* {
if (node is ClassOrMixinDeclaration) {
var members = _getClassOrMixinMembers(node);
@@ -582,18 +569,6 @@
return LazyDirective.getSelectedUri(node);
}
- String getSimpleName(LinkedNode node) {
- return getTokenLexeme(node.simpleIdentifier_token);
- }
-
- List<String> getSimpleNameList(List<LinkedNode> nodeList) {
- return nodeList.map(getSimpleName).toList();
- }
-
- int getSimpleOffset(LinkedNode node) {
- return getTokenOffset(node.simpleIdentifier_token);
- }
-
String getStringContent(LinkedNode node) {
return node.simpleStringLiteral_value;
}
@@ -610,14 +585,6 @@
}
}
- String getTokenLexeme(int token) {
- return tokensContext.lexeme(token);
- }
-
- int getTokenOffset(int token) {
- return tokensContext.offset(token);
- }
-
/// Return the actual type for the [node] - explicit or inferred.
DartType getType(AstNode node) {
if (node is DefaultFormalParameter) {
@@ -683,14 +650,6 @@
}
}
- String getUnitMemberName(LinkedNode node) {
- return getSimpleName(node.namedCompilationUnitMember_name);
- }
-
- String getVariableName(LinkedNode node) {
- return getSimpleName(node.variableDeclaration_name);
- }
-
WithClause getWithClause(AstNode node) {
if (node is ClassDeclaration) {
LazyClassDeclaration.readWithClause(_astReader, node);
@@ -774,10 +733,6 @@
}
}
- bool isAsyncKeyword(int token) {
- return tokensContext.type(token) == UnlinkedTokenType.ASYNC;
- }
-
bool isConst(AstNode node) {
if (node is FormalParameter) {
return node.isConst;
@@ -789,14 +744,6 @@
throw UnimplementedError('${node.runtimeType}');
}
- bool isConstKeyword(int token) {
- return tokensContext.type(token) == UnlinkedTokenType.CONST;
- }
-
- bool isConstVariableList(LinkedNode node) {
- return isConstKeyword(node.variableDeclarationList_keyword);
- }
-
bool isExplicitlyCovariant(AstNode node) {
if (node is EnumConstantDeclaration) {
return false;
@@ -833,14 +780,6 @@
throw UnimplementedError('${node.runtimeType}');
}
- bool isFinalKeyword(int token) {
- return tokensContext.type(token) == UnlinkedTokenType.FINAL;
- }
-
- bool isFinalVariableList(LinkedNode node) {
- return isFinalKeyword(node.variableDeclarationList_keyword);
- }
-
bool isFunction(LinkedNode node) {
return node.kind == LinkedNodeKind.functionDeclaration;
}
@@ -883,10 +822,6 @@
throw UnimplementedError('${node.runtimeType}');
}
- bool isLibraryKeyword(int token) {
- return tokensContext.type(token) == UnlinkedTokenType.LIBRARY;
- }
-
bool isMethod(LinkedNode node) {
return node.kind == LinkedNodeKind.methodDeclaration;
}
@@ -917,10 +852,6 @@
throw UnimplementedError('${node.runtimeType}');
}
- bool isSyncKeyword(int token) {
- return tokensContext.type(token) == UnlinkedTokenType.SYNC;
- }
-
Expression readInitializer(AstNode node) {
if (node is DefaultFormalParameter) {
LazyFormalParameter.readDefaultValue(_astReader, node);
@@ -1032,7 +963,6 @@
reference,
isSynthetic,
data,
- TokensContext(data.tokens),
);
context._genericFunctionTypes.addAll(_genericFunctionTypes);
var astReader = AstBinaryReader(context);
diff --git a/pkg/analyzer/lib/src/summary2/linking_bundle_context.dart b/pkg/analyzer/lib/src/summary2/linking_bundle_context.dart
index fd4148c..242a9e1 100644
--- a/pkg/analyzer/lib/src/summary2/linking_bundle_context.dart
+++ b/pkg/analyzer/lib/src/summary2/linking_bundle_context.dart
@@ -38,6 +38,16 @@
LinkingBundleContext(this.dynamicReference);
+ /// We need indexes for references during linking, but once we are done,
+ /// we must clear indexes to make references ready for linking a next bundle.
+ void clearIndexes() {
+ for (var reference in references) {
+ if (reference != null) {
+ reference.index = null;
+ }
+ }
+ }
+
int idOfGenericFunctionType(GenericFunctionTypeElement element) {
return _genericFunctionTypes[element];
}
diff --git a/pkg/analyzer/lib/src/summary2/reference.dart b/pkg/analyzer/lib/src/summary2/reference.dart
index 95c0ae7..bdc98fc 100644
--- a/pkg/analyzer/lib/src/summary2/reference.dart
+++ b/pkg/analyzer/lib/src/summary2/reference.dart
@@ -98,4 +98,8 @@
}
String toString() => parent == null ? 'root' : '$parent::$name';
+
+ void removeChild(String name) {
+ _children.remove(name);
+ }
}
diff --git a/pkg/analyzer/lib/src/summary2/tokens_context.dart b/pkg/analyzer/lib/src/summary2/tokens_context.dart
index eb8f654..bae4d3bc 100644
--- a/pkg/analyzer/lib/src/summary2/tokens_context.dart
+++ b/pkg/analyzer/lib/src/summary2/tokens_context.dart
@@ -3,107 +3,11 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/dart/ast/token.dart';
-import 'package:analyzer/src/dart/ast/token.dart';
import 'package:analyzer/src/summary/idl.dart';
/// The context for reading tokens.
class TokensContext {
- final UnlinkedTokens _tokens;
- final List<Token> _indexToToken;
- final Map<Token, int> _tokenToIndex;
-
- TokensContext(this._tokens)
- : _indexToToken = List<Token>(_tokens.type.length),
- _tokenToIndex = Map.identity();
-
- String lexeme(int index) {
- return _tokens.lexeme[index];
- }
-
- void linkTokens(Token from, Token to) {
- var fromIndex = _tokenToIndex[from];
- var toIndex = _tokenToIndex[to];
- Token prevToken = null;
- for (var index = fromIndex; index <= toIndex && index != 0;) {
- var token = _indexToToken[index];
- token ??= tokenOfIndex(index);
-
- prevToken?.next = token;
-
- prevToken = token;
- index = _tokens.next[index];
- }
- }
-
- int offset(int index) {
- return _tokens.offset[index];
- }
-
- Token tokenOfIndex(int index) {
- if (index == 0) return null;
-
- var token = _indexToToken[index];
- if (token == null) {
- var kind = _tokens.kind[index];
- switch (kind) {
- case UnlinkedTokenKind.nothing:
- return null;
- case UnlinkedTokenKind.comment:
- token = CommentToken(
- _binaryToAstTokenType(_tokens.type[index]),
- _tokens.lexeme[index],
- _tokens.offset[index],
- );
- break;
- case UnlinkedTokenKind.keyword:
- token = KeywordToken(
- _binaryToAstTokenType(_tokens.type[index]),
- _tokens.offset[index],
- _getCommentToken(_tokens.precedingComment[index]),
- );
- break;
- case UnlinkedTokenKind.simple:
- token = SimpleToken(
- _binaryToAstTokenType(_tokens.type[index]),
- _tokens.offset[index],
- _getCommentToken(_tokens.precedingComment[index]),
- );
- break;
- case UnlinkedTokenKind.string:
- token = StringToken(
- _binaryToAstTokenType(_tokens.type[index]),
- _tokens.lexeme[index],
- _tokens.offset[index],
- _getCommentToken(_tokens.precedingComment[index]),
- );
- break;
- default:
- throw UnimplementedError('Token kind: $kind');
- }
- _indexToToken[index] = token;
- _tokenToIndex[token] = index;
- }
- return token;
- }
-
- UnlinkedTokenType type(int index) {
- return _tokens.type[index];
- }
-
- CommentToken _getCommentToken(int index) {
- var result = tokenOfIndex(index);
- var token = result;
- while (true) {
- index = _tokens.next[index];
- if (index == 0) return result;
-
- var nextToken = tokenOfIndex(index);
- token.next = nextToken;
- token = nextToken;
- }
- }
-
- static TokenType _binaryToAstTokenType(UnlinkedTokenType type) {
+ static TokenType binaryToAstTokenType(UnlinkedTokenType type) {
switch (type) {
case UnlinkedTokenType.ABSTRACT:
return Keyword.ABSTRACT;
diff --git a/pkg/analyzer/lib/src/summary2/tokens_writer.dart b/pkg/analyzer/lib/src/summary2/tokens_writer.dart
index 6668845..859e2ef 100644
--- a/pkg/analyzer/lib/src/summary2/tokens_writer.dart
+++ b/pkg/analyzer/lib/src/summary2/tokens_writer.dart
@@ -3,167 +3,10 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/dart/ast/token.dart';
-import 'package:analyzer/src/dart/ast/token.dart';
-import 'package:analyzer/src/summary/format.dart';
import 'package:analyzer/src/summary/idl.dart';
-import 'package:meta/meta.dart';
class TokensWriter {
- final UnlinkedTokensBuilder _tokens = UnlinkedTokensBuilder();
- final Map<Token, int> _tokenToIndex = Map.identity();
-
- TokensWriter() {
- _addToken(
- null,
- isSynthetic: true,
- kind: UnlinkedTokenKind.nothing,
- length: 0,
- lexeme: '',
- offset: 0,
- precedingComment: 0,
- type: UnlinkedTokenType.NOTHING,
- );
- }
-
- UnlinkedTokensBuilder get tokensBuilder => _tokens;
-
- int indexOfToken(Token token) {
- if (token == null) return 0;
-
- var index = _tokenToIndex[token];
- if (index == null) {
- throw StateError('Unexpected token: $token');
- }
- return index;
- }
-
- /// Write all the tokens from the [first] to the [last] inclusively.
- void writeTokens(Token first, Token last) {
- if (first is CommentToken) {
- first = (first as CommentToken).parent;
- }
-
- var endGroupToBeginIndexMap = <Token, int>{};
- var previousIndex = 0;
- for (var token = first;; token = token.next) {
- var index = _writeToken(token);
-
- if (previousIndex != 0) {
- _tokens.next[previousIndex] = index;
- }
- previousIndex = index;
-
- if (token.endGroup != null) {
- endGroupToBeginIndexMap[token.endGroup] = index;
- }
-
- var beginIndex = endGroupToBeginIndexMap[token];
- if (beginIndex != null) {
- _tokens.endGroup[beginIndex] = index;
- }
-
- if (token == last) break;
- }
- }
-
- int _addToken(
- Token token, {
- @required bool isSynthetic,
- @required UnlinkedTokenKind kind,
- @required int length,
- @required String lexeme,
- @required int offset,
- @required int precedingComment,
- @required UnlinkedTokenType type,
- }) {
- _tokens.endGroup.add(0);
- _tokens.isSynthetic.add(isSynthetic);
- _tokens.kind.add(kind);
- _tokens.length.add(length);
- _tokens.lexeme.add(lexeme);
- _tokens.next.add(0);
- _tokens.offset.add(offset);
- _tokens.precedingComment.add(precedingComment);
- _tokens.type.add(type);
-
- var index = _tokenToIndex.length;
- _tokenToIndex[token] = index;
- return index;
- }
-
- int _writeCommentToken(CommentToken token) {
- if (token == null) return 0;
-
- int firstIndex = null;
- var previousIndex = 0;
- while (token != null) {
- var index = _addToken(
- token,
- isSynthetic: false,
- kind: UnlinkedTokenKind.comment,
- length: token.length,
- lexeme: token.lexeme,
- offset: token.offset,
- precedingComment: 0,
- type: _astToBinaryTokenType(token.type),
- );
- firstIndex ??= index;
-
- if (previousIndex != 0) {
- _tokens.next[previousIndex] = index;
- }
- previousIndex = index;
-
- token = token.next;
- }
-
- return firstIndex;
- }
-
- int _writeToken(Token token) {
- assert(_tokenToIndex[token] == null);
-
- var commentIndex = _writeCommentToken(token.precedingComments);
-
- if (token is KeywordToken) {
- return _addToken(
- token,
- isSynthetic: token.isSynthetic,
- kind: UnlinkedTokenKind.keyword,
- lexeme: token.lexeme,
- offset: token.offset,
- length: token.length,
- precedingComment: commentIndex,
- type: _astToBinaryTokenType(token.type),
- );
- } else if (token is StringToken) {
- return _addToken(
- token,
- isSynthetic: token.isSynthetic,
- kind: UnlinkedTokenKind.string,
- lexeme: token.lexeme,
- offset: token.offset,
- length: token.length,
- precedingComment: commentIndex,
- type: _astToBinaryTokenType(token.type),
- );
- } else if (token is SimpleToken) {
- return _addToken(
- token,
- isSynthetic: token.isSynthetic,
- kind: UnlinkedTokenKind.simple,
- lexeme: token.lexeme,
- offset: token.offset,
- length: token.length,
- precedingComment: commentIndex,
- type: _astToBinaryTokenType(token.type),
- );
- } else {
- throw UnimplementedError('(${token.runtimeType}) $token');
- }
- }
-
- static UnlinkedTokenType _astToBinaryTokenType(TokenType type) {
+ static UnlinkedTokenType astToBinaryTokenType(TokenType type) {
if (type == Keyword.ABSTRACT) {
return UnlinkedTokenType.ABSTRACT;
} else if (type == TokenType.AMPERSAND) {
diff --git a/pkg/analyzer/lib/src/summary2/type_alias.dart b/pkg/analyzer/lib/src/summary2/type_alias.dart
index cc1830b..79e8ba8 100644
--- a/pkg/analyzer/lib/src/summary2/type_alias.dart
+++ b/pkg/analyzer/lib/src/summary2/type_alias.dart
@@ -95,7 +95,9 @@
if (node is TypeName) {
var element = node.name.staticElement;
- if (element is ElementImpl) {
+ if (element is ElementImpl &&
+ element.enclosingElement != null &&
+ element.linkedContext.isLinking) {
var typeNode = element.linkedNode;
if (typeNode == self) {
hasSelfReference = true;
@@ -122,8 +124,8 @@
_typeParameterList(typeNode.typeParameters);
}
}
- _argumentList(node.typeArguments);
}
+ _argumentList(node.typeArguments);
} else if (node is GenericFunctionType) {
_typeParameterList(node.typeParameters);
_formalParameterList(node.parameters);
diff --git a/pkg/analyzer/test/generated/compile_time_error_code.dart b/pkg/analyzer/test/generated/compile_time_error_code.dart
index 9d25dc4..9006d01 100644
--- a/pkg/analyzer/test/generated/compile_time_error_code.dart
+++ b/pkg/analyzer/test/generated/compile_time_error_code.dart
@@ -6,7 +6,6 @@
import 'package:analyzer/dart/analysis/declared_variables.dart';
import 'package:analyzer/error/error.dart';
-import 'package:analyzer/src/dart/analysis/driver.dart';
import 'package:analyzer/src/dart/analysis/experiments.dart';
import 'package:analyzer/src/error/codes.dart';
import 'package:analyzer/src/generated/parser.dart' show ParserErrorCode;
@@ -1875,23 +1874,18 @@
}
test_genericFunctionTypedParameter() async {
- // TODO(paulberry): remove when dartbug.com/28515 fixed.
- if (AnalysisDriver.useSummary2) {
- await assertNoErrorsInCode('''
-void g(T f<T>(T x)) {}
-''');
- } else {
- await assertErrorsInCode('''
+ // Once dartbug.com/28515 is fixed, this syntax should no longer generate an
+ // error.
+ await assertErrorsInCode('''
void g(T f<T>(T x)) {}
''', [
- // Due to dartbug.com/28515, some additional errors appear when using the
- // new analysis driver.
- error(StaticWarningCode.UNDEFINED_CLASS, 7, 1),
- error(CompileTimeErrorCode.GENERIC_FUNCTION_TYPED_PARAM_UNSUPPORTED, 7,
- 11),
- error(StaticWarningCode.UNDEFINED_CLASS, 14, 1),
- ]);
- }
+ // Due to dartbug.com/28515, some additional errors appear when using the
+ // new analysis driver.
+ error(StaticWarningCode.UNDEFINED_CLASS, 7, 1),
+ error(
+ CompileTimeErrorCode.GENERIC_FUNCTION_TYPED_PARAM_UNSUPPORTED, 7, 11),
+ error(StaticWarningCode.UNDEFINED_CLASS, 14, 1),
+ ]);
}
test_implementsDeferredClass() async {
diff --git a/pkg/analyzer/test/generated/declaration_resolver_test.dart b/pkg/analyzer/test/generated/declaration_resolver_test.dart
index f2ac4f2..db29c01 100644
--- a/pkg/analyzer/test/generated/declaration_resolver_test.dart
+++ b/pkg/analyzer/test/generated/declaration_resolver_test.dart
@@ -6,7 +6,6 @@
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/element/element.dart';
-import 'package:analyzer/src/dart/analysis/driver.dart';
import 'package:analyzer/src/dart/ast/ast.dart';
import 'package:analyzer/src/dart/ast/utilities.dart';
import 'package:analyzer/src/dart/element/element.dart';
@@ -21,11 +20,6 @@
import 'test_support.dart';
main() {
- // With summary2 DeclarationResolver is not used.
- if (AnalysisDriver.useSummary2) {
- return;
- }
-
defineReflectiveSuite(() {
defineReflectiveTests(DeclarationResolverMetadataTest);
defineReflectiveTests(DeclarationResolverTest);
diff --git a/pkg/analyzer/test/generated/strong_mode_test.dart b/pkg/analyzer/test/generated/strong_mode_test.dart
index 4d44cbd..3c538c8 100644
--- a/pkg/analyzer/test/generated/strong_mode_test.dart
+++ b/pkg/analyzer/test/generated/strong_mode_test.dart
@@ -2698,12 +2698,8 @@
var stmts = body.block.statements;
for (ExpressionStatement stmt in stmts) {
MethodInvocation invoke = stmt.expression;
- FunctionType fType = invoke.staticInvokeType;
- if (AnalysisDriver.useSummary2) {
- expect('$fType', '((T) → T, (T, T) → int, (T) → T) → void');
- } else {
- expect(fType.typeArguments[0].toString(), 'T');
- }
+ ParameterizedType fType = invoke.staticInvokeType;
+ expect(fType.typeArguments[0].toString(), 'T');
}
}
@@ -3906,18 +3902,76 @@
}
@reflectiveTest
-class StrongModeStaticTypeAnalyzer2Test extends StaticTypeAnalyzer2TestShared {
- void expectStaticInvokeType(String search, String type) {
- var invocation = findIdentifier(search).parent as MethodInvocation;
- expect(invocation.staticInvokeType.toString(), type);
- }
-
+class StrongModeStaticTypeAnalyzer2Test extends StaticTypeAnalyzer2TestShared
+ with StrongModeStaticTypeAnalyzer2TestCases {
void setUp() {
super.setUp();
AnalysisOptionsImpl options = new AnalysisOptionsImpl();
resetWith(options: options);
}
+ @failingTest
+ @override
+ test_genericFunction_parameter() {
+ return super.test_genericFunction_parameter();
+ }
+
+ @failingTest
+ @override
+ test_genericMethod_functionExpressionInvocation_functionTypedParameter_explicit() {
+ return super
+ .test_genericMethod_functionExpressionInvocation_functionTypedParameter_explicit();
+ }
+
+ @failingTest
+ @override
+ test_genericMethod_functionExpressionInvocation_functionTypedParameter_inferred() {
+ return super
+ .test_genericMethod_functionExpressionInvocation_functionTypedParameter_inferred();
+ }
+
+ @failingTest
+ @override
+ test_genericMethod_functionInvocation_functionTypedParameter_explicit() {
+ return super
+ .test_genericMethod_functionInvocation_functionTypedParameter_explicit();
+ }
+
+ @failingTest
+ @override
+ test_genericMethod_functionInvocation_functionTypedParameter_inferred() {
+ return super
+ .test_genericMethod_functionInvocation_functionTypedParameter_inferred();
+ }
+
+ @failingTest
+ @override
+ test_genericMethod_functionTypedParameter_tearoff() {
+ return super.test_genericMethod_functionTypedParameter_tearoff();
+ }
+
+ @override
+ @failingTest
+ test_genericMethod_nestedCaptureBounds() {
+ // https://github.com/dart-lang/sdk/issues/30236
+ return super.test_genericMethod_nestedCaptureBounds();
+ }
+
+ @override
+ @failingTest
+ test_genericMethod_tearoff_instantiated() {
+ return super.test_genericMethod_tearoff_instantiated();
+ }
+}
+
+/// Test cases for [StrongModeStaticTypeAnalyzer2Test]
+mixin StrongModeStaticTypeAnalyzer2TestCases
+ implements StaticTypeAnalyzer2TestShared {
+ void expectStaticInvokeType(String search, String type) {
+ var invocation = findIdentifier(search).parent as MethodInvocation;
+ expect(invocation.staticInvokeType.toString(), type);
+ }
+
test_dynamicObjectGetter_hashCode() async {
String code = r'''
main() {
@@ -3999,13 +4053,15 @@
}
test_genericFunction_parameter() async {
- // TODO(paulberry): remove when dartbug.com/28515 fixed.
- if (!AnalysisDriver.useSummary2) return;
-
await resolveTestUnit(r'''
void g(T f<T>(T x)) {}
-''');
- var type = expectFunctionType2('f', '<T>(T) → T');
+''', noErrors: false // TODO(paulberry): remove when dartbug.com/28515 fixed.
+ );
+ expectFunctionType('f', '<T>(T) → T',
+ elementTypeParams: '[]', typeFormals: '[T]');
+ SimpleIdentifier f = findIdentifier('f');
+ ParameterElementImpl e = f.staticElement;
+ FunctionType type = e.type;
FunctionType ft = type.instantiate([typeProvider.stringType]);
expect(ft.toString(), '(String) → String');
}
@@ -4170,33 +4226,26 @@
}
test_genericMethod_functionExpressionInvocation_functionTypedParameter_explicit() async {
- // TODO(paulberry): remove when dartbug.com/28515 fixed.
- if (!AnalysisDriver.useSummary2) return;
-
await resolveTestUnit(r'''
void test<S>(T pf<T>(T e)) {
var paramCall = (pf)<int>(3);
}
-''');
+''', noErrors: false // TODO(paulberry): remove when dartbug.com/28515 fixed.
+ );
expectIdentifierType('paramCall', "int");
}
test_genericMethod_functionExpressionInvocation_functionTypedParameter_inferred() async {
- // TODO(paulberry): remove when dartbug.com/28515 fixed.
- if (!AnalysisDriver.useSummary2) return;
-
await resolveTestUnit(r'''
void test<S>(T pf<T>(T e)) {
var paramCall = (pf)(3);
}
-''');
+''', noErrors: false // TODO(paulberry): remove when dartbug.com/28515 fixed.
+ );
expectIdentifierType('paramCall', "int");
}
test_genericMethod_functionExpressionInvocation_inferred() async {
- // TODO(paulberry): remove when dartbug.com/28515 fixed.
- if (!AnalysisDriver.useSummary2) return;
-
await resolveTestUnit(r'''
class C<E> {
T f<T>(T e) => null;
@@ -4219,7 +4268,8 @@
var localCall = (lf)(3);
var paramCall = (pf)(3);
}
-''');
+''', noErrors: false // TODO(paulberry): remove when dartbug.com/28515 fixed.
+ );
expectIdentifierType('methodCall', "int");
expectIdentifierType('staticCall', "int");
expectIdentifierType('staticFieldCall', "int");
@@ -4262,26 +4312,22 @@
}
test_genericMethod_functionInvocation_functionTypedParameter_explicit() async {
- // TODO(paulberry): remove when dartbug.com/28515 fixed.
- if (!AnalysisDriver.useSummary2) return;
-
await resolveTestUnit(r'''
void test<S>(T pf<T>(T e)) {
var paramCall = pf<int>(3);
}
-''');
+''', noErrors: false // TODO(paulberry): remove when dartbug.com/28515 fixed.
+ );
expectIdentifierType('paramCall', "int");
}
test_genericMethod_functionInvocation_functionTypedParameter_inferred() async {
- // TODO(paulberry): remove when dartbug.com/28515 fixed.
- if (!AnalysisDriver.useSummary2) return;
-
await resolveTestUnit(r'''
void test<S>(T pf<T>(T e)) {
var paramCall = pf(3);
}
-''');
+''', noErrors: false // TODO(paulberry): remove when dartbug.com/28515 fixed.
+ );
expectIdentifierType('paramCall', "int");
}
@@ -4339,14 +4385,12 @@
}
test_genericMethod_functionTypedParameter_tearoff() async {
- // TODO(paulberry): remove when dartbug.com/28515 fixed.
- if (!AnalysisDriver.useSummary2) return;
-
await resolveTestUnit(r'''
void test<S>(T pf<T>(T e)) {
var paramTearOff = pf;
}
-''');
+''', noErrors: false // TODO(paulberry): remove when dartbug.com/28515 fixed.
+ );
expectIdentifierType('paramTearOff', "<T>(T) → T");
}
@@ -4457,7 +4501,6 @@
expectIdentifierType('f;', '<S₀>(S₀) → S');
}
- @FailingTest(issue: 'https://github.com/dart-lang/sdk/issues/30236')
test_genericMethod_nestedCaptureBounds() async {
await resolveTestUnit(r'''
class C<T> {
@@ -4667,7 +4710,6 @@
expectIdentifierType('paramTearOff', "<T>(T) → T");
}
- @failingTest
test_genericMethod_tearoff_instantiated() async {
await resolveTestUnit(r'''
class C<E> {
diff --git a/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart
index 83168dd..73fc758 100644
--- a/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart
@@ -1204,11 +1204,7 @@
FunctionExpressionInvocation invocation = field.initializer;
FunctionExpression closure = invocation.function.unParenthesized;
FunctionElementImpl closureElement = closure.declaredElement;
- if (AnalysisDriver.useSummary2) {
- expect(closureElement.enclosingElement, same(field.declaredElement));
- } else {
- expect(closureElement.enclosingElement, same(fieldInitializer));
- }
+ expect(closureElement.enclosingElement, same(fieldInitializer));
}
test_closure_inTopLevelVariable() async {
@@ -1226,11 +1222,7 @@
FunctionExpressionInvocation invocation = variable.initializer;
FunctionExpression closure = invocation.function.unParenthesized;
FunctionElementImpl closureElement = closure.declaredElement;
- if (AnalysisDriver.useSummary2) {
- expect(closureElement.enclosingElement, same(variable.declaredElement));
- } else {
- expect(closureElement.enclosingElement, same(variableInitializer));
- }
+ expect(closureElement.enclosingElement, same(variableInitializer));
}
test_conditionalExpression() async {
diff --git a/pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart b/pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart
index 9677dbf..041f812 100644
--- a/pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart
+++ b/pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart
@@ -2,12 +2,13 @@
// 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/analysis/session.dart';
import 'package:analyzer/dart/ast/ast.dart';
+import 'package:analyzer/src/dart/analysis/restricted_analysis_context.dart';
+import 'package:analyzer/src/dart/analysis/session.dart';
import 'package:analyzer/src/dart/element/element.dart';
import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/resolver.dart';
import 'package:analyzer/src/generated/source.dart';
-import 'package:analyzer/src/generated/type_system.dart';
import 'package:analyzer/src/summary/idl.dart';
import 'package:analyzer/src/summary/summary_sdk.dart';
import 'package:analyzer/src/summary2/link.dart';
@@ -50,14 +51,25 @@
);
}
- var sdkLinkResult = link(
- AnalysisOptionsImpl(),
- sourceFactory,
- declaredVariables,
- [],
- inputLibraries,
+ var rootReference = Reference.root();
+ var dartCoreRef = rootReference.getChild('dart:core');
+ dartCoreRef.getChild('dynamic').element = DynamicElementImpl.instance;
+ dartCoreRef.getChild('Never').element = NeverElementImpl.instance;
+
+ var elementFactory = LinkedElementFactory(
+ RestrictedAnalysisContext(
+ SynchronousSession(
+ AnalysisOptionsImpl(),
+ declaredVariables,
+ ),
+ sourceFactory,
+ ),
+ _AnalysisSessionForLinking(),
+ rootReference,
);
+ var sdkLinkResult = link(elementFactory, inputLibraries);
+
var bytes = sdkLinkResult.bundle.toBuffer();
return _sdkBundle = LinkedNodeBundle.fromBuffer(bytes);
}
@@ -70,16 +82,14 @@
var inputLibraries = <LinkInputLibrary>[];
_addNonDartLibraries(Set(), inputLibraries, source);
- var linkResult = link(
- AnalysisOptionsImpl()..contextFeatures = featureSet,
+ var analysisContext = RestrictedAnalysisContext(
+ SynchronousSession(
+ AnalysisOptionsImpl()..contextFeatures = featureSet,
+ declaredVariables,
+ ),
sourceFactory,
- declaredVariables,
- [sdkBundle],
- inputLibraries,
);
- var analysisContext = _FakeAnalysisContext(sourceFactory);
-
var rootReference = Reference.root();
rootReference.getChild('dart:core').getChild('dynamic').element =
DynamicElementImpl.instance;
@@ -88,26 +98,33 @@
var elementFactory = LinkedElementFactory(
analysisContext,
- null,
+ _AnalysisSessionForLinking(),
rootReference,
);
elementFactory.addBundle(
LinkedBundleContext(elementFactory, sdkBundle),
);
+
+ var linkResult = link(
+ elementFactory,
+ inputLibraries,
+ );
+
elementFactory.addBundle(
LinkedBundleContext(elementFactory, linkResult.bundle),
);
- var dartCore = elementFactory.libraryOfUri('dart:core');
- var dartAsync = elementFactory.libraryOfUri('dart:async');
- var typeProvider = SummaryTypeProvider()
- ..initializeCore(dartCore)
- ..initializeAsync(dartAsync);
- analysisContext.typeProvider = typeProvider;
- analysisContext.typeSystem = Dart2TypeSystem(typeProvider);
+ if (analysisContext.typeProvider == null) {
+ var dartCore = elementFactory.libraryOfUri('dart:core');
+ var dartAsync = elementFactory.libraryOfUri('dart:async');
+ var typeProvider = SummaryTypeProvider()
+ ..initializeCore(dartCore)
+ ..initializeAsync(dartAsync);
+ analysisContext.typeProvider = typeProvider;
- dartCore.createLoadLibraryFunction(typeProvider);
- dartAsync.createLoadLibraryFunction(typeProvider);
+ dartCore.createLoadLibraryFunction(typeProvider);
+ dartAsync.createLoadLibraryFunction(typeProvider);
+ }
return elementFactory.libraryOfUri('${source.uri}');
}
@@ -199,17 +216,6 @@
}
}
-class _FakeAnalysisContext implements AnalysisContext {
- final SourceFactory sourceFactory;
- TypeProvider typeProvider;
- Dart2TypeSystem typeSystem;
-
- _FakeAnalysisContext(this.sourceFactory);
-
- @override
- AnalysisOptions get analysisOptions {
- return AnalysisOptionsImpl();
- }
-
+class _AnalysisSessionForLinking implements AnalysisSession {
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
diff --git a/pkg/analyzer/test/src/summary2/ast_binary_writer_integration_test.dart b/pkg/analyzer/test/src/summary2/ast_binary_writer_integration_test.dart
deleted file mode 100644
index 1fc7fae..0000000
--- a/pkg/analyzer/test/src/summary2/ast_binary_writer_integration_test.dart
+++ /dev/null
@@ -1,122 +0,0 @@
-// Copyright (c) 2019, 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 'dart:io';
-
-import 'package:analyzer/file_system/physical_file_system.dart';
-import 'package:analyzer/source/line_info.dart';
-import 'package:analyzer/src/summary/format.dart';
-import 'package:analyzer/src/summary/idl.dart';
-import 'package:analyzer/src/summary2/ast_binary_reader.dart';
-import 'package:analyzer/src/summary2/ast_binary_writer.dart';
-import 'package:analyzer/src/summary2/ast_text_printer.dart';
-import 'package:analyzer/src/summary2/linked_bundle_context.dart';
-import 'package:analyzer/src/summary2/linked_element_factory.dart';
-import 'package:analyzer/src/summary2/linked_unit_context.dart';
-import 'package:analyzer/src/summary2/linking_bundle_context.dart';
-import 'package:analyzer/src/summary2/reference.dart';
-import 'package:front_end/src/testing/package_root.dart' as package_root;
-import 'package:test/test.dart';
-
-import '../dart/ast/parse_base.dart';
-
-main() {
- group('AstBinaryWriter |', () {
- _buildTests();
- });
-}
-
-/// Parse the [code] into AST, serialize using [AstBinaryWriter], read using
-/// [AstBinaryReader], and dump back into code. The resulting code must be
-/// the same as the input [code].
-///
-/// Whitespaces and newlines are normalized and ignored.
-/// Files with parsing errors are silently skipped.
-void _assertCode(ParseBase base, String code) {
- code = code.trimRight();
- code = code.replaceAll('\t', ' ');
- code = code.replaceAll('\r\n', '\n');
- code = code.replaceAll('\r', '\n');
-
- LineInfo lineInfo;
- LinkedNodeUnit linkedNodeUnit;
- {
- var path = base.newFile('/home/test/lib/test.dart', content: code).path;
-
- ParseResult parseResult;
- try {
- parseResult = base.parseUnit(path);
- } catch (e) {
- return;
- }
-
- // Code with parsing errors cannot be restored.
- if (parseResult.errors.isNotEmpty) {
- return;
- }
-
- lineInfo = parseResult.lineInfo;
- var originalUnit = parseResult.unit;
-
- var rootReference = Reference.root();
- var dynamicRef = rootReference.getChild('dart:core').getChild('dynamic');
-
- var linkingBundleContext = LinkingBundleContext(dynamicRef);
- var writer = AstBinaryWriter(linkingBundleContext);
- var unitLinkedNode = writer.writeNode(originalUnit);
-
- linkedNodeUnit = LinkedNodeUnitBuilder(
- node: unitLinkedNode,
- tokens: writer.tokensBuilder,
- );
- }
-
- var rootReference = Reference.root();
- var bundleContext = LinkedBundleContext(
- LinkedElementFactory(null, null, rootReference),
- LinkedNodeBundleBuilder(
- references: LinkedNodeReferencesBuilder(name: ['']),
- ),
- );
- var unitContext = LinkedUnitContext(
- bundleContext,
- null,
- 0,
- null,
- null,
- false,
- linkedNodeUnit,
- );
-
- var reader = AstBinaryReader(unitContext);
- var deserializedUnit = reader.readNode(linkedNodeUnit.node);
-
- var buffer = StringBuffer();
- deserializedUnit.accept(
- AstTextPrinter(buffer, lineInfo),
- );
-
- expect(buffer.toString(), code);
-}
-
-void _buildTests() {
- var provider = PhysicalResourceProvider.INSTANCE;
- var pathContext = provider.pathContext;
-
- var packageRoot = pathContext.normalize(package_root.packageRoot);
- var dartFiles = Directory(packageRoot)
- .listSync(recursive: true)
- .whereType<File>()
- .where((e) => e.path.endsWith('.dart'))
- .toList();
-
- var base = ParseBase();
- for (var file in dartFiles) {
- var relPath = pathContext.relative(file.path, from: packageRoot);
- test(relPath, () {
- var code = file.readAsStringSync();
- _assertCode(base, code);
- });
- }
-}
diff --git a/pkg/analyzer/test/src/summary2/ast_binary_writer_test.dart b/pkg/analyzer/test/src/summary2/ast_binary_writer_test.dart
deleted file mode 100644
index b195dca..0000000
--- a/pkg/analyzer/test/src/summary2/ast_binary_writer_test.dart
+++ /dev/null
@@ -1,160 +0,0 @@
-// Copyright (c) 2019, 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/src/dart/analysis/experiments.dart';
-import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/summary/format.dart';
-import 'package:analyzer/src/summary2/ast_binary_reader.dart';
-import 'package:analyzer/src/summary2/ast_binary_writer.dart';
-import 'package:analyzer/src/summary2/linked_bundle_context.dart';
-import 'package:analyzer/src/summary2/linked_element_factory.dart';
-import 'package:analyzer/src/summary2/linked_unit_context.dart';
-import 'package:analyzer/src/summary2/linking_bundle_context.dart';
-import 'package:analyzer/src/summary2/reference.dart';
-import 'package:test/test.dart';
-import 'package:test_reflective_loader/test_reflective_loader.dart';
-
-import '../dart/resolution/driver_resolution.dart';
-
-main() {
- defineReflectiveSuite(() {
- defineReflectiveTests(AstBinaryWriterTest);
- });
-}
-
-/// Just a very simple test that at least something works.
-@reflectiveTest
-class AstBinaryWriterTest extends DriverResolutionTest {
- @override
- AnalysisOptionsImpl get analysisOptions => AnalysisOptionsImpl()
- ..enabledExperiments = [
- EnableString.non_nullable,
- ];
-
- test_classTypeAlias() async {
- _assertUnresolvedCode('''
-mixin M1 {}
-mixin M2 {}
-
-class I1 {}
-class I2 {}
-
-class X = Object with M1, M2 implements I1, I2;
-''');
- }
-
- test_configuration() async {
- _assertUnresolvedCode('''
-import 'dart:math'
- if (a.b.c == 'd1') 'e1'
- if (a.b.c == 'd2') 'e2';
-''');
- }
-
- test_emptyStatement() async {
- _assertUnresolvedCode('''
-main() {
- if (true);
-}
-''');
- }
-
- test_forElement() async {
- _assertUnresolvedCode('''
-main() {
- return [1, for (var i = 0; i < 10; i++) i * i, 2];
-}
-''');
- }
-
- test_ifElement() async {
- _assertUnresolvedCode('''
-main(bool b) {
- return [1, if (b) 2 else 3, 4];
-}
-''');
- }
-
- test_labeledStatement() async {
- _assertUnresolvedCode('''
-main() {
- a: b: 42;
-}
-''');
- }
-
- test_scriptTag() async {
- _assertUnresolvedCode('''
-#!/bin/dart
-
-main() {}
-''');
- }
-
- test_simple() async {
- _assertUnresolvedCode('''
-const zero = 0;
-
-@zero
-class A<T extends num> {}
-
-class B extends A<int> {}
-
-void f() { // ref
- 1 + 2.0;
- <double>[1, 2];
-}
-''');
- }
-
- test_spreadElement() async {
- _assertUnresolvedCode('''
-main() {
-var a = [1, 2, 3];
- return [...a];
-}
-''');
- }
-
- void _assertUnresolvedCode(String inputCode) {
- var path = convertPath('/test/lib/test.dart');
- newFile(path, content: inputCode);
-
- var parseResult = driver.parseFileSync(path);
- var originalUnit = parseResult.unit;
- var originalCode = originalUnit.toSource();
-
- var rootReference = Reference.root();
- var dynamicRef = rootReference.getChild('dart:core').getChild('dynamic');
-
- var linkingBundleContext = LinkingBundleContext(dynamicRef);
- var writer = AstBinaryWriter(linkingBundleContext);
- var builder = writer.writeNode(originalUnit);
-
- var bundleContext = LinkedBundleContext(
- LinkedElementFactory(null, null, rootReference),
- LinkedNodeBundleBuilder(
- references: LinkedNodeReferencesBuilder(name: ['']),
- ),
- );
- var unitContext = LinkedUnitContext(
- bundleContext,
- null,
- 0,
- null,
- null,
- false,
- LinkedNodeUnitBuilder(
- node: builder,
- tokens: writer.tokensBuilder,
- ),
- );
-
- var reader = AstBinaryReader(unitContext);
- var deserializedUnit = reader.readNode(builder);
- var deserializedCode = deserializedUnit.toSource();
-
- expect(deserializedCode, originalCode);
- }
-}
diff --git a/pkg/analyzer/test/src/summary2/test_all.dart b/pkg/analyzer/test/src/summary2/test_all.dart
index d7b4c0b..bff7e8b 100644
--- a/pkg/analyzer/test/src/summary2/test_all.dart
+++ b/pkg/analyzer/test/src/summary2/test_all.dart
@@ -4,12 +4,10 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'ast_binary_writer_test.dart' as ast_binary_writer;
import 'ast_text_printer_test.dart' as ast_text_printer;
main() {
defineReflectiveSuite(() {
- ast_binary_writer.main();
ast_text_printer.main();
}, name: 'summary2');
}