Version 2.14.0-133.0.dev
Merge commit '5051d4b99167c8188903b7c8f29e196b0d160410' into 'dev'
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9a9d3ac..9b818c8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,12 @@
daylight saving changes that are not precisely one hour.
(No change on the Web which uses the JavaScript `Date` object.)
+#### `dart:io`
+
+* BREAKING CHANGE (for pre-migrated null safe code):
+ `HttpClient`'s `.authenticate` and `.authenticateProxy` setter callbacks
+ must now accept a nullable `realm` argument.
+
#### `dart:typed_data`
* **BREAKING CHANGE** (https://github.com/dart-lang/sdk/issues/45115)
diff --git a/DEPS b/DEPS
index 4c1a614..cfd9878 100644
--- a/DEPS
+++ b/DEPS
@@ -44,7 +44,7 @@
# co19 is a cipd package. Use update.sh in tests/co19[_2] to update these
# hashes. It requires access to the dart-build-access group, which EngProd
# has.
- "co19_rev": "055b5c984613ec1b8ef76516db3ea99fee63acb9",
+ "co19_rev": "26019f5b2efb294eacddfef6ce443083979feff5",
"co19_2_rev": "1c2e425f461bfae7de6db7014fc44a58fc72b4a8",
# The internal benchmarks to use. See go/dart-benchmarks-internal
diff --git a/build/toolchain/win/tool_wrapper.py b/build/toolchain/win/tool_wrapper.py
index b094b2bf..652a879 100644
--- a/build/toolchain/win/tool_wrapper.py
+++ b/build/toolchain/win/tool_wrapper.py
@@ -225,7 +225,7 @@
env = self._GetEnv(arch)
# TODO(scottmg): This is a temporary hack to get some specific variables
# through to actions that are set after GN-time. http://crbug.com/333738.
- for k, v in os.environ.iteritems():
+ for k, v in os.environ.items():
if k not in env:
env[k] = v
args = open(rspfile).read()
diff --git a/pkg/analysis_server/lib/src/computer/computer_highlights.dart b/pkg/analysis_server/lib/src/computer/computer_highlights.dart
index 1cba6ec..e748921 100644
--- a/pkg/analysis_server/lib/src/computer/computer_highlights.dart
+++ b/pkg/analysis_server/lib/src/computer/computer_highlights.dart
@@ -10,7 +10,7 @@
import 'package:analysis_server/lsp_protocol/protocol_generated.dart'
show SemanticTokenTypes, SemanticTokenModifiers;
import 'package:analysis_server/src/lsp/constants.dart'
- show CustomSemanticTokenModifiers;
+ show CustomSemanticTokenModifiers, CustomSemanticTokenTypes;
import 'package:analysis_server/src/lsp/semantic_tokens/encoder.dart'
show SemanticTokenInfo;
import 'package:analysis_server/src/lsp/semantic_tokens/mapping.dart'
@@ -819,6 +819,31 @@
}
@override
+ void visitInterpolationExpression(InterpolationExpression node) {
+ if (computer._computeSemanticTokens) {
+ // Interpolation expressions may include uncolored code, but clients may
+ // be providing their own basic coloring for strings that would leak
+ // into those uncolored parts so we mark them up to allow the client to
+ // reset the coloring if required.
+ //
+ // Using the String token type with a modifier would work for VS Code but
+ // would cause other editors that don't know about the modifier (and also
+ // do not have their own local coloring) to color the tokens as a string,
+ // which is exactly what we'd like to avoid).
+
+ computer._addRegion_node(
+ node,
+ // The HighlightRegionType here is not used because of the
+ // computer._computeSemanticTokens check above.
+ HighlightRegionType.LITERAL_STRING,
+ semanticTokenType: CustomSemanticTokenTypes.source,
+ semanticTokenModifiers: {CustomSemanticTokenModifiers.interpolation},
+ );
+ }
+ super.visitInterpolationExpression(node);
+ }
+
+ @override
void visitInterpolationString(InterpolationString node) {
computer._addRegion_node(node, HighlightRegionType.LITERAL_STRING);
super.visitInterpolationString(node);
diff --git a/pkg/analysis_server/lib/src/lsp/constants.dart b/pkg/analysis_server/lib/src/lsp/constants.dart
index 02479bd..d13b6a8 100644
--- a/pkg/analysis_server/lib/src/lsp/constants.dart
+++ b/pkg/analysis_server/lib/src/lsp/constants.dart
@@ -91,7 +91,7 @@
abstract class CustomSemanticTokenModifiers {
/// A modifier applied to control keywords like if/for/etc. so they can be
- /// coloured differently to other keywords (void, import, etc), matching the
+ /// colored differently to other keywords (void, import, etc), matching the
/// original Dart textmate grammar.
/// https://github.com/dart-lang/dart-syntax-highlight/blob/84a8e84f79bc917ebd959a4587349c865dc945e0/grammars/dart.json#L244-L261
static const control = SemanticTokenModifiers('control');
@@ -104,26 +104,52 @@
/// - parameter
static const label = SemanticTokenModifiers('label');
- /// A modifier applied to constructors to allow colouring them differently
+ /// A modifier applied to constructors to allow coloring them differently
/// to class names that are not constructors.
static const constructor = SemanticTokenModifiers('constructor');
- /// A modifier applied to escape characters within a string to allow colouring
+ /// A modifier applied to escape characters within a string to allow coloring
/// them differently.
static const escape = SemanticTokenModifiers('escape');
- /// All custom semantic token modifiers, used to populate the LSP Legend which must
- /// include all used modifiers.
- static const values = [control, label, constructor];
+ /// A modifier applied to an interpolation expression in a string to allow
+ /// coloring it differently to the literal parts of the string.
+ ///
+ /// Many tokens within interpolation expressions will get their own semantic
+ /// tokens so this is mainly to account for the the surrounding `${}` and
+ /// tokens like parens and operators that may not get their own.
+ ///
+ /// This is useful for editors that supply their own basic coloring initially
+ /// (for faster coloring) and then layer semantic tokens over the top. Without
+ /// some marker for interpolation expressions, all otherwise-uncolored parts
+ /// of the expression would show through the simple-colorings "string" colors.
+ static const interpolation = SemanticTokenModifiers('interpolation');
+
+ /// All custom semantic token modifiers, used to populate the LSP Legend.
+ ///
+ /// The legend must include all used modifiers. Modifiers used in the
+ /// HighlightRegion mappings will be automatically included, but should still
+ /// be listed here in case they are removed from mappings in the future.
+ static const values = [control, label, constructor, escape, interpolation];
}
abstract class CustomSemanticTokenTypes {
static const annotation = SemanticTokenTypes('annotation');
static const boolean = SemanticTokenTypes('boolean');
+ /// A placeholder token type for basic source code that is not usually colored.
+ ///
+ /// This is used only where clients might otherwise provide their own coloring
+ /// (for example coloring whole strings that may include interpolated code).
+ ///
+ /// Tokens using this type should generally also provide a custom
+ /// [CustomSemanticTokenModifiers] to give the client more information about
+ /// the reason for this token and allow specific coloring if desired.
+ static const source = SemanticTokenTypes('source');
+
/// All custom semantic token types, used to populate the LSP Legend which must
/// include all used types.
- static const values = [annotation, boolean];
+ static const values = [annotation, boolean, source];
}
/// CodeActionKinds supported by the server that are not declared in the LSP spec.
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/flutter_convert_to_stateful_widget.dart b/pkg/analysis_server/lib/src/services/correction/dart/flutter_convert_to_stateful_widget.dart
index 407685f..c88cbcf 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/flutter_convert_to_stateful_widget.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/flutter_convert_to_stateful_widget.dart
@@ -57,7 +57,9 @@
}
var widgetName = widgetClassElement.displayName;
- var stateName = '_${widgetName}State';
+ var stateName = widgetClassElement.isPrivate
+ ? '${widgetName}State'
+ : '_${widgetName}State';
// Find fields assigned in constructors.
var visitor = _FieldFinder();
diff --git a/pkg/analysis_server/test/lsp/semantic_tokens_test.dart b/pkg/analysis_server/test/lsp/semantic_tokens_test.dart
index 107872f..a966f00 100644
--- a/pkg/analysis_server/test/lsp/semantic_tokens_test.dart
+++ b/pkg/analysis_server/test/lsp/semantic_tokens_test.dart
@@ -465,7 +465,7 @@
Future<void> test_keywords() async {
// "control" keywords should be tagged with a modifier so the client
- // can colour them differently to other keywords.
+ // can color them differently to other keywords.
final content = r'''
void main() async {
var a = new Object();
@@ -804,7 +804,7 @@
final content = '''
String foo(String c) => c;
const string1 = 'test';
-const string2 = 'test1 \$string1 test2 \${foo('test3')}';
+const string2 = 'test1 \$string1 test2 \${foo('a' + 'b')}';
const string3 = r'\$string1 \${string1.length}';
const string4 = \'\'\'
multi
@@ -821,25 +821,40 @@
_Token('c', SemanticTokenTypes.parameter,
[SemanticTokenModifiers.declaration]),
_Token('c', SemanticTokenTypes.parameter),
+
_Token('const', SemanticTokenTypes.keyword),
_Token('string1', SemanticTokenTypes.variable,
[SemanticTokenModifiers.declaration]),
_Token("'test'", SemanticTokenTypes.string),
+
_Token('const', SemanticTokenTypes.keyword),
_Token('string2', SemanticTokenTypes.variable,
[SemanticTokenModifiers.declaration]),
_Token(r"'test1 ", SemanticTokenTypes.string),
+ _Token(r'$', CustomSemanticTokenTypes.source,
+ [CustomSemanticTokenModifiers.interpolation]),
_Token('string1', SemanticTokenTypes.property),
_Token(' test2 ', SemanticTokenTypes.string),
+ _Token(r'${', CustomSemanticTokenTypes.source,
+ [CustomSemanticTokenModifiers.interpolation]),
_Token('foo', SemanticTokenTypes.function),
- _Token("'test3'", SemanticTokenTypes.string),
+ _Token('(', CustomSemanticTokenTypes.source,
+ [CustomSemanticTokenModifiers.interpolation]),
+ _Token("'a'", SemanticTokenTypes.string),
+ _Token(' + ', CustomSemanticTokenTypes.source,
+ [CustomSemanticTokenModifiers.interpolation]),
+ _Token("'b'", SemanticTokenTypes.string),
+ _Token(')}', CustomSemanticTokenTypes.source,
+ [CustomSemanticTokenModifiers.interpolation]),
_Token("'", SemanticTokenTypes.string),
- _Token('const', SemanticTokenTypes.keyword),
+
// string3 is raw and should be treated as a single string.
+ _Token('const', SemanticTokenTypes.keyword),
_Token('string3', SemanticTokenTypes.variable,
[SemanticTokenModifiers.declaration]),
_Token(r"r'$string1 ${string1.length}'", SemanticTokenTypes.string),
_Token('const', SemanticTokenTypes.keyword),
+
_Token('string4', SemanticTokenTypes.variable,
[SemanticTokenModifiers.declaration]),
_Token("'''\n", SemanticTokenTypes.string),
diff --git a/pkg/analysis_server/test/src/services/correction/assist/flutter_convert_to_stateful_widget_test.dart b/pkg/analysis_server/test/src/services/correction/assist/flutter_convert_to_stateful_widget_test.dart
index 85126d4..036db53 100644
--- a/pkg/analysis_server/test/src/services/correction/assist/flutter_convert_to_stateful_widget_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/assist/flutter_convert_to_stateful_widget_test.dart
@@ -310,6 +310,34 @@
''');
}
+ Future<void> test_noExtraUnderscore() async {
+ await resolveTestCode(r'''
+import 'package:flutter/material.dart';
+
+class /*caret*/_MyWidget extends StatelessWidget {
+ @override
+ Widget build(BuildContext context) {
+ return Container();
+ }
+}
+''');
+ await assertHasAssist(r'''
+import 'package:flutter/material.dart';
+
+class _MyWidget extends StatefulWidget {
+ @override
+ State<_MyWidget> createState() => _MyWidgetState();
+}
+
+class _MyWidgetState extends State<_MyWidget> {
+ @override
+ Widget build(BuildContext context) {
+ return Container();
+ }
+}
+''');
+ }
+
Future<void> test_notClass() async {
await resolveTestCode('''
import 'package:flutter/material.dart';
diff --git a/pkg/analyzer/lib/src/dart/analysis/driver.dart b/pkg/analyzer/lib/src/dart/analysis/driver.dart
index daea242..b286788 100644
--- a/pkg/analyzer/lib/src/dart/analysis/driver.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/driver.dart
@@ -80,7 +80,7 @@
/// TODO(scheglov) Clean up the list of implicitly analyzed files.
class AnalysisDriver implements AnalysisDriverGeneric {
/// The version of data format, should be incremented on every format change.
- static const int DATA_VERSION = 138;
+ static const int DATA_VERSION = 139;
/// The length of the list returned by [_computeDeclaredVariablesSignature].
static const int _declaredVariablesSignatureLength = 4;
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 2d9f7ff..5db427d 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -1865,10 +1865,6 @@
/// [nameOffset].
DefaultFieldFormalParameterElementImpl(String name, int nameOffset)
: super(name, nameOffset);
-
- DefaultFieldFormalParameterElementImpl.forLinkedNode(ElementImpl enclosing,
- Reference? reference, FormalParameterImpl linkedNode)
- : super.forLinkedNode(enclosing, reference, linkedNode);
}
/// A [ParameterElement] for parameters that have an initializer.
@@ -1879,10 +1875,6 @@
DefaultParameterElementImpl(String? name, int nameOffset)
: super(name, nameOffset);
- DefaultParameterElementImpl.forLinkedNode(ElementImpl enclosing,
- Reference? reference, FormalParameterImpl linkedNode)
- : super.forLinkedNode(enclosing, reference, linkedNode);
-
@override
String? get defaultValueCode {
var ast = constantInitializer;
@@ -3050,7 +3042,7 @@
implements ExecutableElement, ElementImplWithFunctionType {
/// A list containing all of the parameters defined by this executable
/// element.
- List<ParameterElement> _parameters = _Sentinel.parameterElement;
+ List<ParameterElement> _parameters = const [];
/// The inferred return type of this executable element.
DartType? _returnType;
@@ -3535,45 +3527,14 @@
/// [FieldElement] associated with the parameter.
class FieldFormalParameterElementImpl extends ParameterElementImpl
implements FieldFormalParameterElement {
- /// The field associated with this field formal parameter.
- FieldElement? _field;
+ @override
+ FieldElement? field;
/// Initialize a newly created parameter element to have the given [name] and
/// [nameOffset].
FieldFormalParameterElementImpl(String name, int nameOffset)
: super(name, nameOffset);
- FieldFormalParameterElementImpl.forLinkedNode(ElementImpl enclosing,
- Reference? reference, FormalParameterImpl linkedNode)
- : super.forLinkedNode(enclosing, reference, linkedNode);
-
- @override
- FieldElement? get field {
- if (_field == null) {
- String? fieldName;
- if (linkedNode != null) {
- fieldName = linkedContext!.getFieldFormalParameterName(linkedNode!);
- }
- if (fieldName != null) {
- Element enclosingConstructor = enclosingElement!;
- if (enclosingConstructor is ConstructorElement) {
- Element enclosingClass = enclosingConstructor.enclosingElement;
- if (enclosingClass is ClassElement) {
- var field = enclosingClass.getField(fieldName);
- if (field != null && !field.isSynthetic) {
- _field = field;
- }
- }
- }
- }
- }
- return _field;
- }
-
- set field(FieldElement? field) {
- _field = field;
- }
-
/// Initializing formals are visible only in the "formal parameter
/// initializer scope", which is the current scope of the initializer list
/// of the constructor, and which is enclosed in the scope where the
@@ -5070,12 +5031,12 @@
/// A list containing all of the parameters defined by this parameter element.
/// There will only be parameters if this parameter is a function typed
/// parameter.
- List<ParameterElement> _parameters = _Sentinel.parameterElement;
+ List<ParameterElement> _parameters = const [];
/// A list containing all of the type parameters defined for this parameter
/// element. There will only be parameters if this parameter is a function
/// typed parameter.
- List<TypeParameterElement> _typeParameters = _Sentinel.typeParameterElement;
+ List<TypeParameterElement> _typeParameters = const [];
/// The kind of this parameter.
ParameterKind? _parameterKind;
@@ -5092,29 +5053,6 @@
/// [nameOffset].
ParameterElementImpl(String? name, int nameOffset) : super(name, nameOffset);
- ParameterElementImpl.forLinkedNode(ElementImpl enclosing,
- Reference? reference, FormalParameterImpl linkedNode)
- : super.forLinkedNode(enclosing, reference, linkedNode) {
- assert(linkedNode.isNamed || reference == null);
- FormalParameterImpl.setDeclaredElement(linkedNode, this);
- }
-
- factory ParameterElementImpl.forLinkedNodeFactory(
- ElementImpl enclosing, Reference? reference, FormalParameterImpl node) {
- if (node is FieldFormalParameter) {
- return FieldFormalParameterElementImpl.forLinkedNode(
- enclosing,
- reference,
- node,
- );
- } else if (node is FunctionTypedFormalParameter ||
- node is SimpleFormalParameter) {
- return ParameterElementImpl.forLinkedNode(enclosing, reference, node);
- } else {
- throw UnimplementedError('${node.runtimeType}');
- }
- }
-
/// Creates a synthetic parameter with [name], [type] and [kind].
factory ParameterElementImpl.synthetic(
String? name, DartType type, ParameterKind kind) {
@@ -5130,11 +5068,6 @@
@override
String? get defaultValueCode {
- final linkedNode = this.linkedNode;
- if (linkedNode is DefaultFormalParameter) {
- return linkedNode.defaultValue?.toSource();
- }
-
return _defaultValueCode;
}
@@ -5151,14 +5084,6 @@
}
@override
- bool get hasImplicitType {
- if (linkedNode != null) {
- return linkedContext!.hasImplicitType(linkedNode!);
- }
- return super.hasImplicitType;
- }
-
- @override
bool get isCovariant {
if (isExplicitlyCovariant || inheritsCovariant) {
return true;
@@ -5168,9 +5093,6 @@
/// Return true if this parameter is explicitly marked as being covariant.
bool get isExplicitlyCovariant {
- if (linkedNode != null) {
- return linkedContext!.isExplicitlyCovariant(linkedNode!);
- }
return hasModifier(Modifier.COVARIANT);
}
@@ -5181,15 +5103,6 @@
}
@override
- bool get isFinal {
- if (linkedNode != null) {
- final linkedNode = this.linkedNode as FormalParameter;
- return linkedNode.isFinal;
- }
- return super.isFinal;
- }
-
- @override
bool get isInitializingFormal => false;
@override
@@ -5199,32 +5112,9 @@
ElementKind get kind => ElementKind.PARAMETER;
@override
- String get name {
- if (linkedNode != null) {
- return linkedContext!
- .getFormalParameterName(linkedNode as FormalParameter);
- }
- return super.name;
- }
-
- @override
- int get nameOffset {
- if (linkedNode != null) {
- return enclosingUnit.linkedContext!.getNameOffset(linkedNode!);
- }
-
- return super.nameOffset;
- }
-
- @override
ParameterKind get parameterKind {
if (_parameterKind != null) return _parameterKind!;
- if (linkedNode != null) {
- final linkedNode = this.linkedNode as FormalParameterImpl;
- return linkedNode.kind;
- }
-
// TODO(migration): Make it impossible by construction.
throw StateError('The kind must set.');
}
@@ -5235,25 +5125,6 @@
@override
List<ParameterElement> get parameters {
- if (!identical(_parameters, _Sentinel.parameterElement)) {
- return _parameters;
- }
-
- if (linkedNode != null) {
- var context = enclosingUnit.linkedContext!;
- var formalParameters = context.getFormalParameters(linkedNode!);
- if (formalParameters != null) {
- return _parameters = ParameterElementImpl.forLinkedNodeList(
- this,
- context,
- null,
- formalParameters,
- );
- } else {
- return _parameters;
- }
- }
-
return _parameters;
}
@@ -5268,24 +5139,6 @@
@override
List<TypeParameterElement> get typeParameters {
- if (!identical(_typeParameters, _Sentinel.typeParameterElement)) {
- return _typeParameters;
- }
-
- if (linkedNode != null) {
- var typeParameters = linkedContext!.getTypeParameters2(linkedNode!);
- if (typeParameters == null) {
- return _typeParameters = const [];
- }
- return _typeParameters = typeParameters.typeParameters
- .cast<TypeParameterImpl>()
- .map<TypeParameterElement>((node) {
- var element = node.declaredElement;
- element ??= TypeParameterElementImpl.forLinkedNode(this, node);
- return element;
- }).toList();
- }
-
return _typeParameters;
}
@@ -5312,52 +5165,6 @@
super.visitChildren(visitor);
safelyVisitChildren(parameters, visitor);
}
-
- /// TODO(scheglov) Do we need this method at all?
- /// We should create all parameter elements during applying resolution.
- /// Or when we build elements before linking.
- static List<ParameterElement> forLinkedNodeList(
- ElementImpl enclosing,
- LinkedUnitContext context,
- Reference? containerRef,
- List<FormalParameter>? formalParameters) {
- if (formalParameters == null) {
- return const [];
- }
-
- return formalParameters.map((node) {
- var element = node.declaredElement;
- if (element != null) {
- return element;
- }
-
- if (node is DefaultFormalParameterImpl) {
- NormalFormalParameter parameterNode = node.parameter;
- Reference? reference;
- if (node.isNamed) {
- var name = parameterNode.identifier?.name ?? '';
- reference = containerRef?.getChild(name);
- reference?.node = node;
- }
- if (parameterNode is FieldFormalParameter) {
- return DefaultFieldFormalParameterElementImpl.forLinkedNode(
- enclosing,
- reference,
- node,
- );
- } else {
- return DefaultParameterElementImpl.forLinkedNode(
- enclosing,
- reference,
- node,
- );
- }
- } else {
- return ParameterElementImpl.forLinkedNodeFactory(
- enclosing, null, node as FormalParameterImpl);
- }
- }).toList();
- }
}
/// The parameter of an implicit setter.
@@ -5709,7 +5516,7 @@
@override
List<ParameterElement> get parametersInternal {
- if (!identical(_parameters, _Sentinel.parameterElement)) {
+ if (_parameters.isNotEmpty) {
return _parameters;
}
@@ -6374,16 +6181,7 @@
/// Initialize a newly created variable element to have the given [name] and
/// [offset].
- VariableElementImpl(String? name, int offset, {Reference? reference})
- : super(name, offset, reference: reference);
-
- VariableElementImpl.forLinkedNode(
- ElementImpl enclosing, Reference? reference, AstNode linkedNode)
- : super.forLinkedNode(enclosing, reference, linkedNode);
-
- /// Initialize using the given serialized information.
- VariableElementImpl.forSerialized(ElementImpl enclosingElement)
- : super.forSerialized(enclosingElement);
+ VariableElementImpl(String? name, int offset) : super(name, offset);
/// If this element represents a constant variable, and it has an initializer,
/// a copy of the initializer for the constant. Otherwise `null`.
@@ -6535,7 +6333,6 @@
static final List<ImportElement> importElement = List.unmodifiable([]);
static final List<InterfaceType> interfaceType = List.unmodifiable([]);
static final List<MethodElement> methodElement = List.unmodifiable([]);
- static final List<ParameterElement> parameterElement = List.unmodifiable([]);
static final List<PropertyAccessorElement> propertyAccessorElement =
List.unmodifiable([]);
static final List<TypeAliasElement> typeAliasElement = List.unmodifiable([]);
diff --git a/pkg/analyzer/lib/src/error/best_practices_verifier.dart b/pkg/analyzer/lib/src/error/best_practices_verifier.dart
index 9304693..b03f8b8 100644
--- a/pkg/analyzer/lib/src/error/best_practices_verifier.dart
+++ b/pkg/analyzer/lib/src/error/best_practices_verifier.dart
@@ -1584,6 +1584,8 @@
} else if (target is FunctionTypeAlias || target is GenericTypeAlias) {
return kinds.contains(TargetKind.typedefType) ||
kinds.contains(TargetKind.type);
+ } else if (target is TopLevelVariableDeclaration) {
+ return kinds.contains(TargetKind.topLevelVariable);
}
return false;
}
diff --git a/pkg/analyzer/lib/src/summary2/bundle_reader.dart b/pkg/analyzer/lib/src/summary2/bundle_reader.dart
index 422e337..ca2d949 100644
--- a/pkg/analyzer/lib/src/summary2/bundle_reader.dart
+++ b/pkg/analyzer/lib/src/summary2/bundle_reader.dart
@@ -1535,6 +1535,7 @@
return List.generate(formalParameterCount, (_) {
var kindIndex = _reader.readByte();
var kind = _formalParameterKind(kindIndex);
+ var hasImplicitType = _reader.readBool();
var isInitializingFormal = _reader.readBool();
var typeParameters = _readTypeParameters(unitElement);
var type = readRequiredType();
@@ -1550,6 +1551,7 @@
..parameterKind = kind
..type = type;
}
+ element.hasImplicitType = hasImplicitType;
element.typeParameters = typeParameters;
element.parameters = _readFormalParameters(unitElement);
// TODO(scheglov) reuse for formal parameters
@@ -1562,6 +1564,7 @@
var element = DefaultParameterElementImpl(name, -1)
..parameterKind = kind
..type = type;
+ element.hasImplicitType = hasImplicitType;
element.typeParameters = typeParameters;
element.parameters = _readFormalParameters(unitElement);
// TODO(scheglov) reuse for formal parameters
diff --git a/pkg/analyzer/lib/src/summary2/bundle_writer.dart b/pkg/analyzer/lib/src/summary2/bundle_writer.dart
index 9dc8c56..e6ca6ed 100644
--- a/pkg/analyzer/lib/src/summary2/bundle_writer.dart
+++ b/pkg/analyzer/lib/src/summary2/bundle_writer.dart
@@ -657,6 +657,7 @@
writeUInt30(parameters.length);
for (var parameter in parameters) {
_writeFormalParameterKind(parameter);
+ writeBool(parameter.hasImplicitType);
writeBool(parameter.isInitializingFormal);
_writeTypeParameters(parameter.typeParameters, () {
writeType(parameter.type);
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_annotation_target_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_annotation_target_test.dart
index 1ca267c..2bf9161 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_annotation_target_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_annotation_target_test.dart
@@ -606,6 +606,40 @@
''');
}
+ void test_topLevelVariable_field() async {
+ writeTestPackageConfigWithMeta();
+ await assertErrorsInCode('''
+import 'package:meta/meta_meta.dart';
+
+@Target({TargetKind.topLevelVariable})
+class A {
+ const A();
+}
+
+class B {
+ @A()
+ int f = 0;
+}
+''', [
+ error(HintCode.INVALID_ANNOTATION_TARGET, 117, 1),
+ ]);
+ }
+
+ void test_topLevelVariable_topLevelVariable() async {
+ writeTestPackageConfigWithMeta();
+ await assertNoErrorsInCode('''
+import 'package:meta/meta_meta.dart';
+
+@Target({TargetKind.topLevelVariable})
+class A {
+ const A();
+}
+
+@A()
+int f = 0;
+''');
+ }
+
void test_type_class() async {
writeTestPackageConfigWithMeta();
await assertNoErrorsInCode('''
diff --git a/pkg/analyzer/test/src/summary/resynthesize_common.dart b/pkg/analyzer/test/src/summary/resynthesize_common.dart
index ef090f9..925dec6 100644
--- a/pkg/analyzer/test/src/summary/resynthesize_common.dart
+++ b/pkg/analyzer/test/src/summary/resynthesize_common.dart
@@ -14560,6 +14560,19 @@
''');
}
+ test_typedef_parameter_hasImplicitType() async {
+ var library = await checkLibrary(r'''
+typedef void F(int a, b, [int c, d]);
+''');
+ var F = library.definingCompilationUnit.typeAliases.single;
+ var function = F.aliasedElement as GenericFunctionTypeElement;
+ // TODO(scheglov) Use better textual presentation with all information.
+ expect(function.parameters[0].hasImplicitType, false);
+ expect(function.parameters[1].hasImplicitType, true);
+ expect(function.parameters[2].hasImplicitType, false);
+ expect(function.parameters[3].hasImplicitType, true);
+ }
+
test_typedef_parameter_parameters() async {
var library = await checkLibrary('typedef F(g(x, y));');
checkElementText(library, r'''
diff --git a/pkg/front_end/lib/src/fasta/util/direct_parser_ast_helper.dart b/pkg/front_end/lib/src/fasta/util/direct_parser_ast_helper.dart
index fe06b76..1424749 100644
--- a/pkg/front_end/lib/src/fasta/util/direct_parser_ast_helper.dart
+++ b/pkg/front_end/lib/src/fasta/util/direct_parser_ast_helper.dart
@@ -2,8 +2,6 @@
// 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.
-// @dart = 2.9
-
import 'package:_fe_analyzer_shared/src/parser/assert.dart';
import 'package:_fe_analyzer_shared/src/parser/block_kind.dart';
import 'package:_fe_analyzer_shared/src/parser/declaration_kind.dart';
@@ -29,8 +27,8 @@
abstract class DirectParserASTContent {
final String what;
final DirectParserASTType type;
- Map<String, Object> get deprecatedArguments;
- List<DirectParserASTContent> children;
+ Map<String, Object?> get deprecatedArguments;
+ List<DirectParserASTContent>? children;
DirectParserASTContent(this.what, this.type);
@@ -58,7 +56,7 @@
seen(data);
}
- void handleAsyncModifier(Token asyncToken, Token starToken) {
+ void handleAsyncModifier(Token? asyncToken, Token? starToken) {
DirectParserASTContentAsyncModifierHandle data =
new DirectParserASTContentAsyncModifierHandle(
DirectParserASTType.HANDLE,
@@ -174,7 +172,7 @@
seen(data);
}
- void beginClassDeclaration(Token begin, Token abstractToken, Token name) {
+ void beginClassDeclaration(Token begin, Token? abstractToken, Token name) {
DirectParserASTContentClassDeclarationBegin data =
new DirectParserASTContentClassDeclarationBegin(
DirectParserASTType.BEGIN,
@@ -184,7 +182,7 @@
seen(data);
}
- void handleClassExtends(Token extendsKeyword, int typeCount) {
+ void handleClassExtends(Token? extendsKeyword, int typeCount) {
DirectParserASTContentClassExtendsHandle data =
new DirectParserASTContentClassExtendsHandle(DirectParserASTType.HANDLE,
extendsKeyword: extendsKeyword, typeCount: typeCount);
@@ -192,7 +190,7 @@
}
void handleClassOrMixinImplements(
- Token implementsKeyword, int interfacesCount) {
+ Token? implementsKeyword, int interfacesCount) {
DirectParserASTContentClassOrMixinImplementsHandle data =
new DirectParserASTContentClassOrMixinImplementsHandle(
DirectParserASTType.HANDLE,
@@ -201,7 +199,7 @@
seen(data);
}
- void handleClassHeader(Token begin, Token classKeyword, Token nativeToken) {
+ void handleClassHeader(Token begin, Token classKeyword, Token? nativeToken) {
DirectParserASTContentClassHeaderHandle data =
new DirectParserASTContentClassHeaderHandle(DirectParserASTType.HANDLE,
begin: begin, classKeyword: classKeyword, nativeToken: nativeToken);
@@ -231,7 +229,7 @@
seen(data);
}
- void handleMixinOn(Token onKeyword, int typeCount) {
+ void handleMixinOn(Token? onKeyword, int typeCount) {
DirectParserASTContentMixinOnHandle data =
new DirectParserASTContentMixinOnHandle(DirectParserASTType.HANDLE,
onKeyword: onKeyword, typeCount: typeCount);
@@ -275,7 +273,7 @@
seen(data);
}
- void beginExtensionDeclaration(Token extensionKeyword, Token name) {
+ void beginExtensionDeclaration(Token extensionKeyword, Token? name) {
DirectParserASTContentExtensionDeclarationBegin data =
new DirectParserASTContentExtensionDeclarationBegin(
DirectParserASTType.BEGIN,
@@ -354,7 +352,7 @@
}
void endConstructorReference(
- Token start, Token periodBeforeName, Token endToken) {
+ Token start, Token? periodBeforeName, Token endToken) {
DirectParserASTContentConstructorReferenceEnd data =
new DirectParserASTContentConstructorReferenceEnd(
DirectParserASTType.END,
@@ -462,7 +460,7 @@
}
void beginFactoryMethod(
- Token lastConsumed, Token externalToken, Token constToken) {
+ Token lastConsumed, Token? externalToken, Token? constToken) {
DirectParserASTContentFactoryMethodBegin data =
new DirectParserASTContentFactoryMethodBegin(DirectParserASTType.BEGIN,
lastConsumed: lastConsumed,
@@ -502,8 +500,8 @@
seen(data);
}
- void beginFormalParameter(Token token, MemberKind kind, Token requiredToken,
- Token covariantToken, Token varFinalOrConst) {
+ void beginFormalParameter(Token token, MemberKind kind, Token? requiredToken,
+ Token? covariantToken, Token? varFinalOrConst) {
DirectParserASTContentFormalParameterBegin data =
new DirectParserASTContentFormalParameterBegin(
DirectParserASTType.BEGIN,
@@ -516,11 +514,11 @@
}
void endFormalParameter(
- Token thisKeyword,
- Token periodAfterThis,
+ Token? thisKeyword,
+ Token? periodAfterThis,
Token nameToken,
- Token initializerStart,
- Token initializerEnd,
+ Token? initializerStart,
+ Token? initializerEnd,
FormalParameterKind kind,
MemberKind memberKind) {
DirectParserASTContentFormalParameterEnd data =
@@ -565,12 +563,12 @@
}
void endClassFields(
- Token abstractToken,
- Token externalToken,
- Token staticToken,
- Token covariantToken,
- Token lateToken,
- Token varFinalOrConst,
+ Token? abstractToken,
+ Token? externalToken,
+ Token? staticToken,
+ Token? covariantToken,
+ Token? lateToken,
+ Token? varFinalOrConst,
int count,
Token beginToken,
Token endToken) {
@@ -589,12 +587,12 @@
}
void endMixinFields(
- Token abstractToken,
- Token externalToken,
- Token staticToken,
- Token covariantToken,
- Token lateToken,
- Token varFinalOrConst,
+ Token? abstractToken,
+ Token? externalToken,
+ Token? staticToken,
+ Token? covariantToken,
+ Token? lateToken,
+ Token? varFinalOrConst,
int count,
Token beginToken,
Token endToken) {
@@ -613,12 +611,12 @@
}
void endExtensionFields(
- Token abstractToken,
- Token externalToken,
- Token staticToken,
- Token covariantToken,
- Token lateToken,
- Token varFinalOrConst,
+ Token? abstractToken,
+ Token? externalToken,
+ Token? staticToken,
+ Token? covariantToken,
+ Token? lateToken,
+ Token? varFinalOrConst,
int count,
Token beginToken,
Token endToken) {
@@ -702,7 +700,7 @@
seen(data);
}
- void handleForInLoopParts(Token awaitToken, Token forToken,
+ void handleForInLoopParts(Token? awaitToken, Token forToken,
Token leftParenthesis, Token inKeyword) {
DirectParserASTContentForInLoopPartsHandle data =
new DirectParserASTContentForInLoopPartsHandle(
@@ -837,7 +835,7 @@
}
void endFunctionTypeAlias(
- Token typedefKeyword, Token equals, Token endToken) {
+ Token typedefKeyword, Token? equals, Token endToken) {
DirectParserASTContentFunctionTypeAliasEnd data =
new DirectParserASTContentFunctionTypeAliasEnd(DirectParserASTType.END,
typedefKeyword: typedefKeyword, equals: equals, endToken: endToken);
@@ -860,7 +858,7 @@
}
void beginNamedMixinApplication(
- Token begin, Token abstractToken, Token name) {
+ Token begin, Token? abstractToken, Token name) {
DirectParserASTContentNamedMixinApplicationBegin data =
new DirectParserASTContentNamedMixinApplicationBegin(
DirectParserASTType.BEGIN,
@@ -879,7 +877,7 @@
}
void endNamedMixinApplication(Token begin, Token classKeyword, Token equals,
- Token implementsKeyword, Token endToken) {
+ Token? implementsKeyword, Token endToken) {
DirectParserASTContentNamedMixinApplicationEnd data =
new DirectParserASTContentNamedMixinApplicationEnd(
DirectParserASTType.END,
@@ -934,7 +932,7 @@
seen(data);
}
- void endIfStatement(Token ifToken, Token elseToken) {
+ void endIfStatement(Token ifToken, Token? elseToken) {
DirectParserASTContentIfStatementEnd data =
new DirectParserASTContentIfStatementEnd(DirectParserASTType.END,
ifToken: ifToken, elseToken: elseToken);
@@ -976,14 +974,14 @@
seen(data);
}
- void handleImportPrefix(Token deferredKeyword, Token asKeyword) {
+ void handleImportPrefix(Token? deferredKeyword, Token? asKeyword) {
DirectParserASTContentImportPrefixHandle data =
new DirectParserASTContentImportPrefixHandle(DirectParserASTType.HANDLE,
deferredKeyword: deferredKeyword, asKeyword: asKeyword);
seen(data);
}
- void endImport(Token importKeyword, Token semicolon) {
+ void endImport(Token importKeyword, Token? semicolon) {
DirectParserASTContentImportEnd data = new DirectParserASTContentImportEnd(
DirectParserASTType.END,
importKeyword: importKeyword,
@@ -991,7 +989,7 @@
seen(data);
}
- void handleRecoverImport(Token semicolon) {
+ void handleRecoverImport(Token? semicolon) {
DirectParserASTContentRecoverImportHandle data =
new DirectParserASTContentRecoverImportHandle(
DirectParserASTType.HANDLE,
@@ -1021,7 +1019,7 @@
seen(data);
}
- void endConditionalUri(Token ifKeyword, Token leftParen, Token equalSign) {
+ void endConditionalUri(Token ifKeyword, Token leftParen, Token? equalSign) {
DirectParserASTContentConditionalUriEnd data =
new DirectParserASTContentConditionalUriEnd(DirectParserASTType.END,
ifKeyword: ifKeyword, leftParen: leftParen, equalSign: equalSign);
@@ -1226,7 +1224,7 @@
seen(data);
}
- void handleInterpolationExpression(Token leftBracket, Token rightBracket) {
+ void handleInterpolationExpression(Token leftBracket, Token? rightBracket) {
DirectParserASTContentInterpolationExpressionHandle data =
new DirectParserASTContentInterpolationExpressionHandle(
DirectParserASTType.HANDLE,
@@ -1271,8 +1269,13 @@
seen(data);
}
- void beginMethod(Token externalToken, Token staticToken, Token covariantToken,
- Token varFinalOrConst, Token getOrSet, Token name) {
+ void beginMethod(
+ Token? externalToken,
+ Token? staticToken,
+ Token? covariantToken,
+ Token? varFinalOrConst,
+ Token? getOrSet,
+ Token name) {
DirectParserASTContentMethodBegin data =
new DirectParserASTContentMethodBegin(DirectParserASTType.BEGIN,
externalToken: externalToken,
@@ -1284,8 +1287,8 @@
seen(data);
}
- void endClassMethod(Token getOrSet, Token beginToken, Token beginParam,
- Token beginInitializers, Token endToken) {
+ void endClassMethod(Token? getOrSet, Token beginToken, Token beginParam,
+ Token? beginInitializers, Token endToken) {
DirectParserASTContentClassMethodEnd data =
new DirectParserASTContentClassMethodEnd(DirectParserASTType.END,
getOrSet: getOrSet,
@@ -1296,8 +1299,8 @@
seen(data);
}
- void endMixinMethod(Token getOrSet, Token beginToken, Token beginParam,
- Token beginInitializers, Token endToken) {
+ void endMixinMethod(Token? getOrSet, Token beginToken, Token beginParam,
+ Token? beginInitializers, Token endToken) {
DirectParserASTContentMixinMethodEnd data =
new DirectParserASTContentMixinMethodEnd(DirectParserASTType.END,
getOrSet: getOrSet,
@@ -1308,8 +1311,8 @@
seen(data);
}
- void endExtensionMethod(Token getOrSet, Token beginToken, Token beginParam,
- Token beginInitializers, Token endToken) {
+ void endExtensionMethod(Token? getOrSet, Token beginToken, Token beginParam,
+ Token? beginInitializers, Token endToken) {
DirectParserASTContentExtensionMethodEnd data =
new DirectParserASTContentExtensionMethodEnd(DirectParserASTType.END,
getOrSet: getOrSet,
@@ -1320,8 +1323,8 @@
seen(data);
}
- void endClassConstructor(Token getOrSet, Token beginToken, Token beginParam,
- Token beginInitializers, Token endToken) {
+ void endClassConstructor(Token? getOrSet, Token beginToken, Token beginParam,
+ Token? beginInitializers, Token endToken) {
DirectParserASTContentClassConstructorEnd data =
new DirectParserASTContentClassConstructorEnd(DirectParserASTType.END,
getOrSet: getOrSet,
@@ -1332,8 +1335,8 @@
seen(data);
}
- void endMixinConstructor(Token getOrSet, Token beginToken, Token beginParam,
- Token beginInitializers, Token endToken) {
+ void endMixinConstructor(Token? getOrSet, Token beginToken, Token beginParam,
+ Token? beginInitializers, Token endToken) {
DirectParserASTContentMixinConstructorEnd data =
new DirectParserASTContentMixinConstructorEnd(DirectParserASTType.END,
getOrSet: getOrSet,
@@ -1344,8 +1347,8 @@
seen(data);
}
- void endExtensionConstructor(Token getOrSet, Token beginToken,
- Token beginParam, Token beginInitializers, Token endToken) {
+ void endExtensionConstructor(Token? getOrSet, Token beginToken,
+ Token beginParam, Token? beginInitializers, Token endToken) {
DirectParserASTContentExtensionConstructorEnd data =
new DirectParserASTContentExtensionConstructorEnd(
DirectParserASTType.END,
@@ -1378,7 +1381,7 @@
seen(data);
}
- void endMetadata(Token beginToken, Token periodBeforeName, Token endToken) {
+ void endMetadata(Token beginToken, Token? periodBeforeName, Token endToken) {
DirectParserASTContentMetadataEnd data =
new DirectParserASTContentMetadataEnd(DirectParserASTType.END,
beginToken: beginToken,
@@ -1499,7 +1502,7 @@
seen(data);
}
- void handleExpressionFunctionBody(Token arrowToken, Token endToken) {
+ void handleExpressionFunctionBody(Token arrowToken, Token? endToken) {
DirectParserASTContentExpressionFunctionBodyHandle data =
new DirectParserASTContentExpressionFunctionBodyHandle(
DirectParserASTType.HANDLE,
@@ -1637,11 +1640,11 @@
}
void endTopLevelFields(
- Token externalToken,
- Token staticToken,
- Token covariantToken,
- Token lateToken,
- Token varFinalOrConst,
+ Token? externalToken,
+ Token? staticToken,
+ Token? covariantToken,
+ Token? lateToken,
+ Token? varFinalOrConst,
int count,
Token beginToken,
Token endToken) {
@@ -1658,14 +1661,14 @@
seen(data);
}
- void beginTopLevelMethod(Token lastConsumed, Token externalToken) {
+ void beginTopLevelMethod(Token lastConsumed, Token? externalToken) {
DirectParserASTContentTopLevelMethodBegin data =
new DirectParserASTContentTopLevelMethodBegin(DirectParserASTType.BEGIN,
lastConsumed: lastConsumed, externalToken: externalToken);
seen(data);
}
- void endTopLevelMethod(Token beginToken, Token getOrSet, Token endToken) {
+ void endTopLevelMethod(Token beginToken, Token? getOrSet, Token endToken) {
DirectParserASTContentTopLevelMethodEnd data =
new DirectParserASTContentTopLevelMethodEnd(DirectParserASTType.END,
beginToken: beginToken, getOrSet: getOrSet, endToken: endToken);
@@ -1700,7 +1703,7 @@
seen(data);
}
- void handleCatchBlock(Token onKeyword, Token catchKeyword, Token comma) {
+ void handleCatchBlock(Token? onKeyword, Token? catchKeyword, Token? comma) {
DirectParserASTContentCatchBlockHandle data =
new DirectParserASTContentCatchBlockHandle(DirectParserASTType.HANDLE,
onKeyword: onKeyword, catchKeyword: catchKeyword, comma: comma);
@@ -1714,7 +1717,8 @@
seen(data);
}
- void endTryStatement(int catchCount, Token tryKeyword, Token finallyKeyword) {
+ void endTryStatement(
+ int catchCount, Token tryKeyword, Token? finallyKeyword) {
DirectParserASTContentTryStatementEnd data =
new DirectParserASTContentTryStatementEnd(DirectParserASTType.END,
catchCount: catchCount,
@@ -1723,7 +1727,7 @@
seen(data);
}
- void handleType(Token beginToken, Token questionMark) {
+ void handleType(Token beginToken, Token? questionMark) {
DirectParserASTContentTypeHandle data =
new DirectParserASTContentTypeHandle(DirectParserASTType.HANDLE,
beginToken: beginToken, questionMark: questionMark);
@@ -1752,7 +1756,7 @@
seen(data);
}
- void endFunctionType(Token functionToken, Token questionMark) {
+ void endFunctionType(Token functionToken, Token? questionMark) {
DirectParserASTContentFunctionTypeEnd data =
new DirectParserASTContentFunctionTypeEnd(DirectParserASTType.END,
functionToken: functionToken, questionMark: questionMark);
@@ -1806,7 +1810,7 @@
}
void endTypeVariable(
- Token token, int index, Token extendsOrSuper, Token variance) {
+ Token token, int index, Token? extendsOrSuper, Token? variance) {
DirectParserASTContentTypeVariableEnd data =
new DirectParserASTContentTypeVariableEnd(DirectParserASTType.END,
token: token,
@@ -1846,7 +1850,7 @@
}
void beginVariablesDeclaration(
- Token token, Token lateToken, Token varFinalOrConst) {
+ Token token, Token? lateToken, Token? varFinalOrConst) {
DirectParserASTContentVariablesDeclarationBegin data =
new DirectParserASTContentVariablesDeclarationBegin(
DirectParserASTType.BEGIN,
@@ -1856,7 +1860,7 @@
seen(data);
}
- void endVariablesDeclaration(int count, Token endToken) {
+ void endVariablesDeclaration(int count, Token? endToken) {
DirectParserASTContentVariablesDeclarationEnd data =
new DirectParserASTContentVariablesDeclarationEnd(
DirectParserASTType.END,
@@ -1977,7 +1981,7 @@
seen(data);
}
- void beginForControlFlow(Token awaitToken, Token forToken) {
+ void beginForControlFlow(Token? awaitToken, Token forToken) {
DirectParserASTContentForControlFlowBegin data =
new DirectParserASTContentForControlFlowBegin(DirectParserASTType.BEGIN,
awaitToken: awaitToken, forToken: forToken);
@@ -2051,7 +2055,7 @@
seen(data);
}
- void endFunctionTypedFormalParameter(Token nameToken, Token question) {
+ void endFunctionTypedFormalParameter(Token nameToken, Token? question) {
DirectParserASTContentFunctionTypedFormalParameterEnd data =
new DirectParserASTContentFunctionTypedFormalParameterEnd(
DirectParserASTType.END,
@@ -2068,7 +2072,7 @@
}
void handleIndexedExpression(
- Token question, Token openSquareBracket, Token closeSquareBracket) {
+ Token? question, Token openSquareBracket, Token closeSquareBracket) {
DirectParserASTContentIndexedExpressionHandle data =
new DirectParserASTContentIndexedExpressionHandle(
DirectParserASTType.HANDLE,
@@ -2092,7 +2096,7 @@
seen(data);
}
- void handleIsOperator(Token isOperator, Token not) {
+ void handleIsOperator(Token isOperator, Token? not) {
DirectParserASTContentIsOperatorHandle data =
new DirectParserASTContentIsOperatorHandle(DirectParserASTType.HANDLE,
isOperator: isOperator, not: not);
@@ -2144,7 +2148,7 @@
}
void endAssert(Token assertKeyword, Assert kind, Token leftParenthesis,
- Token commaToken, Token semicolonToken) {
+ Token? commaToken, Token semicolonToken) {
DirectParserASTContentAssertEnd data = new DirectParserASTContentAssertEnd(
DirectParserASTType.END,
assertKeyword: assertKeyword,
@@ -2171,7 +2175,7 @@
}
void handleLiteralList(
- int count, Token leftBracket, Token constKeyword, Token rightBracket) {
+ int count, Token leftBracket, Token? constKeyword, Token rightBracket) {
DirectParserASTContentLiteralListHandle data =
new DirectParserASTContentLiteralListHandle(DirectParserASTType.HANDLE,
count: count,
@@ -2184,7 +2188,7 @@
void handleLiteralSetOrMap(
int count,
Token leftBrace,
- Token constKeyword,
+ Token? constKeyword,
Token rightBrace,
bool hasSetEntry,
) {
@@ -2347,8 +2351,8 @@
void endSwitchCase(
int labelCount,
int expressionCount,
- Token defaultKeyword,
- Token colonAfterDefault,
+ Token? defaultKeyword,
+ Token? colonAfterDefault,
int statementCount,
Token firstToken,
Token endToken) {
@@ -2450,14 +2454,14 @@
seen(data);
}
- void endYieldStatement(Token yieldToken, Token starToken, Token endToken) {
+ void endYieldStatement(Token yieldToken, Token? starToken, Token endToken) {
DirectParserASTContentYieldStatementEnd data =
new DirectParserASTContentYieldStatementEnd(DirectParserASTType.END,
yieldToken: yieldToken, starToken: starToken, endToken: endToken);
seen(data);
}
- void endInvalidYieldStatement(Token beginToken, Token starToken,
+ void endInvalidYieldStatement(Token beginToken, Token? starToken,
Token endToken, MessageCode errorCode) {
DirectParserASTContentInvalidYieldStatementEnd data =
new DirectParserASTContentInvalidYieldStatementEnd(
@@ -2525,7 +2529,7 @@
}
void handleCommentReference(
- Token newKeyword, Token prefix, Token period, Token token) {
+ Token? newKeyword, Token? prefix, Token? period, Token token) {
DirectParserASTContentCommentReferenceHandle data =
new DirectParserASTContentCommentReferenceHandle(
DirectParserASTType.HANDLE,
@@ -2547,10 +2551,11 @@
class DirectParserASTContentArgumentsBegin extends DirectParserASTContent {
final Token token;
- DirectParserASTContentArgumentsBegin(DirectParserASTType type, {this.token})
+ DirectParserASTContentArgumentsBegin(DirectParserASTType type,
+ {required this.token})
: super("Arguments", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -2561,10 +2566,10 @@
final Token endToken;
DirectParserASTContentArgumentsEnd(DirectParserASTType type,
- {this.count, this.beginToken, this.endToken})
+ {required this.count, required this.beginToken, required this.endToken})
: super("Arguments", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"count": count,
"beginToken": beginToken,
"endToken": endToken,
@@ -2572,14 +2577,14 @@
}
class DirectParserASTContentAsyncModifierHandle extends DirectParserASTContent {
- final Token asyncToken;
- final Token starToken;
+ final Token? asyncToken;
+ final Token? starToken;
DirectParserASTContentAsyncModifierHandle(DirectParserASTType type,
{this.asyncToken, this.starToken})
: super("AsyncModifier", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"asyncToken": asyncToken,
"starToken": starToken,
};
@@ -2590,10 +2595,10 @@
final Token token;
DirectParserASTContentAwaitExpressionBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("AwaitExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -2603,10 +2608,10 @@
final Token endToken;
DirectParserASTContentAwaitExpressionEnd(DirectParserASTType type,
- {this.beginToken, this.endToken})
+ {required this.beginToken, required this.endToken})
: super("AwaitExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"beginToken": beginToken,
"endToken": endToken,
};
@@ -2619,10 +2624,12 @@
final MessageCode errorCode;
DirectParserASTContentInvalidAwaitExpressionEnd(DirectParserASTType type,
- {this.beginToken, this.endToken, this.errorCode})
+ {required this.beginToken,
+ required this.endToken,
+ required this.errorCode})
: super("InvalidAwaitExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"beginToken": beginToken,
"endToken": endToken,
"errorCode": errorCode,
@@ -2634,10 +2641,10 @@
final BlockKind blockKind;
DirectParserASTContentBlockBegin(DirectParserASTType type,
- {this.token, this.blockKind})
+ {required this.token, required this.blockKind})
: super("Block", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
"blockKind": blockKind,
};
@@ -2650,10 +2657,13 @@
final BlockKind blockKind;
DirectParserASTContentBlockEnd(DirectParserASTType type,
- {this.count, this.beginToken, this.endToken, this.blockKind})
+ {required this.count,
+ required this.beginToken,
+ required this.endToken,
+ required this.blockKind})
: super("Block", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"count": count,
"beginToken": beginToken,
"endToken": endToken,
@@ -2666,10 +2676,10 @@
final Token token;
DirectParserASTContentInvalidTopLevelBlockHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("InvalidTopLevelBlock", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -2677,10 +2687,11 @@
class DirectParserASTContentCascadeBegin extends DirectParserASTContent {
final Token token;
- DirectParserASTContentCascadeBegin(DirectParserASTType type, {this.token})
+ DirectParserASTContentCascadeBegin(DirectParserASTType type,
+ {required this.token})
: super("Cascade", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -2689,17 +2700,17 @@
DirectParserASTContentCascadeEnd(DirectParserASTType type)
: super("Cascade", type);
- Map<String, Object> get deprecatedArguments => {};
+ Map<String, Object?> get deprecatedArguments => {};
}
class DirectParserASTContentCaseExpressionBegin extends DirectParserASTContent {
final Token caseKeyword;
DirectParserASTContentCaseExpressionBegin(DirectParserASTType type,
- {this.caseKeyword})
+ {required this.caseKeyword})
: super("CaseExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"caseKeyword": caseKeyword,
};
}
@@ -2708,10 +2719,10 @@
final Token colon;
DirectParserASTContentCaseExpressionEnd(DirectParserASTType type,
- {this.colon})
+ {required this.colon})
: super("CaseExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"colon": colon,
};
}
@@ -2722,10 +2733,10 @@
final Token token;
DirectParserASTContentClassOrMixinBodyBegin(DirectParserASTType type,
- {this.kind, this.token})
+ {required this.kind, required this.token})
: super("ClassOrMixinBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"kind": kind,
"token": token,
};
@@ -2738,10 +2749,13 @@
final Token endToken;
DirectParserASTContentClassOrMixinBodyEnd(DirectParserASTType type,
- {this.kind, this.memberCount, this.beginToken, this.endToken})
+ {required this.kind,
+ required this.memberCount,
+ required this.beginToken,
+ required this.endToken})
: super("ClassOrMixinBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"kind": kind,
"memberCount": memberCount,
"beginToken": beginToken,
@@ -2755,10 +2769,10 @@
DirectParserASTContentClassOrNamedMixinApplicationPreludeBegin(
DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ClassOrNamedMixinApplicationPrelude", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -2766,14 +2780,14 @@
class DirectParserASTContentClassDeclarationBegin
extends DirectParserASTContent {
final Token begin;
- final Token abstractToken;
+ final Token? abstractToken;
final Token name;
DirectParserASTContentClassDeclarationBegin(DirectParserASTType type,
- {this.begin, this.abstractToken, this.name})
+ {required this.begin, this.abstractToken, required this.name})
: super("ClassDeclaration", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"begin": begin,
"abstractToken": abstractToken,
"name": name,
@@ -2781,14 +2795,14 @@
}
class DirectParserASTContentClassExtendsHandle extends DirectParserASTContent {
- final Token extendsKeyword;
+ final Token? extendsKeyword;
final int typeCount;
DirectParserASTContentClassExtendsHandle(DirectParserASTType type,
- {this.extendsKeyword, this.typeCount})
+ {this.extendsKeyword, required this.typeCount})
: super("ClassExtends", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"extendsKeyword": extendsKeyword,
"typeCount": typeCount,
};
@@ -2796,14 +2810,14 @@
class DirectParserASTContentClassOrMixinImplementsHandle
extends DirectParserASTContent {
- final Token implementsKeyword;
+ final Token? implementsKeyword;
final int interfacesCount;
DirectParserASTContentClassOrMixinImplementsHandle(DirectParserASTType type,
- {this.implementsKeyword, this.interfacesCount})
+ {this.implementsKeyword, required this.interfacesCount})
: super("ClassOrMixinImplements", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"implementsKeyword": implementsKeyword,
"interfacesCount": interfacesCount,
};
@@ -2812,13 +2826,13 @@
class DirectParserASTContentClassHeaderHandle extends DirectParserASTContent {
final Token begin;
final Token classKeyword;
- final Token nativeToken;
+ final Token? nativeToken;
DirectParserASTContentClassHeaderHandle(DirectParserASTType type,
- {this.begin, this.classKeyword, this.nativeToken})
+ {required this.begin, required this.classKeyword, this.nativeToken})
: super("ClassHeader", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"begin": begin,
"classKeyword": classKeyword,
"nativeToken": nativeToken,
@@ -2830,7 +2844,7 @@
DirectParserASTContentRecoverClassHeaderHandle(DirectParserASTType type)
: super("RecoverClassHeader", type);
- Map<String, Object> get deprecatedArguments => {};
+ Map<String, Object?> get deprecatedArguments => {};
}
class DirectParserASTContentClassDeclarationEnd extends DirectParserASTContent {
@@ -2838,10 +2852,10 @@
final Token endToken;
DirectParserASTContentClassDeclarationEnd(DirectParserASTType type,
- {this.beginToken, this.endToken})
+ {required this.beginToken, required this.endToken})
: super("ClassDeclaration", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"beginToken": beginToken,
"endToken": endToken,
};
@@ -2853,24 +2867,24 @@
final Token name;
DirectParserASTContentMixinDeclarationBegin(DirectParserASTType type,
- {this.mixinKeyword, this.name})
+ {required this.mixinKeyword, required this.name})
: super("MixinDeclaration", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"mixinKeyword": mixinKeyword,
"name": name,
};
}
class DirectParserASTContentMixinOnHandle extends DirectParserASTContent {
- final Token onKeyword;
+ final Token? onKeyword;
final int typeCount;
DirectParserASTContentMixinOnHandle(DirectParserASTType type,
- {this.onKeyword, this.typeCount})
+ {this.onKeyword, required this.typeCount})
: super("MixinOn", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"onKeyword": onKeyword,
"typeCount": typeCount,
};
@@ -2880,10 +2894,10 @@
final Token mixinKeyword;
DirectParserASTContentMixinHeaderHandle(DirectParserASTType type,
- {this.mixinKeyword})
+ {required this.mixinKeyword})
: super("MixinHeader", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"mixinKeyword": mixinKeyword,
};
}
@@ -2893,7 +2907,7 @@
DirectParserASTContentRecoverMixinHeaderHandle(DirectParserASTType type)
: super("RecoverMixinHeader", type);
- Map<String, Object> get deprecatedArguments => {};
+ Map<String, Object?> get deprecatedArguments => {};
}
class DirectParserASTContentMixinDeclarationEnd extends DirectParserASTContent {
@@ -2901,10 +2915,10 @@
final Token endToken;
DirectParserASTContentMixinDeclarationEnd(DirectParserASTType type,
- {this.mixinKeyword, this.endToken})
+ {required this.mixinKeyword, required this.endToken})
: super("MixinDeclaration", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"mixinKeyword": mixinKeyword,
"endToken": endToken,
};
@@ -2916,10 +2930,10 @@
DirectParserASTContentUncategorizedTopLevelDeclarationBegin(
DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("UncategorizedTopLevelDeclaration", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -2930,10 +2944,10 @@
DirectParserASTContentExtensionDeclarationPreludeBegin(
DirectParserASTType type,
- {this.extensionKeyword})
+ {required this.extensionKeyword})
: super("ExtensionDeclarationPrelude", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"extensionKeyword": extensionKeyword,
};
}
@@ -2941,13 +2955,13 @@
class DirectParserASTContentExtensionDeclarationBegin
extends DirectParserASTContent {
final Token extensionKeyword;
- final Token name;
+ final Token? name;
DirectParserASTContentExtensionDeclarationBegin(DirectParserASTType type,
- {this.extensionKeyword, this.name})
+ {required this.extensionKeyword, this.name})
: super("ExtensionDeclaration", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"extensionKeyword": extensionKeyword,
"name": name,
};
@@ -2960,10 +2974,12 @@
final Token endToken;
DirectParserASTContentExtensionDeclarationEnd(DirectParserASTType type,
- {this.extensionKeyword, this.onKeyword, this.endToken})
+ {required this.extensionKeyword,
+ required this.onKeyword,
+ required this.endToken})
: super("ExtensionDeclaration", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"extensionKeyword": extensionKeyword,
"onKeyword": onKeyword,
"endToken": endToken,
@@ -2973,10 +2989,11 @@
class DirectParserASTContentCombinatorsBegin extends DirectParserASTContent {
final Token token;
- DirectParserASTContentCombinatorsBegin(DirectParserASTType type, {this.token})
+ DirectParserASTContentCombinatorsBegin(DirectParserASTType type,
+ {required this.token})
: super("Combinators", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -2984,10 +3001,11 @@
class DirectParserASTContentCombinatorsEnd extends DirectParserASTContent {
final int count;
- DirectParserASTContentCombinatorsEnd(DirectParserASTType type, {this.count})
+ DirectParserASTContentCombinatorsEnd(DirectParserASTType type,
+ {required this.count})
: super("Combinators", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"count": count,
};
}
@@ -2997,10 +3015,10 @@
final Token token;
DirectParserASTContentCompilationUnitBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("CompilationUnit", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3010,7 +3028,7 @@
DirectParserASTContentDirectivesOnlyHandle(DirectParserASTType type)
: super("DirectivesOnly", type);
- Map<String, Object> get deprecatedArguments => {};
+ Map<String, Object?> get deprecatedArguments => {};
}
class DirectParserASTContentCompilationUnitEnd extends DirectParserASTContent {
@@ -3018,10 +3036,10 @@
final Token token;
DirectParserASTContentCompilationUnitEnd(DirectParserASTType type,
- {this.count, this.token})
+ {required this.count, required this.token})
: super("CompilationUnit", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"count": count,
"token": token,
};
@@ -3031,10 +3049,10 @@
final Token token;
DirectParserASTContentConstLiteralBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ConstLiteral", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3042,10 +3060,11 @@
class DirectParserASTContentConstLiteralEnd extends DirectParserASTContent {
final Token token;
- DirectParserASTContentConstLiteralEnd(DirectParserASTType type, {this.token})
+ DirectParserASTContentConstLiteralEnd(DirectParserASTType type,
+ {required this.token})
: super("ConstLiteral", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3055,10 +3074,10 @@
final Token start;
DirectParserASTContentConstructorReferenceBegin(DirectParserASTType type,
- {this.start})
+ {required this.start})
: super("ConstructorReference", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"start": start,
};
}
@@ -3066,14 +3085,14 @@
class DirectParserASTContentConstructorReferenceEnd
extends DirectParserASTContent {
final Token start;
- final Token periodBeforeName;
+ final Token? periodBeforeName;
final Token endToken;
DirectParserASTContentConstructorReferenceEnd(DirectParserASTType type,
- {this.start, this.periodBeforeName, this.endToken})
+ {required this.start, this.periodBeforeName, required this.endToken})
: super("ConstructorReference", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"start": start,
"periodBeforeName": periodBeforeName,
"endToken": endToken,
@@ -3085,10 +3104,10 @@
final Token token;
DirectParserASTContentDoWhileStatementBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("DoWhileStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3099,10 +3118,12 @@
final Token endToken;
DirectParserASTContentDoWhileStatementEnd(DirectParserASTType type,
- {this.doKeyword, this.whileKeyword, this.endToken})
+ {required this.doKeyword,
+ required this.whileKeyword,
+ required this.endToken})
: super("DoWhileStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"doKeyword": doKeyword,
"whileKeyword": whileKeyword,
"endToken": endToken,
@@ -3114,10 +3135,10 @@
final Token token;
DirectParserASTContentDoWhileStatementBodyBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("DoWhileStatementBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3127,10 +3148,10 @@
final Token token;
DirectParserASTContentDoWhileStatementBodyEnd(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("DoWhileStatementBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3140,10 +3161,10 @@
final Token token;
DirectParserASTContentWhileStatementBodyBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("WhileStatementBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3153,10 +3174,10 @@
final Token token;
DirectParserASTContentWhileStatementBodyEnd(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("WhileStatementBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3164,10 +3185,11 @@
class DirectParserASTContentEnumBegin extends DirectParserASTContent {
final Token enumKeyword;
- DirectParserASTContentEnumBegin(DirectParserASTType type, {this.enumKeyword})
+ DirectParserASTContentEnumBegin(DirectParserASTType type,
+ {required this.enumKeyword})
: super("Enum", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"enumKeyword": enumKeyword,
};
}
@@ -3178,10 +3200,10 @@
final int count;
DirectParserASTContentEnumEnd(DirectParserASTType type,
- {this.enumKeyword, this.leftBrace, this.count})
+ {required this.enumKeyword, required this.leftBrace, required this.count})
: super("Enum", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"enumKeyword": enumKeyword,
"leftBrace": leftBrace,
"count": count,
@@ -3191,10 +3213,11 @@
class DirectParserASTContentExportBegin extends DirectParserASTContent {
final Token token;
- DirectParserASTContentExportBegin(DirectParserASTType type, {this.token})
+ DirectParserASTContentExportBegin(DirectParserASTType type,
+ {required this.token})
: super("Export", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3204,10 +3227,10 @@
final Token semicolon;
DirectParserASTContentExportEnd(DirectParserASTType type,
- {this.exportKeyword, this.semicolon})
+ {required this.exportKeyword, required this.semicolon})
: super("Export", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"exportKeyword": exportKeyword,
"semicolon": semicolon,
};
@@ -3219,10 +3242,10 @@
final Message message;
DirectParserASTContentExtraneousExpressionHandle(DirectParserASTType type,
- {this.token, this.message})
+ {required this.token, required this.message})
: super("ExtraneousExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
"message": message,
};
@@ -3233,24 +3256,24 @@
final Token token;
DirectParserASTContentExpressionStatementHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ExpressionStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
class DirectParserASTContentFactoryMethodBegin extends DirectParserASTContent {
final Token lastConsumed;
- final Token externalToken;
- final Token constToken;
+ final Token? externalToken;
+ final Token? constToken;
DirectParserASTContentFactoryMethodBegin(DirectParserASTType type,
- {this.lastConsumed, this.externalToken, this.constToken})
+ {required this.lastConsumed, this.externalToken, this.constToken})
: super("FactoryMethod", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"lastConsumed": lastConsumed,
"externalToken": externalToken,
"constToken": constToken,
@@ -3264,10 +3287,12 @@
final Token endToken;
DirectParserASTContentClassFactoryMethodEnd(DirectParserASTType type,
- {this.beginToken, this.factoryKeyword, this.endToken})
+ {required this.beginToken,
+ required this.factoryKeyword,
+ required this.endToken})
: super("ClassFactoryMethod", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"beginToken": beginToken,
"factoryKeyword": factoryKeyword,
"endToken": endToken,
@@ -3281,10 +3306,12 @@
final Token endToken;
DirectParserASTContentMixinFactoryMethodEnd(DirectParserASTType type,
- {this.beginToken, this.factoryKeyword, this.endToken})
+ {required this.beginToken,
+ required this.factoryKeyword,
+ required this.endToken})
: super("MixinFactoryMethod", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"beginToken": beginToken,
"factoryKeyword": factoryKeyword,
"endToken": endToken,
@@ -3298,10 +3325,12 @@
final Token endToken;
DirectParserASTContentExtensionFactoryMethodEnd(DirectParserASTType type,
- {this.beginToken, this.factoryKeyword, this.endToken})
+ {required this.beginToken,
+ required this.factoryKeyword,
+ required this.endToken})
: super("ExtensionFactoryMethod", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"beginToken": beginToken,
"factoryKeyword": factoryKeyword,
"endToken": endToken,
@@ -3312,19 +3341,19 @@
extends DirectParserASTContent {
final Token token;
final MemberKind kind;
- final Token requiredToken;
- final Token covariantToken;
- final Token varFinalOrConst;
+ final Token? requiredToken;
+ final Token? covariantToken;
+ final Token? varFinalOrConst;
DirectParserASTContentFormalParameterBegin(DirectParserASTType type,
- {this.token,
- this.kind,
+ {required this.token,
+ required this.kind,
this.requiredToken,
this.covariantToken,
this.varFinalOrConst})
: super("FormalParameter", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
"kind": kind,
"requiredToken": requiredToken,
@@ -3334,25 +3363,25 @@
}
class DirectParserASTContentFormalParameterEnd extends DirectParserASTContent {
- final Token thisKeyword;
- final Token periodAfterThis;
+ final Token? thisKeyword;
+ final Token? periodAfterThis;
final Token nameToken;
- final Token initializerStart;
- final Token initializerEnd;
+ final Token? initializerStart;
+ final Token? initializerEnd;
final FormalParameterKind kind;
final MemberKind memberKind;
DirectParserASTContentFormalParameterEnd(DirectParserASTType type,
{this.thisKeyword,
this.periodAfterThis,
- this.nameToken,
+ required this.nameToken,
this.initializerStart,
this.initializerEnd,
- this.kind,
- this.memberKind})
+ required this.kind,
+ required this.memberKind})
: super("FormalParameter", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"thisKeyword": thisKeyword,
"periodAfterThis": periodAfterThis,
"nameToken": nameToken,
@@ -3369,10 +3398,10 @@
final MemberKind kind;
DirectParserASTContentNoFormalParametersHandle(DirectParserASTType type,
- {this.token, this.kind})
+ {required this.token, required this.kind})
: super("NoFormalParameters", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
"kind": kind,
};
@@ -3384,10 +3413,10 @@
final MemberKind kind;
DirectParserASTContentFormalParametersBegin(DirectParserASTType type,
- {this.token, this.kind})
+ {required this.token, required this.kind})
: super("FormalParameters", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
"kind": kind,
};
@@ -3400,10 +3429,13 @@
final MemberKind kind;
DirectParserASTContentFormalParametersEnd(DirectParserASTType type,
- {this.count, this.beginToken, this.endToken, this.kind})
+ {required this.count,
+ required this.beginToken,
+ required this.endToken,
+ required this.kind})
: super("FormalParameters", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"count": count,
"beginToken": beginToken,
"endToken": endToken,
@@ -3412,12 +3444,12 @@
}
class DirectParserASTContentClassFieldsEnd extends DirectParserASTContent {
- final Token abstractToken;
- final Token externalToken;
- final Token staticToken;
- final Token covariantToken;
- final Token lateToken;
- final Token varFinalOrConst;
+ final Token? abstractToken;
+ final Token? externalToken;
+ final Token? staticToken;
+ final Token? covariantToken;
+ final Token? lateToken;
+ final Token? varFinalOrConst;
final int count;
final Token beginToken;
final Token endToken;
@@ -3429,12 +3461,12 @@
this.covariantToken,
this.lateToken,
this.varFinalOrConst,
- this.count,
- this.beginToken,
- this.endToken})
+ required this.count,
+ required this.beginToken,
+ required this.endToken})
: super("ClassFields", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"abstractToken": abstractToken,
"externalToken": externalToken,
"staticToken": staticToken,
@@ -3448,12 +3480,12 @@
}
class DirectParserASTContentMixinFieldsEnd extends DirectParserASTContent {
- final Token abstractToken;
- final Token externalToken;
- final Token staticToken;
- final Token covariantToken;
- final Token lateToken;
- final Token varFinalOrConst;
+ final Token? abstractToken;
+ final Token? externalToken;
+ final Token? staticToken;
+ final Token? covariantToken;
+ final Token? lateToken;
+ final Token? varFinalOrConst;
final int count;
final Token beginToken;
final Token endToken;
@@ -3465,12 +3497,12 @@
this.covariantToken,
this.lateToken,
this.varFinalOrConst,
- this.count,
- this.beginToken,
- this.endToken})
+ required this.count,
+ required this.beginToken,
+ required this.endToken})
: super("MixinFields", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"abstractToken": abstractToken,
"externalToken": externalToken,
"staticToken": staticToken,
@@ -3484,12 +3516,12 @@
}
class DirectParserASTContentExtensionFieldsEnd extends DirectParserASTContent {
- final Token abstractToken;
- final Token externalToken;
- final Token staticToken;
- final Token covariantToken;
- final Token lateToken;
- final Token varFinalOrConst;
+ final Token? abstractToken;
+ final Token? externalToken;
+ final Token? staticToken;
+ final Token? covariantToken;
+ final Token? lateToken;
+ final Token? varFinalOrConst;
final int count;
final Token beginToken;
final Token endToken;
@@ -3501,12 +3533,12 @@
this.covariantToken,
this.lateToken,
this.varFinalOrConst,
- this.count,
- this.beginToken,
- this.endToken})
+ required this.count,
+ required this.beginToken,
+ required this.endToken})
: super("ExtensionFields", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"abstractToken": abstractToken,
"externalToken": externalToken,
"staticToken": staticToken,
@@ -3525,10 +3557,10 @@
DirectParserASTContentForInitializerEmptyStatementHandle(
DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ForInitializerEmptyStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3540,11 +3572,11 @@
DirectParserASTContentForInitializerExpressionStatementHandle(
DirectParserASTType type,
- {this.token,
- this.forIn})
+ {required this.token,
+ required this.forIn})
: super("ForInitializerExpressionStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
"forIn": forIn,
};
@@ -3557,11 +3589,11 @@
DirectParserASTContentForInitializerLocalVariableDeclarationHandle(
DirectParserASTType type,
- {this.token,
- this.forIn})
+ {required this.token,
+ required this.forIn})
: super("ForInitializerLocalVariableDeclaration", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
"forIn": forIn,
};
@@ -3571,10 +3603,10 @@
final Token token;
DirectParserASTContentForStatementBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ForStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3586,13 +3618,13 @@
final int updateExpressionCount;
DirectParserASTContentForLoopPartsHandle(DirectParserASTType type,
- {this.forKeyword,
- this.leftParen,
- this.leftSeparator,
- this.updateExpressionCount})
+ {required this.forKeyword,
+ required this.leftParen,
+ required this.leftSeparator,
+ required this.updateExpressionCount})
: super("ForLoopParts", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"forKeyword": forKeyword,
"leftParen": leftParen,
"leftSeparator": leftSeparator,
@@ -3604,10 +3636,10 @@
final Token endToken;
DirectParserASTContentForStatementEnd(DirectParserASTType type,
- {this.endToken})
+ {required this.endToken})
: super("ForStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"endToken": endToken,
};
}
@@ -3617,10 +3649,10 @@
final Token token;
DirectParserASTContentForStatementBodyBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ForStatementBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3629,26 +3661,29 @@
final Token token;
DirectParserASTContentForStatementBodyEnd(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ForStatementBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
class DirectParserASTContentForInLoopPartsHandle
extends DirectParserASTContent {
- final Token awaitToken;
+ final Token? awaitToken;
final Token forToken;
final Token leftParenthesis;
final Token inKeyword;
DirectParserASTContentForInLoopPartsHandle(DirectParserASTType type,
- {this.awaitToken, this.forToken, this.leftParenthesis, this.inKeyword})
+ {this.awaitToken,
+ required this.forToken,
+ required this.leftParenthesis,
+ required this.inKeyword})
: super("ForInLoopParts", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"awaitToken": awaitToken,
"forToken": forToken,
"leftParenthesis": leftParenthesis,
@@ -3659,10 +3694,11 @@
class DirectParserASTContentForInEnd extends DirectParserASTContent {
final Token endToken;
- DirectParserASTContentForInEnd(DirectParserASTType type, {this.endToken})
+ DirectParserASTContentForInEnd(DirectParserASTType type,
+ {required this.endToken})
: super("ForIn", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"endToken": endToken,
};
}
@@ -3672,10 +3708,10 @@
final Token token;
DirectParserASTContentForInExpressionBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ForInExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3684,10 +3720,10 @@
final Token token;
DirectParserASTContentForInExpressionEnd(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ForInExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3695,10 +3731,11 @@
class DirectParserASTContentForInBodyBegin extends DirectParserASTContent {
final Token token;
- DirectParserASTContentForInBodyBegin(DirectParserASTType type, {this.token})
+ DirectParserASTContentForInBodyBegin(DirectParserASTType type,
+ {required this.token})
: super("ForInBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3706,10 +3743,11 @@
class DirectParserASTContentForInBodyEnd extends DirectParserASTContent {
final Token token;
- DirectParserASTContentForInBodyEnd(DirectParserASTType type, {this.token})
+ DirectParserASTContentForInBodyEnd(DirectParserASTType type,
+ {required this.token})
: super("ForInBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3719,10 +3757,10 @@
final Token token;
DirectParserASTContentNamedFunctionExpressionBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("NamedFunctionExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3732,10 +3770,10 @@
final Token endToken;
DirectParserASTContentNamedFunctionExpressionEnd(DirectParserASTType type,
- {this.endToken})
+ {required this.endToken})
: super("NamedFunctionExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"endToken": endToken,
};
}
@@ -3745,10 +3783,10 @@
final Token token;
DirectParserASTContentLocalFunctionDeclarationBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("LocalFunctionDeclaration", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3758,10 +3796,10 @@
final Token endToken;
DirectParserASTContentLocalFunctionDeclarationEnd(DirectParserASTType type,
- {this.endToken})
+ {required this.endToken})
: super("LocalFunctionDeclaration", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"endToken": endToken,
};
}
@@ -3771,10 +3809,10 @@
final Token token;
DirectParserASTContentBlockFunctionBodyBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("BlockFunctionBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3786,10 +3824,10 @@
final Token endToken;
DirectParserASTContentBlockFunctionBodyEnd(DirectParserASTType type,
- {this.count, this.beginToken, this.endToken})
+ {required this.count, required this.beginToken, required this.endToken})
: super("BlockFunctionBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"count": count,
"beginToken": beginToken,
"endToken": endToken,
@@ -3801,10 +3839,10 @@
final Token token;
DirectParserASTContentNoFunctionBodyHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("NoFunctionBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3815,10 +3853,10 @@
final bool isExpressionBody;
DirectParserASTContentFunctionBodySkippedHandle(DirectParserASTType type,
- {this.token, this.isExpressionBody})
+ {required this.token, required this.isExpressionBody})
: super("FunctionBodySkipped", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
"isExpressionBody": isExpressionBody,
};
@@ -3828,10 +3866,10 @@
final Token token;
DirectParserASTContentFunctionNameBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("FunctionName", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3841,10 +3879,10 @@
final Token token;
DirectParserASTContentFunctionNameEnd(DirectParserASTType type,
- {this.beginToken, this.token})
+ {required this.beginToken, required this.token})
: super("FunctionName", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"beginToken": beginToken,
"token": token,
};
@@ -3855,10 +3893,10 @@
final Token token;
DirectParserASTContentFunctionTypeAliasBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("FunctionTypeAlias", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -3866,14 +3904,14 @@
class DirectParserASTContentFunctionTypeAliasEnd
extends DirectParserASTContent {
final Token typedefKeyword;
- final Token equals;
+ final Token? equals;
final Token endToken;
DirectParserASTContentFunctionTypeAliasEnd(DirectParserASTType type,
- {this.typedefKeyword, this.equals, this.endToken})
+ {required this.typedefKeyword, this.equals, required this.endToken})
: super("FunctionTypeAlias", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"typedefKeyword": typedefKeyword,
"equals": equals,
"endToken": endToken,
@@ -3885,10 +3923,10 @@
final Token withKeyword;
DirectParserASTContentClassWithClauseHandle(DirectParserASTType type,
- {this.withKeyword})
+ {required this.withKeyword})
: super("ClassWithClause", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"withKeyword": withKeyword,
};
}
@@ -3898,20 +3936,20 @@
DirectParserASTContentClassNoWithClauseHandle(DirectParserASTType type)
: super("ClassNoWithClause", type);
- Map<String, Object> get deprecatedArguments => {};
+ Map<String, Object?> get deprecatedArguments => {};
}
class DirectParserASTContentNamedMixinApplicationBegin
extends DirectParserASTContent {
final Token begin;
- final Token abstractToken;
+ final Token? abstractToken;
final Token name;
DirectParserASTContentNamedMixinApplicationBegin(DirectParserASTType type,
- {this.begin, this.abstractToken, this.name})
+ {required this.begin, this.abstractToken, required this.name})
: super("NamedMixinApplication", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"begin": begin,
"abstractToken": abstractToken,
"name": name,
@@ -3924,10 +3962,10 @@
DirectParserASTContentNamedMixinApplicationWithClauseHandle(
DirectParserASTType type,
- {this.withKeyword})
+ {required this.withKeyword})
: super("NamedMixinApplicationWithClause", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"withKeyword": withKeyword,
};
}
@@ -3937,18 +3975,18 @@
final Token begin;
final Token classKeyword;
final Token equals;
- final Token implementsKeyword;
+ final Token? implementsKeyword;
final Token endToken;
DirectParserASTContentNamedMixinApplicationEnd(DirectParserASTType type,
- {this.begin,
- this.classKeyword,
- this.equals,
+ {required this.begin,
+ required this.classKeyword,
+ required this.equals,
this.implementsKeyword,
- this.endToken})
+ required this.endToken})
: super("NamedMixinApplication", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"begin": begin,
"classKeyword": classKeyword,
"equals": equals,
@@ -3960,10 +3998,11 @@
class DirectParserASTContentHideBegin extends DirectParserASTContent {
final Token hideKeyword;
- DirectParserASTContentHideBegin(DirectParserASTType type, {this.hideKeyword})
+ DirectParserASTContentHideBegin(DirectParserASTType type,
+ {required this.hideKeyword})
: super("Hide", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"hideKeyword": hideKeyword,
};
}
@@ -3971,10 +4010,11 @@
class DirectParserASTContentHideEnd extends DirectParserASTContent {
final Token hideKeyword;
- DirectParserASTContentHideEnd(DirectParserASTType type, {this.hideKeyword})
+ DirectParserASTContentHideEnd(DirectParserASTType type,
+ {required this.hideKeyword})
: super("Hide", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"hideKeyword": hideKeyword,
};
}
@@ -3984,10 +4024,10 @@
final int count;
DirectParserASTContentIdentifierListHandle(DirectParserASTType type,
- {this.count})
+ {required this.count})
: super("IdentifierList", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"count": count,
};
}
@@ -3995,10 +4035,11 @@
class DirectParserASTContentTypeListBegin extends DirectParserASTContent {
final Token token;
- DirectParserASTContentTypeListBegin(DirectParserASTType type, {this.token})
+ DirectParserASTContentTypeListBegin(DirectParserASTType type,
+ {required this.token})
: super("TypeList", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4006,10 +4047,11 @@
class DirectParserASTContentTypeListEnd extends DirectParserASTContent {
final int count;
- DirectParserASTContentTypeListEnd(DirectParserASTType type, {this.count})
+ DirectParserASTContentTypeListEnd(DirectParserASTType type,
+ {required this.count})
: super("TypeList", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"count": count,
};
}
@@ -4017,23 +4059,24 @@
class DirectParserASTContentIfStatementBegin extends DirectParserASTContent {
final Token token;
- DirectParserASTContentIfStatementBegin(DirectParserASTType type, {this.token})
+ DirectParserASTContentIfStatementBegin(DirectParserASTType type,
+ {required this.token})
: super("IfStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
class DirectParserASTContentIfStatementEnd extends DirectParserASTContent {
final Token ifToken;
- final Token elseToken;
+ final Token? elseToken;
DirectParserASTContentIfStatementEnd(DirectParserASTType type,
- {this.ifToken, this.elseToken})
+ {required this.ifToken, this.elseToken})
: super("IfStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"ifToken": ifToken,
"elseToken": elseToken,
};
@@ -4043,10 +4086,10 @@
final Token token;
DirectParserASTContentThenStatementBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ThenStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4054,10 +4097,11 @@
class DirectParserASTContentThenStatementEnd extends DirectParserASTContent {
final Token token;
- DirectParserASTContentThenStatementEnd(DirectParserASTType type, {this.token})
+ DirectParserASTContentThenStatementEnd(DirectParserASTType type,
+ {required this.token})
: super("ThenStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4066,10 +4110,10 @@
final Token token;
DirectParserASTContentElseStatementBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ElseStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4077,10 +4121,11 @@
class DirectParserASTContentElseStatementEnd extends DirectParserASTContent {
final Token token;
- DirectParserASTContentElseStatementEnd(DirectParserASTType type, {this.token})
+ DirectParserASTContentElseStatementEnd(DirectParserASTType type,
+ {required this.token})
: super("ElseStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4089,23 +4134,23 @@
final Token importKeyword;
DirectParserASTContentImportBegin(DirectParserASTType type,
- {this.importKeyword})
+ {required this.importKeyword})
: super("Import", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"importKeyword": importKeyword,
};
}
class DirectParserASTContentImportPrefixHandle extends DirectParserASTContent {
- final Token deferredKeyword;
- final Token asKeyword;
+ final Token? deferredKeyword;
+ final Token? asKeyword;
DirectParserASTContentImportPrefixHandle(DirectParserASTType type,
{this.deferredKeyword, this.asKeyword})
: super("ImportPrefix", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"deferredKeyword": deferredKeyword,
"asKeyword": asKeyword,
};
@@ -4113,26 +4158,26 @@
class DirectParserASTContentImportEnd extends DirectParserASTContent {
final Token importKeyword;
- final Token semicolon;
+ final Token? semicolon;
DirectParserASTContentImportEnd(DirectParserASTType type,
- {this.importKeyword, this.semicolon})
+ {required this.importKeyword, this.semicolon})
: super("Import", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"importKeyword": importKeyword,
"semicolon": semicolon,
};
}
class DirectParserASTContentRecoverImportHandle extends DirectParserASTContent {
- final Token semicolon;
+ final Token? semicolon;
DirectParserASTContentRecoverImportHandle(DirectParserASTType type,
{this.semicolon})
: super("RecoverImport", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"semicolon": semicolon,
};
}
@@ -4142,10 +4187,10 @@
final Token token;
DirectParserASTContentConditionalUrisBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ConditionalUris", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4154,10 +4199,10 @@
final int count;
DirectParserASTContentConditionalUrisEnd(DirectParserASTType type,
- {this.count})
+ {required this.count})
: super("ConditionalUris", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"count": count,
};
}
@@ -4166,10 +4211,10 @@
final Token ifKeyword;
DirectParserASTContentConditionalUriBegin(DirectParserASTType type,
- {this.ifKeyword})
+ {required this.ifKeyword})
: super("ConditionalUri", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"ifKeyword": ifKeyword,
};
}
@@ -4177,13 +4222,13 @@
class DirectParserASTContentConditionalUriEnd extends DirectParserASTContent {
final Token ifKeyword;
final Token leftParen;
- final Token equalSign;
+ final Token? equalSign;
DirectParserASTContentConditionalUriEnd(DirectParserASTType type,
- {this.ifKeyword, this.leftParen, this.equalSign})
+ {required this.ifKeyword, required this.leftParen, this.equalSign})
: super("ConditionalUri", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"ifKeyword": ifKeyword,
"leftParen": leftParen,
"equalSign": equalSign,
@@ -4195,10 +4240,10 @@
final Token firstIdentifier;
DirectParserASTContentDottedNameHandle(DirectParserASTType type,
- {this.count, this.firstIdentifier})
+ {required this.count, required this.firstIdentifier})
: super("DottedName", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"count": count,
"firstIdentifier": firstIdentifier,
};
@@ -4210,10 +4255,10 @@
DirectParserASTContentImplicitCreationExpressionBegin(
DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ImplicitCreationExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4223,10 +4268,10 @@
final Token token;
DirectParserASTContentImplicitCreationExpressionEnd(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ImplicitCreationExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4236,10 +4281,10 @@
final Token token;
DirectParserASTContentInitializedIdentifierBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("InitializedIdentifier", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4249,10 +4294,10 @@
final Token nameToken;
DirectParserASTContentInitializedIdentifierEnd(DirectParserASTType type,
- {this.nameToken})
+ {required this.nameToken})
: super("InitializedIdentifier", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"nameToken": nameToken,
};
}
@@ -4262,10 +4307,10 @@
final Token token;
DirectParserASTContentFieldInitializerBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("FieldInitializer", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4275,10 +4320,10 @@
final Token token;
DirectParserASTContentFieldInitializerEnd(DirectParserASTType type,
- {this.assignment, this.token})
+ {required this.assignment, required this.token})
: super("FieldInitializer", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"assignment": assignment,
"token": token,
};
@@ -4289,10 +4334,10 @@
final Token token;
DirectParserASTContentNoFieldInitializerHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("NoFieldInitializer", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4302,10 +4347,10 @@
final Token token;
DirectParserASTContentVariableInitializerBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("VariableInitializer", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4315,10 +4360,10 @@
final Token assignmentOperator;
DirectParserASTContentVariableInitializerEnd(DirectParserASTType type,
- {this.assignmentOperator})
+ {required this.assignmentOperator})
: super("VariableInitializer", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"assignmentOperator": assignmentOperator,
};
}
@@ -4328,10 +4373,10 @@
final Token token;
DirectParserASTContentNoVariableInitializerHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("NoVariableInitializer", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4339,10 +4384,11 @@
class DirectParserASTContentInitializerBegin extends DirectParserASTContent {
final Token token;
- DirectParserASTContentInitializerBegin(DirectParserASTType type, {this.token})
+ DirectParserASTContentInitializerBegin(DirectParserASTType type,
+ {required this.token})
: super("Initializer", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4350,10 +4396,11 @@
class DirectParserASTContentInitializerEnd extends DirectParserASTContent {
final Token token;
- DirectParserASTContentInitializerEnd(DirectParserASTType type, {this.token})
+ DirectParserASTContentInitializerEnd(DirectParserASTType type,
+ {required this.token})
: super("Initializer", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4362,10 +4409,10 @@
final Token token;
DirectParserASTContentInitializersBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("Initializers", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4376,10 +4423,10 @@
final Token endToken;
DirectParserASTContentInitializersEnd(DirectParserASTType type,
- {this.count, this.beginToken, this.endToken})
+ {required this.count, required this.beginToken, required this.endToken})
: super("Initializers", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"count": count,
"beginToken": beginToken,
"endToken": endToken,
@@ -4391,7 +4438,7 @@
DirectParserASTContentNoInitializersHandle(DirectParserASTType type)
: super("NoInitializers", type);
- Map<String, Object> get deprecatedArguments => {};
+ Map<String, Object?> get deprecatedArguments => {};
}
class DirectParserASTContentInvalidExpressionHandle
@@ -4399,10 +4446,10 @@
final Token token;
DirectParserASTContentInvalidExpressionHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("InvalidExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4412,10 +4459,10 @@
final Token token;
DirectParserASTContentInvalidFunctionBodyHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("InvalidFunctionBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4425,10 +4472,10 @@
final Token token;
DirectParserASTContentInvalidTypeReferenceHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("InvalidTypeReference", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4436,10 +4483,11 @@
class DirectParserASTContentLabelHandle extends DirectParserASTContent {
final Token token;
- DirectParserASTContentLabelHandle(DirectParserASTType type, {this.token})
+ DirectParserASTContentLabelHandle(DirectParserASTType type,
+ {required this.token})
: super("Label", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4450,10 +4498,10 @@
final int labelCount;
DirectParserASTContentLabeledStatementBegin(DirectParserASTType type,
- {this.token, this.labelCount})
+ {required this.token, required this.labelCount})
: super("LabeledStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
"labelCount": labelCount,
};
@@ -4463,10 +4511,10 @@
final int labelCount;
DirectParserASTContentLabeledStatementEnd(DirectParserASTType type,
- {this.labelCount})
+ {required this.labelCount})
: super("LabeledStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"labelCount": labelCount,
};
}
@@ -4474,10 +4522,11 @@
class DirectParserASTContentLibraryNameBegin extends DirectParserASTContent {
final Token token;
- DirectParserASTContentLibraryNameBegin(DirectParserASTType type, {this.token})
+ DirectParserASTContentLibraryNameBegin(DirectParserASTType type,
+ {required this.token})
: super("LibraryName", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4487,10 +4536,10 @@
final Token semicolon;
DirectParserASTContentLibraryNameEnd(DirectParserASTType type,
- {this.libraryKeyword, this.semicolon})
+ {required this.libraryKeyword, required this.semicolon})
: super("LibraryName", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"libraryKeyword": libraryKeyword,
"semicolon": semicolon,
};
@@ -4502,10 +4551,10 @@
final Token endToken;
DirectParserASTContentLiteralMapEntryHandle(DirectParserASTType type,
- {this.colon, this.endToken})
+ {required this.colon, required this.endToken})
: super("LiteralMapEntry", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"colon": colon,
"endToken": endToken,
};
@@ -4515,10 +4564,10 @@
final Token token;
DirectParserASTContentLiteralStringBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("LiteralString", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4526,13 +4575,13 @@
class DirectParserASTContentInterpolationExpressionHandle
extends DirectParserASTContent {
final Token leftBracket;
- final Token rightBracket;
+ final Token? rightBracket;
DirectParserASTContentInterpolationExpressionHandle(DirectParserASTType type,
- {this.leftBracket, this.rightBracket})
+ {required this.leftBracket, this.rightBracket})
: super("InterpolationExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"leftBracket": leftBracket,
"rightBracket": rightBracket,
};
@@ -4543,10 +4592,10 @@
final Token endToken;
DirectParserASTContentLiteralStringEnd(DirectParserASTType type,
- {this.interpolationCount, this.endToken})
+ {required this.interpolationCount, required this.endToken})
: super("LiteralString", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"interpolationCount": interpolationCount,
"endToken": endToken,
};
@@ -4558,10 +4607,10 @@
final int literalCount;
DirectParserASTContentStringJuxtapositionHandle(DirectParserASTType type,
- {this.startToken, this.literalCount})
+ {required this.startToken, required this.literalCount})
: super("StringJuxtaposition", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"startToken": startToken,
"literalCount": literalCount,
};
@@ -4571,17 +4620,17 @@
DirectParserASTContentMemberBegin(DirectParserASTType type)
: super("Member", type);
- Map<String, Object> get deprecatedArguments => {};
+ Map<String, Object?> get deprecatedArguments => {};
}
class DirectParserASTContentInvalidMemberHandle extends DirectParserASTContent {
final Token endToken;
DirectParserASTContentInvalidMemberHandle(DirectParserASTType type,
- {this.endToken})
+ {required this.endToken})
: super("InvalidMember", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"endToken": endToken,
};
}
@@ -4590,15 +4639,15 @@
DirectParserASTContentMemberEnd(DirectParserASTType type)
: super("Member", type);
- Map<String, Object> get deprecatedArguments => {};
+ Map<String, Object?> get deprecatedArguments => {};
}
class DirectParserASTContentMethodBegin extends DirectParserASTContent {
- final Token externalToken;
- final Token staticToken;
- final Token covariantToken;
- final Token varFinalOrConst;
- final Token getOrSet;
+ final Token? externalToken;
+ final Token? staticToken;
+ final Token? covariantToken;
+ final Token? varFinalOrConst;
+ final Token? getOrSet;
final Token name;
DirectParserASTContentMethodBegin(DirectParserASTType type,
@@ -4607,10 +4656,10 @@
this.covariantToken,
this.varFinalOrConst,
this.getOrSet,
- this.name})
+ required this.name})
: super("Method", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"externalToken": externalToken,
"staticToken": staticToken,
"covariantToken": covariantToken,
@@ -4621,21 +4670,21 @@
}
class DirectParserASTContentClassMethodEnd extends DirectParserASTContent {
- final Token getOrSet;
+ final Token? getOrSet;
final Token beginToken;
final Token beginParam;
- final Token beginInitializers;
+ final Token? beginInitializers;
final Token endToken;
DirectParserASTContentClassMethodEnd(DirectParserASTType type,
{this.getOrSet,
- this.beginToken,
- this.beginParam,
+ required this.beginToken,
+ required this.beginParam,
this.beginInitializers,
- this.endToken})
+ required this.endToken})
: super("ClassMethod", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"getOrSet": getOrSet,
"beginToken": beginToken,
"beginParam": beginParam,
@@ -4645,21 +4694,21 @@
}
class DirectParserASTContentMixinMethodEnd extends DirectParserASTContent {
- final Token getOrSet;
+ final Token? getOrSet;
final Token beginToken;
final Token beginParam;
- final Token beginInitializers;
+ final Token? beginInitializers;
final Token endToken;
DirectParserASTContentMixinMethodEnd(DirectParserASTType type,
{this.getOrSet,
- this.beginToken,
- this.beginParam,
+ required this.beginToken,
+ required this.beginParam,
this.beginInitializers,
- this.endToken})
+ required this.endToken})
: super("MixinMethod", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"getOrSet": getOrSet,
"beginToken": beginToken,
"beginParam": beginParam,
@@ -4669,21 +4718,21 @@
}
class DirectParserASTContentExtensionMethodEnd extends DirectParserASTContent {
- final Token getOrSet;
+ final Token? getOrSet;
final Token beginToken;
final Token beginParam;
- final Token beginInitializers;
+ final Token? beginInitializers;
final Token endToken;
DirectParserASTContentExtensionMethodEnd(DirectParserASTType type,
{this.getOrSet,
- this.beginToken,
- this.beginParam,
+ required this.beginToken,
+ required this.beginParam,
this.beginInitializers,
- this.endToken})
+ required this.endToken})
: super("ExtensionMethod", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"getOrSet": getOrSet,
"beginToken": beginToken,
"beginParam": beginParam,
@@ -4693,21 +4742,21 @@
}
class DirectParserASTContentClassConstructorEnd extends DirectParserASTContent {
- final Token getOrSet;
+ final Token? getOrSet;
final Token beginToken;
final Token beginParam;
- final Token beginInitializers;
+ final Token? beginInitializers;
final Token endToken;
DirectParserASTContentClassConstructorEnd(DirectParserASTType type,
{this.getOrSet,
- this.beginToken,
- this.beginParam,
+ required this.beginToken,
+ required this.beginParam,
this.beginInitializers,
- this.endToken})
+ required this.endToken})
: super("ClassConstructor", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"getOrSet": getOrSet,
"beginToken": beginToken,
"beginParam": beginParam,
@@ -4717,21 +4766,21 @@
}
class DirectParserASTContentMixinConstructorEnd extends DirectParserASTContent {
- final Token getOrSet;
+ final Token? getOrSet;
final Token beginToken;
final Token beginParam;
- final Token beginInitializers;
+ final Token? beginInitializers;
final Token endToken;
DirectParserASTContentMixinConstructorEnd(DirectParserASTType type,
{this.getOrSet,
- this.beginToken,
- this.beginParam,
+ required this.beginToken,
+ required this.beginParam,
this.beginInitializers,
- this.endToken})
+ required this.endToken})
: super("MixinConstructor", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"getOrSet": getOrSet,
"beginToken": beginToken,
"beginParam": beginParam,
@@ -4742,21 +4791,21 @@
class DirectParserASTContentExtensionConstructorEnd
extends DirectParserASTContent {
- final Token getOrSet;
+ final Token? getOrSet;
final Token beginToken;
final Token beginParam;
- final Token beginInitializers;
+ final Token? beginInitializers;
final Token endToken;
DirectParserASTContentExtensionConstructorEnd(DirectParserASTType type,
{this.getOrSet,
- this.beginToken,
- this.beginParam,
+ required this.beginToken,
+ required this.beginParam,
this.beginInitializers,
- this.endToken})
+ required this.endToken})
: super("ExtensionConstructor", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"getOrSet": getOrSet,
"beginToken": beginToken,
"beginParam": beginParam,
@@ -4769,10 +4818,10 @@
final Token token;
DirectParserASTContentMetadataStarBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("MetadataStar", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4780,10 +4829,11 @@
class DirectParserASTContentMetadataStarEnd extends DirectParserASTContent {
final int count;
- DirectParserASTContentMetadataStarEnd(DirectParserASTType type, {this.count})
+ DirectParserASTContentMetadataStarEnd(DirectParserASTType type,
+ {required this.count})
: super("MetadataStar", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"count": count,
};
}
@@ -4791,24 +4841,25 @@
class DirectParserASTContentMetadataBegin extends DirectParserASTContent {
final Token token;
- DirectParserASTContentMetadataBegin(DirectParserASTType type, {this.token})
+ DirectParserASTContentMetadataBegin(DirectParserASTType type,
+ {required this.token})
: super("Metadata", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
class DirectParserASTContentMetadataEnd extends DirectParserASTContent {
final Token beginToken;
- final Token periodBeforeName;
+ final Token? periodBeforeName;
final Token endToken;
DirectParserASTContentMetadataEnd(DirectParserASTType type,
- {this.beginToken, this.periodBeforeName, this.endToken})
+ {required this.beginToken, this.periodBeforeName, required this.endToken})
: super("Metadata", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"beginToken": beginToken,
"periodBeforeName": periodBeforeName,
"endToken": endToken,
@@ -4820,10 +4871,10 @@
final Token token;
DirectParserASTContentOptionalFormalParametersBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("OptionalFormalParameters", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4835,10 +4886,10 @@
final Token endToken;
DirectParserASTContentOptionalFormalParametersEnd(DirectParserASTType type,
- {this.count, this.beginToken, this.endToken})
+ {required this.count, required this.beginToken, required this.endToken})
: super("OptionalFormalParameters", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"count": count,
"beginToken": beginToken,
"endToken": endToken,
@@ -4848,10 +4899,11 @@
class DirectParserASTContentPartBegin extends DirectParserASTContent {
final Token token;
- DirectParserASTContentPartBegin(DirectParserASTType type, {this.token})
+ DirectParserASTContentPartBegin(DirectParserASTType type,
+ {required this.token})
: super("Part", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4861,10 +4913,10 @@
final Token semicolon;
DirectParserASTContentPartEnd(DirectParserASTType type,
- {this.partKeyword, this.semicolon})
+ {required this.partKeyword, required this.semicolon})
: super("Part", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"partKeyword": partKeyword,
"semicolon": semicolon,
};
@@ -4873,10 +4925,11 @@
class DirectParserASTContentPartOfBegin extends DirectParserASTContent {
final Token token;
- DirectParserASTContentPartOfBegin(DirectParserASTType type, {this.token})
+ DirectParserASTContentPartOfBegin(DirectParserASTType type,
+ {required this.token})
: super("PartOf", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4888,10 +4941,13 @@
final bool hasName;
DirectParserASTContentPartOfEnd(DirectParserASTType type,
- {this.partKeyword, this.ofKeyword, this.semicolon, this.hasName})
+ {required this.partKeyword,
+ required this.ofKeyword,
+ required this.semicolon,
+ required this.hasName})
: super("PartOf", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"partKeyword": partKeyword,
"ofKeyword": ofKeyword,
"semicolon": semicolon,
@@ -4904,10 +4960,10 @@
final Token token;
DirectParserASTContentRedirectingFactoryBodyBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("RedirectingFactoryBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4918,10 +4974,10 @@
final Token endToken;
DirectParserASTContentRedirectingFactoryBodyEnd(DirectParserASTType type,
- {this.beginToken, this.endToken})
+ {required this.beginToken, required this.endToken})
: super("RedirectingFactoryBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"beginToken": beginToken,
"endToken": endToken,
};
@@ -4932,10 +4988,10 @@
final Token token;
DirectParserASTContentReturnStatementBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ReturnStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -4946,10 +5002,10 @@
final Token semicolon;
DirectParserASTContentNativeFunctionBodyHandle(DirectParserASTType type,
- {this.nativeToken, this.semicolon})
+ {required this.nativeToken, required this.semicolon})
: super("NativeFunctionBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"nativeToken": nativeToken,
"semicolon": semicolon,
};
@@ -4962,11 +5018,11 @@
DirectParserASTContentNativeFunctionBodyIgnoredHandle(
DirectParserASTType type,
- {this.nativeToken,
- this.semicolon})
+ {required this.nativeToken,
+ required this.semicolon})
: super("NativeFunctionBodyIgnored", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"nativeToken": nativeToken,
"semicolon": semicolon,
};
@@ -4979,11 +5035,11 @@
DirectParserASTContentNativeFunctionBodySkippedHandle(
DirectParserASTType type,
- {this.nativeToken,
- this.semicolon})
+ {required this.nativeToken,
+ required this.semicolon})
: super("NativeFunctionBodySkipped", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"nativeToken": nativeToken,
"semicolon": semicolon,
};
@@ -4994,10 +5050,10 @@
final Token semicolon;
DirectParserASTContentEmptyFunctionBodyHandle(DirectParserASTType type,
- {this.semicolon})
+ {required this.semicolon})
: super("EmptyFunctionBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"semicolon": semicolon,
};
}
@@ -5005,13 +5061,13 @@
class DirectParserASTContentExpressionFunctionBodyHandle
extends DirectParserASTContent {
final Token arrowToken;
- final Token endToken;
+ final Token? endToken;
DirectParserASTContentExpressionFunctionBodyHandle(DirectParserASTType type,
- {this.arrowToken, this.endToken})
+ {required this.arrowToken, this.endToken})
: super("ExpressionFunctionBody", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"arrowToken": arrowToken,
"endToken": endToken,
};
@@ -5023,10 +5079,12 @@
final Token endToken;
DirectParserASTContentReturnStatementEnd(DirectParserASTType type,
- {this.hasExpression, this.beginToken, this.endToken})
+ {required this.hasExpression,
+ required this.beginToken,
+ required this.endToken})
: super("ReturnStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"hasExpression": hasExpression,
"beginToken": beginToken,
"endToken": endToken,
@@ -5038,10 +5096,10 @@
final Token endToken;
DirectParserASTContentSendHandle(DirectParserASTType type,
- {this.beginToken, this.endToken})
+ {required this.beginToken, required this.endToken})
: super("Send", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"beginToken": beginToken,
"endToken": endToken,
};
@@ -5050,10 +5108,11 @@
class DirectParserASTContentShowBegin extends DirectParserASTContent {
final Token showKeyword;
- DirectParserASTContentShowBegin(DirectParserASTType type, {this.showKeyword})
+ DirectParserASTContentShowBegin(DirectParserASTType type,
+ {required this.showKeyword})
: super("Show", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"showKeyword": showKeyword,
};
}
@@ -5061,10 +5120,11 @@
class DirectParserASTContentShowEnd extends DirectParserASTContent {
final Token showKeyword;
- DirectParserASTContentShowEnd(DirectParserASTType type, {this.showKeyword})
+ DirectParserASTContentShowEnd(DirectParserASTType type,
+ {required this.showKeyword})
: super("Show", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"showKeyword": showKeyword,
};
}
@@ -5074,10 +5134,10 @@
final Token token;
DirectParserASTContentSwitchStatementBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("SwitchStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5087,10 +5147,10 @@
final Token endToken;
DirectParserASTContentSwitchStatementEnd(DirectParserASTType type,
- {this.switchKeyword, this.endToken})
+ {required this.switchKeyword, required this.endToken})
: super("SwitchStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"switchKeyword": switchKeyword,
"endToken": endToken,
};
@@ -5099,10 +5159,11 @@
class DirectParserASTContentSwitchBlockBegin extends DirectParserASTContent {
final Token token;
- DirectParserASTContentSwitchBlockBegin(DirectParserASTType type, {this.token})
+ DirectParserASTContentSwitchBlockBegin(DirectParserASTType type,
+ {required this.token})
: super("SwitchBlock", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5113,10 +5174,12 @@
final Token endToken;
DirectParserASTContentSwitchBlockEnd(DirectParserASTType type,
- {this.caseCount, this.beginToken, this.endToken})
+ {required this.caseCount,
+ required this.beginToken,
+ required this.endToken})
: super("SwitchBlock", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"caseCount": caseCount,
"beginToken": beginToken,
"endToken": endToken,
@@ -5127,10 +5190,10 @@
final Token token;
DirectParserASTContentLiteralSymbolBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("LiteralSymbol", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5140,10 +5203,10 @@
final int identifierCount;
DirectParserASTContentLiteralSymbolEnd(DirectParserASTType type,
- {this.hashToken, this.identifierCount})
+ {required this.hashToken, required this.identifierCount})
: super("LiteralSymbol", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"hashToken": hashToken,
"identifierCount": identifierCount,
};
@@ -5155,10 +5218,10 @@
final Token endToken;
DirectParserASTContentThrowExpressionHandle(DirectParserASTType type,
- {this.throwToken, this.endToken})
+ {required this.throwToken, required this.endToken})
: super("ThrowExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"throwToken": throwToken,
"endToken": endToken,
};
@@ -5169,10 +5232,10 @@
final Token token;
DirectParserASTContentRethrowStatementBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("RethrowStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5182,10 +5245,10 @@
final Token endToken;
DirectParserASTContentRethrowStatementEnd(DirectParserASTType type,
- {this.rethrowToken, this.endToken})
+ {required this.rethrowToken, required this.endToken})
: super("RethrowStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"rethrowToken": rethrowToken,
"endToken": endToken,
};
@@ -5196,10 +5259,10 @@
final Token nextToken;
DirectParserASTContentTopLevelDeclarationEnd(DirectParserASTType type,
- {this.nextToken})
+ {required this.nextToken})
: super("TopLevelDeclaration", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"nextToken": nextToken,
};
}
@@ -5210,10 +5273,10 @@
DirectParserASTContentInvalidTopLevelDeclarationHandle(
DirectParserASTType type,
- {this.endToken})
+ {required this.endToken})
: super("InvalidTopLevelDeclaration", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"endToken": endToken,
};
}
@@ -5222,10 +5285,10 @@
final Token token;
DirectParserASTContentTopLevelMemberBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("TopLevelMember", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5234,20 +5297,20 @@
final Token lastConsumed;
DirectParserASTContentFieldsBegin(DirectParserASTType type,
- {this.lastConsumed})
+ {required this.lastConsumed})
: super("Fields", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"lastConsumed": lastConsumed,
};
}
class DirectParserASTContentTopLevelFieldsEnd extends DirectParserASTContent {
- final Token externalToken;
- final Token staticToken;
- final Token covariantToken;
- final Token lateToken;
- final Token varFinalOrConst;
+ final Token? externalToken;
+ final Token? staticToken;
+ final Token? covariantToken;
+ final Token? lateToken;
+ final Token? varFinalOrConst;
final int count;
final Token beginToken;
final Token endToken;
@@ -5258,12 +5321,12 @@
this.covariantToken,
this.lateToken,
this.varFinalOrConst,
- this.count,
- this.beginToken,
- this.endToken})
+ required this.count,
+ required this.beginToken,
+ required this.endToken})
: super("TopLevelFields", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"externalToken": externalToken,
"staticToken": staticToken,
"covariantToken": covariantToken,
@@ -5277,13 +5340,13 @@
class DirectParserASTContentTopLevelMethodBegin extends DirectParserASTContent {
final Token lastConsumed;
- final Token externalToken;
+ final Token? externalToken;
DirectParserASTContentTopLevelMethodBegin(DirectParserASTType type,
- {this.lastConsumed, this.externalToken})
+ {required this.lastConsumed, this.externalToken})
: super("TopLevelMethod", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"lastConsumed": lastConsumed,
"externalToken": externalToken,
};
@@ -5291,14 +5354,14 @@
class DirectParserASTContentTopLevelMethodEnd extends DirectParserASTContent {
final Token beginToken;
- final Token getOrSet;
+ final Token? getOrSet;
final Token endToken;
DirectParserASTContentTopLevelMethodEnd(DirectParserASTType type,
- {this.beginToken, this.getOrSet, this.endToken})
+ {required this.beginToken, this.getOrSet, required this.endToken})
: super("TopLevelMethod", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"beginToken": beginToken,
"getOrSet": getOrSet,
"endToken": endToken,
@@ -5309,10 +5372,10 @@
final Token token;
DirectParserASTContentTryStatementBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("TryStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5322,10 +5385,10 @@
final Token colon;
DirectParserASTContentCaseMatchHandle(DirectParserASTType type,
- {this.caseKeyword, this.colon})
+ {required this.caseKeyword, required this.colon})
: super("CaseMatch", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"caseKeyword": caseKeyword,
"colon": colon,
};
@@ -5334,10 +5397,11 @@
class DirectParserASTContentCatchClauseBegin extends DirectParserASTContent {
final Token token;
- DirectParserASTContentCatchClauseBegin(DirectParserASTType type, {this.token})
+ DirectParserASTContentCatchClauseBegin(DirectParserASTType type,
+ {required this.token})
: super("CatchClause", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5345,24 +5409,25 @@
class DirectParserASTContentCatchClauseEnd extends DirectParserASTContent {
final Token token;
- DirectParserASTContentCatchClauseEnd(DirectParserASTType type, {this.token})
+ DirectParserASTContentCatchClauseEnd(DirectParserASTType type,
+ {required this.token})
: super("CatchClause", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
class DirectParserASTContentCatchBlockHandle extends DirectParserASTContent {
- final Token onKeyword;
- final Token catchKeyword;
- final Token comma;
+ final Token? onKeyword;
+ final Token? catchKeyword;
+ final Token? comma;
DirectParserASTContentCatchBlockHandle(DirectParserASTType type,
{this.onKeyword, this.catchKeyword, this.comma})
: super("CatchBlock", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"onKeyword": onKeyword,
"catchKeyword": catchKeyword,
"comma": comma,
@@ -5373,10 +5438,10 @@
final Token finallyKeyword;
DirectParserASTContentFinallyBlockHandle(DirectParserASTType type,
- {this.finallyKeyword})
+ {required this.finallyKeyword})
: super("FinallyBlock", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"finallyKeyword": finallyKeyword,
};
}
@@ -5384,13 +5449,13 @@
class DirectParserASTContentTryStatementEnd extends DirectParserASTContent {
final int catchCount;
final Token tryKeyword;
- final Token finallyKeyword;
+ final Token? finallyKeyword;
DirectParserASTContentTryStatementEnd(DirectParserASTType type,
- {this.catchCount, this.tryKeyword, this.finallyKeyword})
+ {required this.catchCount, required this.tryKeyword, this.finallyKeyword})
: super("TryStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"catchCount": catchCount,
"tryKeyword": tryKeyword,
"finallyKeyword": finallyKeyword,
@@ -5399,13 +5464,13 @@
class DirectParserASTContentTypeHandle extends DirectParserASTContent {
final Token beginToken;
- final Token questionMark;
+ final Token? questionMark;
DirectParserASTContentTypeHandle(DirectParserASTType type,
- {this.beginToken, this.questionMark})
+ {required this.beginToken, this.questionMark})
: super("Type", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"beginToken": beginToken,
"questionMark": questionMark,
};
@@ -5416,10 +5481,10 @@
final Token bang;
DirectParserASTContentNonNullAssertExpressionHandle(DirectParserASTType type,
- {this.bang})
+ {required this.bang})
: super("NonNullAssertExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"bang": bang,
};
}
@@ -5427,10 +5492,11 @@
class DirectParserASTContentNoNameHandle extends DirectParserASTContent {
final Token token;
- DirectParserASTContentNoNameHandle(DirectParserASTType type, {this.token})
+ DirectParserASTContentNoNameHandle(DirectParserASTType type,
+ {required this.token})
: super("NoName", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5439,23 +5505,23 @@
final Token beginToken;
DirectParserASTContentFunctionTypeBegin(DirectParserASTType type,
- {this.beginToken})
+ {required this.beginToken})
: super("FunctionType", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"beginToken": beginToken,
};
}
class DirectParserASTContentFunctionTypeEnd extends DirectParserASTContent {
final Token functionToken;
- final Token questionMark;
+ final Token? questionMark;
DirectParserASTContentFunctionTypeEnd(DirectParserASTType type,
- {this.functionToken, this.questionMark})
+ {required this.functionToken, this.questionMark})
: super("FunctionType", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"functionToken": functionToken,
"questionMark": questionMark,
};
@@ -5465,10 +5531,10 @@
final Token token;
DirectParserASTContentTypeArgumentsBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("TypeArguments", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5479,10 +5545,10 @@
final Token endToken;
DirectParserASTContentTypeArgumentsEnd(DirectParserASTType type,
- {this.count, this.beginToken, this.endToken})
+ {required this.count, required this.beginToken, required this.endToken})
: super("TypeArguments", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"count": count,
"beginToken": beginToken,
"endToken": endToken,
@@ -5494,10 +5560,10 @@
final Token token;
DirectParserASTContentInvalidTypeArgumentsHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("InvalidTypeArguments", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5507,10 +5573,10 @@
final Token token;
DirectParserASTContentNoTypeArgumentsHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("NoTypeArguments", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5519,10 +5585,10 @@
final Token token;
DirectParserASTContentTypeVariableBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("TypeVariable", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5533,10 +5599,10 @@
final int count;
DirectParserASTContentTypeVariablesDefinedHandle(DirectParserASTType type,
- {this.token, this.count})
+ {required this.token, required this.count})
: super("TypeVariablesDefined", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
"count": count,
};
@@ -5545,14 +5611,17 @@
class DirectParserASTContentTypeVariableEnd extends DirectParserASTContent {
final Token token;
final int index;
- final Token extendsOrSuper;
- final Token variance;
+ final Token? extendsOrSuper;
+ final Token? variance;
DirectParserASTContentTypeVariableEnd(DirectParserASTType type,
- {this.token, this.index, this.extendsOrSuper, this.variance})
+ {required this.token,
+ required this.index,
+ this.extendsOrSuper,
+ this.variance})
: super("TypeVariable", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
"index": index,
"extendsOrSuper": extendsOrSuper,
@@ -5564,10 +5633,10 @@
final Token token;
DirectParserASTContentTypeVariablesBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("TypeVariables", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5577,10 +5646,10 @@
final Token endToken;
DirectParserASTContentTypeVariablesEnd(DirectParserASTType type,
- {this.beginToken, this.endToken})
+ {required this.beginToken, required this.endToken})
: super("TypeVariables", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"beginToken": beginToken,
"endToken": endToken,
};
@@ -5591,10 +5660,10 @@
final Token token;
DirectParserASTContentFunctionExpressionBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("FunctionExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5605,10 +5674,10 @@
final Token token;
DirectParserASTContentFunctionExpressionEnd(DirectParserASTType type,
- {this.beginToken, this.token})
+ {required this.beginToken, required this.token})
: super("FunctionExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"beginToken": beginToken,
"token": token,
};
@@ -5617,14 +5686,14 @@
class DirectParserASTContentVariablesDeclarationBegin
extends DirectParserASTContent {
final Token token;
- final Token lateToken;
- final Token varFinalOrConst;
+ final Token? lateToken;
+ final Token? varFinalOrConst;
DirectParserASTContentVariablesDeclarationBegin(DirectParserASTType type,
- {this.token, this.lateToken, this.varFinalOrConst})
+ {required this.token, this.lateToken, this.varFinalOrConst})
: super("VariablesDeclaration", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
"lateToken": lateToken,
"varFinalOrConst": varFinalOrConst,
@@ -5634,13 +5703,13 @@
class DirectParserASTContentVariablesDeclarationEnd
extends DirectParserASTContent {
final int count;
- final Token endToken;
+ final Token? endToken;
DirectParserASTContentVariablesDeclarationEnd(DirectParserASTType type,
- {this.count, this.endToken})
+ {required this.count, this.endToken})
: super("VariablesDeclaration", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"count": count,
"endToken": endToken,
};
@@ -5650,10 +5719,10 @@
final Token token;
DirectParserASTContentWhileStatementBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("WhileStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5663,10 +5732,10 @@
final Token endToken;
DirectParserASTContentWhileStatementEnd(DirectParserASTType type,
- {this.whileKeyword, this.endToken})
+ {required this.whileKeyword, required this.endToken})
: super("WhileStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"whileKeyword": whileKeyword,
"endToken": endToken,
};
@@ -5676,10 +5745,10 @@
final Token operator;
DirectParserASTContentAsOperatorTypeBegin(DirectParserASTType type,
- {this.operator})
+ {required this.operator})
: super("AsOperatorType", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"operator": operator,
};
}
@@ -5688,10 +5757,10 @@
final Token operator;
DirectParserASTContentAsOperatorTypeEnd(DirectParserASTType type,
- {this.operator})
+ {required this.operator})
: super("AsOperatorType", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"operator": operator,
};
}
@@ -5700,10 +5769,10 @@
final Token operator;
DirectParserASTContentAsOperatorHandle(DirectParserASTType type,
- {this.operator})
+ {required this.operator})
: super("AsOperator", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"operator": operator,
};
}
@@ -5713,10 +5782,10 @@
final Token token;
DirectParserASTContentAssignmentExpressionHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("AssignmentExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5726,10 +5795,10 @@
final Token token;
DirectParserASTContentBinaryExpressionBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("BinaryExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5738,10 +5807,10 @@
final Token token;
DirectParserASTContentBinaryExpressionEnd(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("BinaryExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5751,10 +5820,10 @@
final Token token;
DirectParserASTContentEndingBinaryExpressionHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("EndingBinaryExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5764,10 +5833,10 @@
final Token question;
DirectParserASTContentConditionalExpressionBegin(DirectParserASTType type,
- {this.question})
+ {required this.question})
: super("ConditionalExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"question": question,
};
}
@@ -5778,7 +5847,7 @@
DirectParserASTType type)
: super("ConditionalExpressionColon", type);
- Map<String, Object> get deprecatedArguments => {};
+ Map<String, Object?> get deprecatedArguments => {};
}
class DirectParserASTContentConditionalExpressionEnd
@@ -5787,10 +5856,10 @@
final Token colon;
DirectParserASTContentConditionalExpressionEnd(DirectParserASTType type,
- {this.question, this.colon})
+ {required this.question, required this.colon})
: super("ConditionalExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"question": question,
"colon": colon,
};
@@ -5801,10 +5870,10 @@
final Token constKeyword;
DirectParserASTContentConstExpressionBegin(DirectParserASTType type,
- {this.constKeyword})
+ {required this.constKeyword})
: super("ConstExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"constKeyword": constKeyword,
};
}
@@ -5813,10 +5882,10 @@
final Token token;
DirectParserASTContentConstExpressionEnd(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ConstExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5825,23 +5894,23 @@
final Token constKeyword;
DirectParserASTContentConstFactoryHandle(DirectParserASTType type,
- {this.constKeyword})
+ {required this.constKeyword})
: super("ConstFactory", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"constKeyword": constKeyword,
};
}
class DirectParserASTContentForControlFlowBegin extends DirectParserASTContent {
- final Token awaitToken;
+ final Token? awaitToken;
final Token forToken;
DirectParserASTContentForControlFlowBegin(DirectParserASTType type,
- {this.awaitToken, this.forToken})
+ {this.awaitToken, required this.forToken})
: super("ForControlFlow", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"awaitToken": awaitToken,
"forToken": forToken,
};
@@ -5851,10 +5920,10 @@
final Token token;
DirectParserASTContentForControlFlowEnd(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ForControlFlow", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5863,10 +5932,10 @@
final Token token;
DirectParserASTContentForInControlFlowEnd(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ForInControlFlow", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5875,10 +5944,10 @@
final Token ifToken;
DirectParserASTContentIfControlFlowBegin(DirectParserASTType type,
- {this.ifToken})
+ {required this.ifToken})
: super("IfControlFlow", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"ifToken": ifToken,
};
}
@@ -5888,10 +5957,10 @@
final Token token;
DirectParserASTContentThenControlFlowHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ThenControlFlow", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5901,10 +5970,10 @@
final Token elseToken;
DirectParserASTContentElseControlFlowHandle(DirectParserASTType type,
- {this.elseToken})
+ {required this.elseToken})
: super("ElseControlFlow", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"elseToken": elseToken,
};
}
@@ -5912,10 +5981,11 @@
class DirectParserASTContentIfControlFlowEnd extends DirectParserASTContent {
final Token token;
- DirectParserASTContentIfControlFlowEnd(DirectParserASTType type, {this.token})
+ DirectParserASTContentIfControlFlowEnd(DirectParserASTType type,
+ {required this.token})
: super("IfControlFlow", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5925,10 +5995,10 @@
final Token token;
DirectParserASTContentIfElseControlFlowEnd(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("IfElseControlFlow", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5938,10 +6008,10 @@
final Token spreadToken;
DirectParserASTContentSpreadExpressionHandle(DirectParserASTType type,
- {this.spreadToken})
+ {required this.spreadToken})
: super("SpreadExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"spreadToken": spreadToken,
};
}
@@ -5952,10 +6022,10 @@
DirectParserASTContentFunctionTypedFormalParameterBegin(
DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("FunctionTypedFormalParameter", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -5963,15 +6033,15 @@
class DirectParserASTContentFunctionTypedFormalParameterEnd
extends DirectParserASTContent {
final Token nameToken;
- final Token question;
+ final Token? question;
DirectParserASTContentFunctionTypedFormalParameterEnd(
DirectParserASTType type,
- {this.nameToken,
+ {required this.nameToken,
this.question})
: super("FunctionTypedFormalParameter", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"nameToken": nameToken,
"question": question,
};
@@ -5982,10 +6052,10 @@
final IdentifierContext context;
DirectParserASTContentIdentifierHandle(DirectParserASTType type,
- {this.token, this.context})
+ {required this.token, required this.context})
: super("Identifier", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
"context": context,
};
@@ -5993,15 +6063,17 @@
class DirectParserASTContentIndexedExpressionHandle
extends DirectParserASTContent {
- final Token question;
+ final Token? question;
final Token openSquareBracket;
final Token closeSquareBracket;
DirectParserASTContentIndexedExpressionHandle(DirectParserASTType type,
- {this.question, this.openSquareBracket, this.closeSquareBracket})
+ {this.question,
+ required this.openSquareBracket,
+ required this.closeSquareBracket})
: super("IndexedExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"question": question,
"openSquareBracket": openSquareBracket,
"closeSquareBracket": closeSquareBracket,
@@ -6012,10 +6084,10 @@
final Token operator;
DirectParserASTContentIsOperatorTypeBegin(DirectParserASTType type,
- {this.operator})
+ {required this.operator})
: super("IsOperatorType", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"operator": operator,
};
}
@@ -6024,23 +6096,23 @@
final Token operator;
DirectParserASTContentIsOperatorTypeEnd(DirectParserASTType type,
- {this.operator})
+ {required this.operator})
: super("IsOperatorType", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"operator": operator,
};
}
class DirectParserASTContentIsOperatorHandle extends DirectParserASTContent {
final Token isOperator;
- final Token not;
+ final Token? not;
DirectParserASTContentIsOperatorHandle(DirectParserASTType type,
- {this.isOperator, this.not})
+ {required this.isOperator, this.not})
: super("IsOperator", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"isOperator": isOperator,
"not": not,
};
@@ -6050,10 +6122,10 @@
final Token token;
DirectParserASTContentLiteralBoolHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("LiteralBool", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6065,10 +6137,12 @@
final Token endToken;
DirectParserASTContentBreakStatementHandle(DirectParserASTType type,
- {this.hasTarget, this.breakKeyword, this.endToken})
+ {required this.hasTarget,
+ required this.breakKeyword,
+ required this.endToken})
: super("BreakStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"hasTarget": hasTarget,
"breakKeyword": breakKeyword,
"endToken": endToken,
@@ -6082,10 +6156,12 @@
final Token endToken;
DirectParserASTContentContinueStatementHandle(DirectParserASTType type,
- {this.hasTarget, this.continueKeyword, this.endToken})
+ {required this.hasTarget,
+ required this.continueKeyword,
+ required this.endToken})
: super("ContinueStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"hasTarget": hasTarget,
"continueKeyword": continueKeyword,
"endToken": endToken,
@@ -6097,10 +6173,10 @@
final Token token;
DirectParserASTContentEmptyStatementHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("EmptyStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6110,10 +6186,10 @@
final Assert kind;
DirectParserASTContentAssertBegin(DirectParserASTType type,
- {this.assertKeyword, this.kind})
+ {required this.assertKeyword, required this.kind})
: super("Assert", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"assertKeyword": assertKeyword,
"kind": kind,
};
@@ -6123,18 +6199,18 @@
final Token assertKeyword;
final Assert kind;
final Token leftParenthesis;
- final Token commaToken;
+ final Token? commaToken;
final Token semicolonToken;
DirectParserASTContentAssertEnd(DirectParserASTType type,
- {this.assertKeyword,
- this.kind,
- this.leftParenthesis,
+ {required this.assertKeyword,
+ required this.kind,
+ required this.leftParenthesis,
this.commaToken,
- this.semicolonToken})
+ required this.semicolonToken})
: super("Assert", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"assertKeyword": assertKeyword,
"kind": kind,
"leftParenthesis": leftParenthesis,
@@ -6147,10 +6223,10 @@
final Token token;
DirectParserASTContentLiteralDoubleHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("LiteralDouble", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6158,10 +6234,11 @@
class DirectParserASTContentLiteralIntHandle extends DirectParserASTContent {
final Token token;
- DirectParserASTContentLiteralIntHandle(DirectParserASTType type, {this.token})
+ DirectParserASTContentLiteralIntHandle(DirectParserASTType type,
+ {required this.token})
: super("LiteralInt", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6169,14 +6246,17 @@
class DirectParserASTContentLiteralListHandle extends DirectParserASTContent {
final int count;
final Token leftBracket;
- final Token constKeyword;
+ final Token? constKeyword;
final Token rightBracket;
DirectParserASTContentLiteralListHandle(DirectParserASTType type,
- {this.count, this.leftBracket, this.constKeyword, this.rightBracket})
+ {required this.count,
+ required this.leftBracket,
+ this.constKeyword,
+ required this.rightBracket})
: super("LiteralList", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"count": count,
"leftBracket": leftBracket,
"constKeyword": constKeyword,
@@ -6188,19 +6268,19 @@
extends DirectParserASTContent {
final int count;
final Token leftBrace;
- final Token constKeyword;
+ final Token? constKeyword;
final Token rightBrace;
final bool hasSetEntry;
DirectParserASTContentLiteralSetOrMapHandle(DirectParserASTType type,
- {this.count,
- this.leftBrace,
+ {required this.count,
+ required this.leftBrace,
this.constKeyword,
- this.rightBrace,
- this.hasSetEntry})
+ required this.rightBrace,
+ required this.hasSetEntry})
: super("LiteralSetOrMap", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"count": count,
"leftBrace": leftBrace,
"constKeyword": constKeyword,
@@ -6213,10 +6293,10 @@
final Token token;
DirectParserASTContentLiteralNullHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("LiteralNull", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6226,10 +6306,10 @@
final bool hasName;
DirectParserASTContentNativeClauseHandle(DirectParserASTType type,
- {this.nativeToken, this.hasName})
+ {required this.nativeToken, required this.hasName})
: super("NativeClause", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"nativeToken": nativeToken,
"hasName": hasName,
};
@@ -6239,10 +6319,10 @@
final Token colon;
DirectParserASTContentNamedArgumentHandle(DirectParserASTType type,
- {this.colon})
+ {required this.colon})
: super("NamedArgument", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"colon": colon,
};
}
@@ -6251,10 +6331,10 @@
final Token token;
DirectParserASTContentNewExpressionBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("NewExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6262,10 +6342,11 @@
class DirectParserASTContentNewExpressionEnd extends DirectParserASTContent {
final Token token;
- DirectParserASTContentNewExpressionEnd(DirectParserASTType type, {this.token})
+ DirectParserASTContentNewExpressionEnd(DirectParserASTType type,
+ {required this.token})
: super("NewExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6274,10 +6355,10 @@
final Token token;
DirectParserASTContentNoArgumentsHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("NoArguments", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6288,10 +6369,10 @@
DirectParserASTContentNoConstructorReferenceContinuationAfterTypeArgumentsHandle(
DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("NoConstructorReferenceContinuationAfterTypeArguments", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6300,10 +6381,10 @@
final Token lastConsumed;
DirectParserASTContentNoTypeHandle(DirectParserASTType type,
- {this.lastConsumed})
+ {required this.lastConsumed})
: super("NoType", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"lastConsumed": lastConsumed,
};
}
@@ -6313,10 +6394,10 @@
final Token token;
DirectParserASTContentNoTypeVariablesHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("NoTypeVariables", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6324,10 +6405,11 @@
class DirectParserASTContentOperatorHandle extends DirectParserASTContent {
final Token token;
- DirectParserASTContentOperatorHandle(DirectParserASTType type, {this.token})
+ DirectParserASTContentOperatorHandle(DirectParserASTType type,
+ {required this.token})
: super("Operator", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6335,10 +6417,11 @@
class DirectParserASTContentSymbolVoidHandle extends DirectParserASTContent {
final Token token;
- DirectParserASTContentSymbolVoidHandle(DirectParserASTType type, {this.token})
+ DirectParserASTContentSymbolVoidHandle(DirectParserASTType type,
+ {required this.token})
: super("SymbolVoid", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6348,10 +6431,10 @@
final Token token;
DirectParserASTContentOperatorNameHandle(DirectParserASTType type,
- {this.operatorKeyword, this.token})
+ {required this.operatorKeyword, required this.token})
: super("OperatorName", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"operatorKeyword": operatorKeyword,
"token": token,
};
@@ -6363,10 +6446,10 @@
final Token token;
DirectParserASTContentInvalidOperatorNameHandle(DirectParserASTType type,
- {this.operatorKeyword, this.token})
+ {required this.operatorKeyword, required this.token})
: super("InvalidOperatorName", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"operatorKeyword": operatorKeyword,
"token": token,
};
@@ -6377,10 +6460,10 @@
final Token token;
DirectParserASTContentParenthesizedConditionHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ParenthesizedCondition", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6390,10 +6473,10 @@
final Token token;
DirectParserASTContentParenthesizedExpressionHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("ParenthesizedExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6401,10 +6484,11 @@
class DirectParserASTContentQualifiedHandle extends DirectParserASTContent {
final Token period;
- DirectParserASTContentQualifiedHandle(DirectParserASTType type, {this.period})
+ DirectParserASTContentQualifiedHandle(DirectParserASTType type,
+ {required this.period})
: super("Qualified", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"period": period,
};
}
@@ -6412,10 +6496,11 @@
class DirectParserASTContentStringPartHandle extends DirectParserASTContent {
final Token token;
- DirectParserASTContentStringPartHandle(DirectParserASTType type, {this.token})
+ DirectParserASTContentStringPartHandle(DirectParserASTType type,
+ {required this.token})
: super("StringPart", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6426,10 +6511,10 @@
final IdentifierContext context;
DirectParserASTContentSuperExpressionHandle(DirectParserASTType type,
- {this.token, this.context})
+ {required this.token, required this.context})
: super("SuperExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
"context": context,
};
@@ -6441,10 +6526,12 @@
final Token firstToken;
DirectParserASTContentSwitchCaseBegin(DirectParserASTType type,
- {this.labelCount, this.expressionCount, this.firstToken})
+ {required this.labelCount,
+ required this.expressionCount,
+ required this.firstToken})
: super("SwitchCase", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"labelCount": labelCount,
"expressionCount": expressionCount,
"firstToken": firstToken,
@@ -6454,23 +6541,23 @@
class DirectParserASTContentSwitchCaseEnd extends DirectParserASTContent {
final int labelCount;
final int expressionCount;
- final Token defaultKeyword;
- final Token colonAfterDefault;
+ final Token? defaultKeyword;
+ final Token? colonAfterDefault;
final int statementCount;
final Token firstToken;
final Token endToken;
DirectParserASTContentSwitchCaseEnd(DirectParserASTType type,
- {this.labelCount,
- this.expressionCount,
+ {required this.labelCount,
+ required this.expressionCount,
this.defaultKeyword,
this.colonAfterDefault,
- this.statementCount,
- this.firstToken,
- this.endToken})
+ required this.statementCount,
+ required this.firstToken,
+ required this.endToken})
: super("SwitchCase", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"labelCount": labelCount,
"expressionCount": expressionCount,
"defaultKeyword": defaultKeyword,
@@ -6487,10 +6574,10 @@
final IdentifierContext context;
DirectParserASTContentThisExpressionHandle(DirectParserASTType type,
- {this.token, this.context})
+ {required this.token, required this.context})
: super("ThisExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
"context": context,
};
@@ -6502,10 +6589,10 @@
DirectParserASTContentUnaryPostfixAssignmentExpressionHandle(
DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("UnaryPostfixAssignmentExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6515,10 +6602,10 @@
final Token token;
DirectParserASTContentUnaryPrefixExpressionHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("UnaryPrefixExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6529,10 +6616,10 @@
DirectParserASTContentUnaryPrefixAssignmentExpressionHandle(
DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("UnaryPrefixAssignmentExpression", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6543,7 +6630,7 @@
DirectParserASTType type)
: super("FormalParameterDefaultValueExpression", type);
- Map<String, Object> get deprecatedArguments => {};
+ Map<String, Object?> get deprecatedArguments => {};
}
class DirectParserASTContentFormalParameterDefaultValueExpressionEnd
@@ -6552,7 +6639,7 @@
DirectParserASTType type)
: super("FormalParameterDefaultValueExpression", type);
- Map<String, Object> get deprecatedArguments => {};
+ Map<String, Object?> get deprecatedArguments => {};
}
class DirectParserASTContentValuedFormalParameterHandle
@@ -6561,10 +6648,10 @@
final Token token;
DirectParserASTContentValuedFormalParameterHandle(DirectParserASTType type,
- {this.equals, this.token})
+ {required this.equals, required this.token})
: super("ValuedFormalParameter", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"equals": equals,
"token": token,
};
@@ -6576,10 +6663,10 @@
DirectParserASTContentFormalParameterWithoutValueHandle(
DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("FormalParameterWithoutValue", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6588,10 +6675,10 @@
final Token token;
DirectParserASTContentVoidKeywordHandle(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("VoidKeyword", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6602,10 +6689,10 @@
DirectParserASTContentVoidKeywordWithTypeArgumentsHandle(
DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("VoidKeywordWithTypeArguments", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6614,24 +6701,24 @@
final Token token;
DirectParserASTContentYieldStatementBegin(DirectParserASTType type,
- {this.token})
+ {required this.token})
: super("YieldStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
class DirectParserASTContentYieldStatementEnd extends DirectParserASTContent {
final Token yieldToken;
- final Token starToken;
+ final Token? starToken;
final Token endToken;
DirectParserASTContentYieldStatementEnd(DirectParserASTType type,
- {this.yieldToken, this.starToken, this.endToken})
+ {required this.yieldToken, this.starToken, required this.endToken})
: super("YieldStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"yieldToken": yieldToken,
"starToken": starToken,
"endToken": endToken,
@@ -6641,15 +6728,18 @@
class DirectParserASTContentInvalidYieldStatementEnd
extends DirectParserASTContent {
final Token beginToken;
- final Token starToken;
+ final Token? starToken;
final Token endToken;
final MessageCode errorCode;
DirectParserASTContentInvalidYieldStatementEnd(DirectParserASTType type,
- {this.beginToken, this.starToken, this.endToken, this.errorCode})
+ {required this.beginToken,
+ this.starToken,
+ required this.endToken,
+ required this.errorCode})
: super("InvalidYieldStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"beginToken": beginToken,
"starToken": starToken,
"endToken": endToken,
@@ -6664,10 +6754,10 @@
final Token endToken;
DirectParserASTContentRecoverableErrorHandle(DirectParserASTType type,
- {this.message, this.startToken, this.endToken})
+ {required this.message, required this.startToken, required this.endToken})
: super("RecoverableError", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"message": message,
"startToken": startToken,
"endToken": endToken,
@@ -6677,10 +6767,11 @@
class DirectParserASTContentErrorTokenHandle extends DirectParserASTContent {
final ErrorToken token;
- DirectParserASTContentErrorTokenHandle(DirectParserASTType type, {this.token})
+ DirectParserASTContentErrorTokenHandle(DirectParserASTType type,
+ {required this.token})
: super("ErrorToken", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6692,10 +6783,13 @@
final int length;
DirectParserASTContentUnescapeErrorHandle(DirectParserASTType type,
- {this.message, this.location, this.stringOffset, this.length})
+ {required this.message,
+ required this.location,
+ required this.stringOffset,
+ required this.length})
: super("UnescapeError", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"message": message,
"location": location,
"stringOffset": stringOffset,
@@ -6709,10 +6803,10 @@
final Message message;
DirectParserASTContentInvalidStatementHandle(DirectParserASTType type,
- {this.token, this.message})
+ {required this.token, required this.message})
: super("InvalidStatement", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
"message": message,
};
@@ -6721,10 +6815,11 @@
class DirectParserASTContentScriptHandle extends DirectParserASTContent {
final Token token;
- DirectParserASTContentScriptHandle(DirectParserASTType type, {this.token})
+ DirectParserASTContentScriptHandle(DirectParserASTType type,
+ {required this.token})
: super("Script", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"token": token,
};
}
@@ -6735,10 +6830,10 @@
final int referenceOffset;
DirectParserASTContentCommentReferenceTextHandle(DirectParserASTType type,
- {this.referenceSource, this.referenceOffset})
+ {required this.referenceSource, required this.referenceOffset})
: super("CommentReferenceText", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"referenceSource": referenceSource,
"referenceOffset": referenceOffset,
};
@@ -6746,16 +6841,16 @@
class DirectParserASTContentCommentReferenceHandle
extends DirectParserASTContent {
- final Token newKeyword;
- final Token prefix;
- final Token period;
+ final Token? newKeyword;
+ final Token? prefix;
+ final Token? period;
final Token token;
DirectParserASTContentCommentReferenceHandle(DirectParserASTType type,
- {this.newKeyword, this.prefix, this.period, this.token})
+ {this.newKeyword, this.prefix, this.period, required this.token})
: super("CommentReference", type);
- Map<String, Object> get deprecatedArguments => {
+ Map<String, Object?> get deprecatedArguments => {
"newKeyword": newKeyword,
"prefix": prefix,
"period": period,
@@ -6768,5 +6863,5 @@
DirectParserASTContentNoCommentReferenceHandle(DirectParserASTType type)
: super("NoCommentReference", type);
- Map<String, Object> get deprecatedArguments => {};
+ Map<String, Object?> get deprecatedArguments => {};
}
diff --git a/pkg/front_end/testcases/incremental/regress_46004.yaml b/pkg/front_end/testcases/incremental/regress_46004.yaml
new file mode 100644
index 0000000..115477f
--- /dev/null
+++ b/pkg/front_end/testcases/incremental/regress_46004.yaml
@@ -0,0 +1,35 @@
+# Copyright (c) 2021, 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.md file.
+
+type: newworld
+worlds:
+ - entry: main.dart
+ experiments: non-nullable
+ sources:
+ main.dart: |
+ import 'dart:ffi';
+ import 'lib.dart';
+ class X extends Struct {
+ external COMObject xx;
+ }
+ lib.dart: |
+ import 'dart:ffi';
+
+ class COMObject extends Struct {
+ external Pointer<IntPtr> lpVtbl;
+
+ // This should not be interpreted as a native field.
+ // Neither the first nor the second compilation.
+ Pointer<IntPtr> get vtable => Pointer.fromAddress(lpVtbl.value);
+ }
+ expectedLibraryCount: 2
+
+ - entry: main.dart
+ experiments: non-nullable
+ worldType: updated
+ expectInitializeFromDill: false
+ invalidate:
+ - main.dart
+ expectedLibraryCount: 2
+ expectsRebuildBodiesOnly: false
diff --git a/pkg/front_end/testcases/incremental/regress_46004.yaml.world.1.expect b/pkg/front_end/testcases/incremental/regress_46004.yaml.world.1.expect
new file mode 100644
index 0000000..7918e0b
--- /dev/null
+++ b/pkg/front_end/testcases/incremental/regress_46004.yaml.world.1.expect
@@ -0,0 +1,68 @@
+main = <No Member>;
+library from "org-dartlang-test:///lib.dart" as lib {
+
+ import "dart:ffi";
+
+ @#C6
+ class COMObject extends dart.ffi::Struct {
+ synthetic constructor •() → lib::COMObject
+ : super dart.ffi::Struct::•()
+ ;
+ constructor #fromTypedDataBase(dart.core::Object #typedDataBase) → lib::COMObject
+ : super dart.ffi::Struct::_fromTypedDataBase(#typedDataBase)
+ ;
+ get lpVtbl() → dart.ffi::Pointer<dart.ffi::IntPtr>
+ return dart.ffi::_fromAddress<dart.ffi::IntPtr>(dart.ffi::_loadIntPtr(this.{dart.ffi::_Compound::_typedDataBase}, (#C8).{dart.core::List::[]}(dart.ffi::_abi())));
+ set lpVtbl(dart.ffi::Pointer<dart.ffi::IntPtr> #externalFieldValue) → void
+ return dart.ffi::_storeIntPtr(this.{dart.ffi::_Compound::_typedDataBase}, (#C8).{dart.core::List::[]}(dart.ffi::_abi()), #externalFieldValue.{dart.ffi::Pointer::address});
+ get vtable() → dart.ffi::Pointer<dart.ffi::IntPtr>
+ return dart.ffi::Pointer::fromAddress<dart.ffi::IntPtr>(dart.ffi::IntPtrPointer|get#value(this.{lib::COMObject::lpVtbl}));
+ @#C10
+ static get #sizeOf() → dart.core::int*
+ return (#C13).{dart.core::List::[]}(dart.ffi::_abi());
+ }
+}
+library from "org-dartlang-test:///main.dart" as main {
+
+ import "dart:ffi";
+ import "org-dartlang-test:///lib.dart";
+
+ @#C17
+ class X extends dart.ffi::Struct {
+ synthetic constructor •() → main::X
+ : super dart.ffi::Struct::•()
+ ;
+ constructor #fromTypedDataBase(dart.core::Object #typedDataBase) → main::X
+ : super dart.ffi::Struct::_fromTypedDataBase(#typedDataBase)
+ ;
+ get xx() → lib::COMObject
+ return new lib::COMObject::#fromTypedDataBase( block {
+ dart.core::Object #typedDataBase = this.{dart.ffi::_Compound::_typedDataBase};
+ dart.core::int #offset = (#C8).{dart.core::List::[]}(dart.ffi::_abi());
+ } =>#typedDataBase is dart.ffi::Pointer<dynamic> ?{dart.core::Object} dart.ffi::_fromAddress<lib::COMObject>(#typedDataBase.{dart.ffi::Pointer::address}.{dart.core::num::+}(#offset)) : let dart.typed_data::TypedData #typedData = dart._internal::unsafeCast<dart.typed_data::TypedData>(#typedDataBase) in #typedData.{dart.typed_data::TypedData::buffer}.{dart.typed_data::ByteBuffer::asUint8List}(#typedData.{dart.typed_data::TypedData::offsetInBytes}.{dart.core::num::+}(#offset), (#C13).{dart.core::List::[]}(dart.ffi::_abi())));
+ set xx(lib::COMObject #externalFieldValue) → void
+ return dart.ffi::_memCopy(this.{dart.ffi::_Compound::_typedDataBase}, (#C8).{dart.core::List::[]}(dart.ffi::_abi()), #externalFieldValue.{dart.ffi::_Compound::_typedDataBase}, #C7, (#C13).{dart.core::List::[]}(dart.ffi::_abi()));
+ @#C10
+ static get #sizeOf() → dart.core::int*
+ return (#C13).{dart.core::List::[]}(dart.ffi::_abi());
+ }
+}
+constants {
+ #C1 = "vm:ffi:struct-fields"
+ #C2 = TypeLiteralConstant(dart.ffi::Pointer<dart.ffi::NativeType>)
+ #C3 = <dart.core::Type>[#C2]
+ #C4 = null
+ #C5 = dart.ffi::_FfiStructLayout {fieldTypes:#C3, packing:#C4}
+ #C6 = dart.core::pragma {name:#C1, options:#C5}
+ #C7 = 0
+ #C8 = <dart.core::int*>[#C7, #C7, #C7]
+ #C9 = "vm:prefer-inline"
+ #C10 = dart.core::pragma {name:#C9, options:#C4}
+ #C11 = 8
+ #C12 = 4
+ #C13 = <dart.core::int*>[#C11, #C12, #C12]
+ #C14 = TypeLiteralConstant(lib::COMObject)
+ #C15 = <dart.core::Type>[#C14]
+ #C16 = dart.ffi::_FfiStructLayout {fieldTypes:#C15, packing:#C4}
+ #C17 = dart.core::pragma {name:#C1, options:#C16}
+}
diff --git a/pkg/front_end/testcases/incremental/regress_46004.yaml.world.2.expect b/pkg/front_end/testcases/incremental/regress_46004.yaml.world.2.expect
new file mode 100644
index 0000000..7918e0b
--- /dev/null
+++ b/pkg/front_end/testcases/incremental/regress_46004.yaml.world.2.expect
@@ -0,0 +1,68 @@
+main = <No Member>;
+library from "org-dartlang-test:///lib.dart" as lib {
+
+ import "dart:ffi";
+
+ @#C6
+ class COMObject extends dart.ffi::Struct {
+ synthetic constructor •() → lib::COMObject
+ : super dart.ffi::Struct::•()
+ ;
+ constructor #fromTypedDataBase(dart.core::Object #typedDataBase) → lib::COMObject
+ : super dart.ffi::Struct::_fromTypedDataBase(#typedDataBase)
+ ;
+ get lpVtbl() → dart.ffi::Pointer<dart.ffi::IntPtr>
+ return dart.ffi::_fromAddress<dart.ffi::IntPtr>(dart.ffi::_loadIntPtr(this.{dart.ffi::_Compound::_typedDataBase}, (#C8).{dart.core::List::[]}(dart.ffi::_abi())));
+ set lpVtbl(dart.ffi::Pointer<dart.ffi::IntPtr> #externalFieldValue) → void
+ return dart.ffi::_storeIntPtr(this.{dart.ffi::_Compound::_typedDataBase}, (#C8).{dart.core::List::[]}(dart.ffi::_abi()), #externalFieldValue.{dart.ffi::Pointer::address});
+ get vtable() → dart.ffi::Pointer<dart.ffi::IntPtr>
+ return dart.ffi::Pointer::fromAddress<dart.ffi::IntPtr>(dart.ffi::IntPtrPointer|get#value(this.{lib::COMObject::lpVtbl}));
+ @#C10
+ static get #sizeOf() → dart.core::int*
+ return (#C13).{dart.core::List::[]}(dart.ffi::_abi());
+ }
+}
+library from "org-dartlang-test:///main.dart" as main {
+
+ import "dart:ffi";
+ import "org-dartlang-test:///lib.dart";
+
+ @#C17
+ class X extends dart.ffi::Struct {
+ synthetic constructor •() → main::X
+ : super dart.ffi::Struct::•()
+ ;
+ constructor #fromTypedDataBase(dart.core::Object #typedDataBase) → main::X
+ : super dart.ffi::Struct::_fromTypedDataBase(#typedDataBase)
+ ;
+ get xx() → lib::COMObject
+ return new lib::COMObject::#fromTypedDataBase( block {
+ dart.core::Object #typedDataBase = this.{dart.ffi::_Compound::_typedDataBase};
+ dart.core::int #offset = (#C8).{dart.core::List::[]}(dart.ffi::_abi());
+ } =>#typedDataBase is dart.ffi::Pointer<dynamic> ?{dart.core::Object} dart.ffi::_fromAddress<lib::COMObject>(#typedDataBase.{dart.ffi::Pointer::address}.{dart.core::num::+}(#offset)) : let dart.typed_data::TypedData #typedData = dart._internal::unsafeCast<dart.typed_data::TypedData>(#typedDataBase) in #typedData.{dart.typed_data::TypedData::buffer}.{dart.typed_data::ByteBuffer::asUint8List}(#typedData.{dart.typed_data::TypedData::offsetInBytes}.{dart.core::num::+}(#offset), (#C13).{dart.core::List::[]}(dart.ffi::_abi())));
+ set xx(lib::COMObject #externalFieldValue) → void
+ return dart.ffi::_memCopy(this.{dart.ffi::_Compound::_typedDataBase}, (#C8).{dart.core::List::[]}(dart.ffi::_abi()), #externalFieldValue.{dart.ffi::_Compound::_typedDataBase}, #C7, (#C13).{dart.core::List::[]}(dart.ffi::_abi()));
+ @#C10
+ static get #sizeOf() → dart.core::int*
+ return (#C13).{dart.core::List::[]}(dart.ffi::_abi());
+ }
+}
+constants {
+ #C1 = "vm:ffi:struct-fields"
+ #C2 = TypeLiteralConstant(dart.ffi::Pointer<dart.ffi::NativeType>)
+ #C3 = <dart.core::Type>[#C2]
+ #C4 = null
+ #C5 = dart.ffi::_FfiStructLayout {fieldTypes:#C3, packing:#C4}
+ #C6 = dart.core::pragma {name:#C1, options:#C5}
+ #C7 = 0
+ #C8 = <dart.core::int*>[#C7, #C7, #C7]
+ #C9 = "vm:prefer-inline"
+ #C10 = dart.core::pragma {name:#C9, options:#C4}
+ #C11 = 8
+ #C12 = 4
+ #C13 = <dart.core::int*>[#C11, #C12, #C12]
+ #C14 = TypeLiteralConstant(lib::COMObject)
+ #C15 = <dart.core::Type>[#C14]
+ #C16 = dart.ffi::_FfiStructLayout {fieldTypes:#C15, packing:#C4}
+ #C17 = dart.core::pragma {name:#C1, options:#C16}
+}
diff --git a/pkg/front_end/tool/_fasta/direct_parser_ast_helper_creator.dart b/pkg/front_end/tool/_fasta/direct_parser_ast_helper_creator.dart
index e7cdb79..5c9509b 100644
--- a/pkg/front_end/tool/_fasta/direct_parser_ast_helper_creator.dart
+++ b/pkg/front_end/tool/_fasta/direct_parser_ast_helper_creator.dart
@@ -2,8 +2,6 @@
// 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.
-// @dart=2.9
-
import 'dart:io';
import 'dart:typed_data';
@@ -12,7 +10,7 @@
import 'package:_fe_analyzer_shared/src/scanner/token.dart';
import 'package:dart_style/dart_style.dart' show DartFormatter;
-StringSink out;
+late StringSink out;
main(List<String> args) {
if (args.contains("--stdout")) {
@@ -61,8 +59,8 @@
abstract class DirectParserASTContent {
final String what;
final DirectParserASTType type;
- Map<String, Object> get deprecatedArguments;
- List<DirectParserASTContent> children;
+ Map<String, Object?> get deprecatedArguments;
+ List<DirectParserASTContent>? children;
DirectParserASTContent(this.what, this.type);
@@ -98,13 +96,13 @@
class ParserCreatorListener extends Listener {
bool insideListenerClass = false;
- String currentMethodName;
- String latestSeenParameterTypeToken;
- List<String> parameters = <String>[];
- List<String> parameterTypes = <String>[];
- StringBuffer newClasses = new StringBuffer();
+ String? currentMethodName;
+ String? latestSeenParameterTypeToken;
+ String? latestSeenParameterTypeTokenQuestion;
+ final List<Parameter> parameters = <Parameter>[];
+ final StringBuffer newClasses = new StringBuffer();
- void beginClassDeclaration(Token begin, Token abstractToken, Token name) {
+ void beginClassDeclaration(Token begin, Token? abstractToken, Token name) {
if (name.lexeme == "Listener") insideListenerClass = true;
}
@@ -112,27 +110,31 @@
insideListenerClass = false;
}
- void beginMethod(Token externalToken, Token staticToken, Token covariantToken,
- Token varFinalOrConst, Token getOrSet, Token name) {
+ void beginMethod(
+ Token? externalToken,
+ Token? staticToken,
+ Token? covariantToken,
+ Token? varFinalOrConst,
+ Token? getOrSet,
+ Token name) {
currentMethodName = name.lexeme;
}
- void endClassMethod(Token getOrSet, Token beginToken, Token beginParam,
- Token beginInitializers, Token endToken) {
+ void endClassMethod(Token? getOrSet, Token beginToken, Token beginParam,
+ Token? beginInitializers, Token endToken) {
void end() {
parameters.clear();
- parameterTypes.clear();
currentMethodName = null;
}
if (insideListenerClass &&
- (currentMethodName.startsWith("begin") ||
- currentMethodName.startsWith("end") ||
- currentMethodName.startsWith("handle"))) {
+ (currentMethodName!.startsWith("begin") ||
+ currentMethodName!.startsWith("end") ||
+ currentMethodName!.startsWith("handle"))) {
StringBuffer sb = new StringBuffer();
sb.write(" ");
Token token = beginToken;
- Token latestToken;
+ Token? latestToken;
while (true) {
if (latestToken != null && latestToken.charEnd < token.charOffset) {
sb.write(" ");
@@ -147,7 +149,7 @@
throw token.runtimeType;
}
latestToken = token;
- token = token.next;
+ token = token.next!;
}
if (token is SimpleToken && token.type == TokenType.FUNCTION) {
@@ -157,18 +159,18 @@
String typeString;
String typeStringCamel;
String name;
- if (currentMethodName.startsWith("begin")) {
+ if (currentMethodName!.startsWith("begin")) {
typeString = "BEGIN";
typeStringCamel = "Begin";
- name = currentMethodName.substring("begin".length);
- } else if (currentMethodName.startsWith("end")) {
+ name = currentMethodName!.substring("begin".length);
+ } else if (currentMethodName!.startsWith("end")) {
typeString = "END";
typeStringCamel = "End";
- name = currentMethodName.substring("end".length);
- } else if (currentMethodName.startsWith("handle")) {
+ name = currentMethodName!.substring("end".length);
+ } else if (currentMethodName!.startsWith("handle")) {
typeString = "HANDLE";
typeStringCamel = "Handle";
- name = currentMethodName.substring("handle".length);
+ name = currentMethodName!.substring("handle".length);
} else {
throw "Unexpected.";
}
@@ -178,10 +180,11 @@
sb.write("DirectParserASTType.");
sb.write(typeString);
for (int i = 0; i < parameters.length; i++) {
+ Parameter param = parameters[i];
sb.write(', ');
- sb.write(parameters[i]);
+ sb.write(param.name);
sb.write(': ');
- sb.write(parameters[i]);
+ sb.write(param.name);
}
sb.write(");");
@@ -194,10 +197,12 @@
"extends DirectParserASTContent {\n");
for (int i = 0; i < parameters.length; i++) {
+ Parameter param = parameters[i];
newClasses.write(" final ");
- newClasses.write(parameterTypes[i]);
+ newClasses.write(param.type);
+ newClasses.write(param.hasQuestion ? '?' : '');
newClasses.write(' ');
- newClasses.write(parameters[i]);
+ newClasses.write(param.name);
newClasses.write(';\n');
}
newClasses.write('\n');
@@ -205,21 +210,26 @@
"(DirectParserASTType type");
String separator = ", {";
for (int i = 0; i < parameters.length; i++) {
+ Parameter param = parameters[i];
newClasses.write(separator);
+ if (!param.hasQuestion) {
+ newClasses.write('required ');
+ }
newClasses.write('this.');
- newClasses.write(parameters[i]);
+ newClasses.write(param.name);
separator = ", ";
}
if (parameters.isNotEmpty) {
newClasses.write('}');
}
newClasses.write(') : super("$name", type);\n\n');
- newClasses.write("Map<String, Object> get deprecatedArguments => {");
+ newClasses.write("Map<String, Object?> get deprecatedArguments => {");
for (int i = 0; i < parameters.length; i++) {
+ Parameter param = parameters[i];
newClasses.write('"');
- newClasses.write(parameters[i]);
+ newClasses.write(param.name);
newClasses.write('": ');
- newClasses.write(parameters[i]);
+ newClasses.write(param.name);
newClasses.write(',');
}
newClasses.write("};\n");
@@ -237,21 +247,33 @@
@override
void handleNoType(Token lastConsumed) {
latestSeenParameterTypeToken = null;
+ latestSeenParameterTypeTokenQuestion = null;
}
- void handleType(Token beginToken, Token questionMark) {
+ void handleType(Token beginToken, Token? questionMark) {
latestSeenParameterTypeToken = beginToken.lexeme;
+ latestSeenParameterTypeTokenQuestion = questionMark?.lexeme;
}
void endFormalParameter(
- Token thisKeyword,
- Token periodAfterThis,
+ Token? thisKeyword,
+ Token? periodAfterThis,
Token nameToken,
- Token initializerStart,
- Token initializerEnd,
+ Token? initializerStart,
+ Token? initializerEnd,
FormalParameterKind kind,
MemberKind memberKind) {
- parameters.add(nameToken.lexeme);
- parameterTypes.add(latestSeenParameterTypeToken);
+ parameters.add(new Parameter(
+ nameToken.lexeme,
+ latestSeenParameterTypeToken ?? 'dynamic',
+ latestSeenParameterTypeTokenQuestion == null ? false : true));
}
}
+
+class Parameter {
+ final String name;
+ final String type;
+ final bool hasQuestion;
+
+ Parameter(this.name, this.type, this.hasQuestion);
+}
diff --git a/pkg/vm/lib/transformations/ffi_definitions.dart b/pkg/vm/lib/transformations/ffi_definitions.dart
index 4655978..d3c8f1f 100644
--- a/pkg/vm/lib/transformations/ffi_definitions.dart
+++ b/pkg/vm/lib/transformations/ffi_definitions.dart
@@ -125,6 +125,13 @@
///
/// Works both for transformed and non-transformed compound classes.
Set<Class> _compoundClassDependencies(Class node) {
+ final fieldTypes = _compoundAnnotatedFields(node);
+ if (fieldTypes != null) {
+ // Transformed classes.
+ return _compoundAnnotatedDependencies(fieldTypes);
+ }
+
+ // Non-tranformed classes.
final dependencies = <Class>{};
final membersWithAnnotations =
_compoundFieldMembers(node, includeSetters: false);
@@ -199,20 +206,25 @@
} else {
// Only visit the ones without cycles.
final clazz = component.single;
- final compoundData = _findFields(clazz);
- final compoundType = compoundData.compoundType;
- compoundCache[clazz] = compoundType;
- final indexedClass = indexedCompoundClasses[clazz];
- if (transformCompounds.contains(clazz) &&
- compoundType is! InvalidNativeTypeCfe) {
- // Only visit if it has not been transformed yet, and its fields
- // are valid.
-
- _replaceFields(clazz, indexedClass, compoundData);
- _addSizeOfField(clazz, indexedClass, compoundType.size);
+ final mustBeTransformed = (transformCompoundsInvalid.contains(clazz) ||
+ transformCompounds.contains(clazz));
+ if (!mustBeTransformed) {
+ compoundCache[clazz] = _compoundAnnotatedNativeTypeCfe(clazz);
+ } else {
+ final compoundData = _findFields(clazz);
+ final compoundType = compoundData.compoundType;
+ compoundCache[clazz] = compoundType;
+ final indexedClass = indexedCompoundClasses[clazz];
+ if (transformCompounds.contains(clazz) &&
+ compoundType is! InvalidNativeTypeCfe) {
+ // Only replace fields if valid.
+ _replaceFields(clazz, indexedClass, compoundData);
+ _addSizeOfField(clazz, indexedClass, compoundType.size);
+ } else {
+ // Do add a sizeOf field even if invalid.
+ _addSizeOfField(clazz, indexedClass);
+ }
changedStructureNotifier?.registerClassMemberChange(clazz);
- } else if (transformCompoundsInvalid.contains(clazz)) {
- _addSizeOfField(clazz, indexedClass);
}
}
});
@@ -310,13 +322,12 @@
/// Note that getters and setters that originate from an external field have
/// the same `fileOffset`, we always returns getters first.
///
- /// This works for both transformed and non-transformed structs.
- List<Member> _compoundFieldMembers(Class node,
- {bool possiblyAlreadyTransformed = true, bool includeSetters = true}) {
+ /// This works only for non-transformed compounds.
+ List<Member> _compoundFieldMembers(Class node, {bool includeSetters = true}) {
+ assert(_compoundAnnotatedFields(node) == null);
final getterSetters = node.procedures.where((p) {
- if (!possiblyAlreadyTransformed && !p.isExternal) {
- // If a struct has not been transformed yet, we have the guarantee
- // that getters and setters corresponding to native fields are external.
+ if (!p.isExternal) {
+ // Getters and setters corresponding to native fields are external.
return false;
}
if (p.isSetter && includeSetters) {
@@ -350,8 +361,8 @@
bool _checkFieldAnnotations(Class node, int packing) {
bool success = true;
- final membersWithAnnotations = _compoundFieldMembers(node,
- possiblyAlreadyTransformed: false, includeSetters: false);
+ final membersWithAnnotations =
+ _compoundFieldMembers(node, includeSetters: false);
for (final Member f in membersWithAnnotations) {
if (f is Field) {
if (f.initializer is! NullLiteral) {
@@ -541,6 +552,7 @@
node.addConstructor(ctor);
}
+ // Works only for non-transformed classes.
CompoundData _findFields(Class node) {
final types = <NativeTypeCfe>[];
final fields = <int, Field>{};
@@ -672,6 +684,75 @@
}
}
+ static const vmFfiStructFields = "vm:ffi:struct-fields";
+
+ // return value is nullable.
+ InstanceConstant _compoundAnnotatedFields(Class node) {
+ for (final annotation in node.annotations) {
+ if (annotation is ConstantExpression) {
+ final constant = annotation.constant;
+ if (constant is InstanceConstant &&
+ constant.classNode == pragmaClass &&
+ constant.fieldValues[pragmaName.getterReference] ==
+ StringConstant(vmFfiStructFields)) {
+ return constant.fieldValues[pragmaOptions.getterReference];
+ }
+ }
+ }
+ return null;
+ }
+
+ Set<Class> _compoundAnnotatedDependencies(InstanceConstant layoutConstant) {
+ final fieldTypes = layoutConstant
+ .fieldValues[ffiStructLayoutTypesField.getterReference] as ListConstant;
+ final result = <Class>{};
+ for (final fieldType in fieldTypes.entries) {
+ if (fieldType is TypeLiteralConstant) {
+ final type = fieldType.type;
+ if (isCompoundSubtype(type)) {
+ final clazz = (type as InterfaceType).classNode;
+ result.add(clazz);
+ }
+ }
+ }
+ return result;
+ }
+
+ /// Must only be called if all the depencies are already in the cache.
+ CompoundNativeTypeCfe _compoundAnnotatedNativeTypeCfe(Class compoundClass) {
+ final layoutConstant = _compoundAnnotatedFields(compoundClass);
+ final fieldTypes = layoutConstant
+ .fieldValues[ffiStructLayoutTypesField.getterReference] as ListConstant;
+ final members = <NativeTypeCfe>[];
+ for (final fieldType in fieldTypes.entries) {
+ if (fieldType is TypeLiteralConstant) {
+ final dartType = fieldType.type;
+ members.add(NativeTypeCfe(this, dartType));
+ } else if (fieldType is InstanceConstant) {
+ final singleElementConstant = fieldType
+ .fieldValues[ffiInlineArrayElementTypeField.getterReference]
+ as TypeLiteralConstant;
+ final singleElementType =
+ NativeTypeCfe(this, singleElementConstant.type);
+ final arrayLengthConstant =
+ fieldType.fieldValues[ffiInlineArrayLengthField.getterReference]
+ as IntConstant;
+ final arrayLength = arrayLengthConstant.value;
+ members.add(ArrayNativeTypeCfe(singleElementType, arrayLength));
+ }
+ }
+ if (compoundClass.superclass == structClass) {
+ final packingConstant = layoutConstant
+ .fieldValues[ffiStructLayoutPackingField.getterReference];
+ if (packingConstant is IntConstant) {
+ return StructNativeTypeCfe(compoundClass, members,
+ packing: packingConstant.value);
+ }
+ return StructNativeTypeCfe(compoundClass, members);
+ }
+ return UnionNativeTypeCfe(compoundClass, members);
+ }
+
// packing is `int?`.
void _annoteCompoundWithFields(
Class node, List<NativeTypeCfe> types, int packing) {
@@ -680,7 +761,7 @@
node.addAnnotation(ConstantExpression(
InstanceConstant(pragmaClass.reference, [], {
- pragmaName.getterReference: StringConstant("vm:ffi:struct-fields"),
+ pragmaName.getterReference: StringConstant(vmFfiStructFields),
pragmaOptions.getterReference:
InstanceConstant(ffiStructLayoutClass.reference, [], {
ffiStructLayoutTypesField.getterReference: ListConstant(
diff --git a/runtime/include/BUILD.gn b/runtime/include/BUILD.gn
new file mode 100644
index 0000000..462b931
--- /dev/null
+++ b/runtime/include/BUILD.gn
@@ -0,0 +1,20 @@
+# Copyright (c) 2021, 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.
+
+# This rule copies header files to include/
+copy("copy_headers") {
+ visibility = [ "../../sdk:copy_headers" ]
+
+ sources = [
+ "dart_api.h",
+ "dart_api_dl.c",
+ "dart_api_dl.h",
+ "dart_native_api.h",
+ "dart_tools_api.h",
+ "dart_version.h",
+ "internal/dart_api_dl_impl.h",
+ ]
+
+ outputs = [ "$root_out_dir/dart-sdk/include/{{source_target_relative}}" ]
+}
diff --git a/runtime/tests/concurrency/stress_test_list.json b/runtime/tests/concurrency/stress_test_list.json
index 170afa2..4044c33 100644
--- a/runtime/tests/concurrency/stress_test_list.json
+++ b/runtime/tests/concurrency/stress_test_list.json
@@ -3283,7 +3283,6 @@
"../../../tests/standalone/io/file_write_only_test.dart",
"../../../tests/standalone/io/gzip_format_exception_test.dart",
"../../../tests/standalone/io/http_100_continue_test.dart",
- "../../../tests/standalone/io/http_ban_http_normal_test.dart",
"../../../tests/standalone/io/http_big_header_test.dart",
"../../../tests/standalone/io/http_bind_test.dart",
"../../../tests/standalone/io/http_client_connect_test.dart",
@@ -6630,7 +6629,6 @@
"../../../tests/standalone_2/io/file_write_only_test.dart",
"../../../tests/standalone_2/io/gzip_format_exception_test.dart",
"../../../tests/standalone_2/io/http_100_continue_test.dart",
- "../../../tests/standalone_2/io/http_ban_http_normal_test.dart",
"../../../tests/standalone_2/io/http_big_header_test.dart",
"../../../tests/standalone_2/io/http_bind_test.dart",
"../../../tests/standalone_2/io/http_client_connect_test.dart",
diff --git a/runtime/third_party/binary_size/src/explain_binary_size_delta.py b/runtime/third_party/binary_size/src/explain_binary_size_delta.py
index ed9c689..13f7c12 100755
--- a/runtime/third_party/binary_size/src/explain_binary_size_delta.py
+++ b/runtime/third_party/binary_size/src/explain_binary_size_delta.py
@@ -243,7 +243,7 @@
# We have now analyzed all symbols that are in cache1 and removed all of
# the encountered symbols from cache2. What's left in cache2 is the new
# symbols.
- for key, bucket2 in cache2.iteritems():
+ for key, bucket2 in cache2.items():
file_path, symbol_type = key
for symbol_name, symbol_size_list in bucket2.items():
for (symbol_size, shared) in symbol_size_list:
@@ -401,8 +401,9 @@
growth = size_data['plus'] - size_data['minus']
return growth
- for path, size_data in sorted(
- delta_by_path.iteritems(), key=delta_sort_key, reverse=True):
+ for path, size_data in sorted(delta_by_path.items(),
+ key=delta_sort_key,
+ reverse=True):
gain = size_data['plus']
loss = size_data['minus']
delta = size_data['plus'] - size_data['minus']
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler.cc b/runtime/vm/compiler/backend/flow_graph_compiler.cc
index 2d2de1c..bc3bf363 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler.cc
@@ -445,7 +445,6 @@
void FlowGraphCompiler::RecordCatchEntryMoves(Environment* env,
intptr_t try_index) {
#if defined(DART_PRECOMPILER)
- env = env != nullptr ? env : pending_deoptimization_env_;
try_index = try_index != kInvalidTryIndex ? try_index : CurrentTryIndex();
if (is_optimizing() && env != nullptr && (try_index != kInvalidTryIndex)) {
env = env->Outermost();
@@ -903,9 +902,6 @@
ASSERT(is_optimizing());
ASSERT(!intrinsic_mode());
ASSERT(!FLAG_precompiled_mode);
- if (env == nullptr) {
- env = pending_deoptimization_env_;
- }
if (env != nullptr) {
env = env->GetLazyDeoptEnv(zone());
}
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler.h b/runtime/vm/compiler/backend/flow_graph_compiler.h
index fd45478..0171f8b 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler.h
+++ b/runtime/vm/compiler/backend/flow_graph_compiler.h
@@ -805,7 +805,7 @@
void EmitEdgeCounter(intptr_t edge_id);
- void RecordCatchEntryMoves(Environment* env = NULL,
+ void RecordCatchEntryMoves(Environment* env,
intptr_t try_index = kInvalidTryIndex);
void EmitCallToStub(const Code& stub);
@@ -824,7 +824,7 @@
intptr_t deopt_id,
UntaggedPcDescriptors::Kind kind,
LocationSummary* locs,
- Environment* env = nullptr);
+ Environment* env);
void EmitYieldPositionMetadata(const InstructionSource& source,
intptr_t yield_index);
@@ -882,8 +882,7 @@
ICData::DeoptReasonId reason,
uint32_t flags = 0);
- CompilerDeoptInfo* AddDeoptIndexAtCall(intptr_t deopt_id,
- Environment* env = nullptr);
+ CompilerDeoptInfo* AddDeoptIndexAtCall(intptr_t deopt_id, Environment* env);
CompilerDeoptInfo* AddSlowPathDeoptInfo(intptr_t deopt_id, Environment* env);
void AddSlowPathCode(SlowPathCode* slow_path);
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc b/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc
index ab13d29..979db7e 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc
@@ -427,7 +427,8 @@
UntaggedPcDescriptors::Kind kind,
LocationSummary* locs) {
__ BranchLinkPatchable(stub);
- EmitCallsiteMetadata(source, DeoptId::kNone, kind, locs);
+ EmitCallsiteMetadata(source, DeoptId::kNone, kind, locs,
+ pending_deoptimization_env_);
}
void FlowGraphCompiler::GenerateDartCall(intptr_t deopt_id,
@@ -438,7 +439,8 @@
Code::EntryKind entry_kind) {
ASSERT(CanCallDart());
__ BranchLinkPatchable(stub, entry_kind);
- EmitCallsiteMetadata(source, deopt_id, kind, locs);
+ EmitCallsiteMetadata(source, deopt_id, kind, locs,
+ pending_deoptimization_env_);
}
void FlowGraphCompiler::GenerateStaticDartCall(intptr_t deopt_id,
@@ -451,7 +453,8 @@
if (CanPcRelativeCall(target)) {
__ GenerateUnRelocatedPcRelativeCall();
AddPcRelativeCallTarget(target, entry_kind);
- EmitCallsiteMetadata(source, deopt_id, kind, locs);
+ EmitCallsiteMetadata(source, deopt_id, kind, locs,
+ pending_deoptimization_env_);
} else {
ASSERT(is_optimizing());
// Call sites to the same target can share object pool entries. These
@@ -460,7 +463,8 @@
// instead.
const auto& stub = StubCode::CallStaticFunction();
__ BranchLinkWithEquivalence(stub, target, entry_kind);
- EmitCallsiteMetadata(source, deopt_id, kind, locs);
+ EmitCallsiteMetadata(source, deopt_id, kind, locs,
+ pending_deoptimization_env_);
AddStaticCallTarget(target, entry_kind);
}
}
@@ -531,7 +535,8 @@
? Code::entry_point_offset(Code::EntryKind::kMonomorphic)
: Code::entry_point_offset(Code::EntryKind::kMonomorphicUnchecked);
__ Call(compiler::FieldAddress(CODE_REG, entry_point_offset));
- EmitCallsiteMetadata(source, deopt_id, UntaggedPcDescriptors::kIcCall, locs);
+ EmitCallsiteMetadata(source, deopt_id, UntaggedPcDescriptors::kIcCall, locs,
+ pending_deoptimization_env_);
__ Drop(ic_data.SizeWithTypeArgs());
}
@@ -589,7 +594,7 @@
DeoptId::kNone, source, try_index);
} else if (is_optimizing()) {
AddCurrentDescriptor(UntaggedPcDescriptors::kOther, DeoptId::kNone, source);
- AddDeoptIndexAtCall(deopt_id_after);
+ AddDeoptIndexAtCall(deopt_id_after, pending_deoptimization_env_);
} else {
AddCurrentDescriptor(UntaggedPcDescriptors::kOther, DeoptId::kNone, source);
// Add deoptimization continuation point after the call and before the
@@ -642,7 +647,7 @@
CLOBBERS_LR(__ blx(LR));
EmitCallsiteMetadata(source, DeoptId::kNone, UntaggedPcDescriptors::kOther,
- locs);
+ locs, pending_deoptimization_env_);
__ Drop(ic_data.SizeWithTypeArgs());
}
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc b/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc
index 71b11eb..d97a36b 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc
@@ -420,7 +420,8 @@
UntaggedPcDescriptors::Kind kind,
LocationSummary* locs) {
__ BranchLinkPatchable(stub);
- EmitCallsiteMetadata(source, DeoptId::kNone, kind, locs);
+ EmitCallsiteMetadata(source, DeoptId::kNone, kind, locs,
+ pending_deoptimization_env_);
}
void FlowGraphCompiler::GenerateDartCall(intptr_t deopt_id,
@@ -431,7 +432,8 @@
Code::EntryKind entry_kind) {
ASSERT(CanCallDart());
__ BranchLinkPatchable(stub, entry_kind);
- EmitCallsiteMetadata(source, deopt_id, kind, locs);
+ EmitCallsiteMetadata(source, deopt_id, kind, locs,
+ pending_deoptimization_env_);
}
void FlowGraphCompiler::GenerateStaticDartCall(intptr_t deopt_id,
@@ -444,7 +446,8 @@
if (CanPcRelativeCall(target)) {
__ GenerateUnRelocatedPcRelativeCall();
AddPcRelativeCallTarget(target, entry_kind);
- EmitCallsiteMetadata(source, deopt_id, kind, locs);
+ EmitCallsiteMetadata(source, deopt_id, kind, locs,
+ pending_deoptimization_env_);
} else {
// Call sites to the same target can share object pool entries. These
// call sites are never patched for breakpoints: the function is deoptimized
@@ -453,7 +456,8 @@
ASSERT(is_optimizing());
const auto& stub = StubCode::CallStaticFunction();
__ BranchLinkWithEquivalence(stub, target, entry_kind);
- EmitCallsiteMetadata(source, deopt_id, kind, locs);
+ EmitCallsiteMetadata(source, deopt_id, kind, locs,
+ pending_deoptimization_env_);
AddStaticCallTarget(target, entry_kind);
}
}
@@ -521,7 +525,8 @@
? Code::entry_point_offset(Code::EntryKind::kMonomorphic)
: Code::entry_point_offset(Code::EntryKind::kMonomorphicUnchecked);
__ Call(compiler::FieldAddress(CODE_REG, entry_point_offset));
- EmitCallsiteMetadata(source, deopt_id, UntaggedPcDescriptors::kIcCall, locs);
+ EmitCallsiteMetadata(source, deopt_id, UntaggedPcDescriptors::kIcCall, locs,
+ pending_deoptimization_env_);
__ Drop(ic_data.SizeWithTypeArgs());
}
@@ -575,7 +580,7 @@
DeoptId::kNone, source, try_index);
} else if (is_optimizing()) {
AddCurrentDescriptor(UntaggedPcDescriptors::kOther, DeoptId::kNone, source);
- AddDeoptIndexAtCall(deopt_id_after);
+ AddDeoptIndexAtCall(deopt_id_after, pending_deoptimization_env_);
} else {
AddCurrentDescriptor(UntaggedPcDescriptors::kOther, DeoptId::kNone, source);
// Add deoptimization continuation point after the call and before the
@@ -635,7 +640,7 @@
CLOBBERS_LR(__ blr(LR));
EmitCallsiteMetadata(source, DeoptId::kNone, UntaggedPcDescriptors::kOther,
- locs);
+ locs, pending_deoptimization_env_);
__ Drop(ic_data.SizeWithTypeArgs());
}
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc b/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc
index 1a06f0a..4634363 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc
@@ -484,7 +484,8 @@
Code::EntryKind entry_kind) {
ASSERT(CanCallDart());
__ Call(stub, /*moveable_target=*/false, entry_kind);
- EmitCallsiteMetadata(source, deopt_id, kind, locs);
+ EmitCallsiteMetadata(source, deopt_id, kind, locs,
+ pending_deoptimization_env_);
}
void FlowGraphCompiler::GenerateStaticDartCall(intptr_t deopt_id,
@@ -496,7 +497,8 @@
ASSERT(CanCallDart());
const auto& stub = StubCode::CallStaticFunction();
__ Call(stub, /*movable_target=*/true, entry_kind);
- EmitCallsiteMetadata(source, deopt_id, kind, locs);
+ EmitCallsiteMetadata(source, deopt_id, kind, locs,
+ pending_deoptimization_env_);
AddStaticCallTarget(target, entry_kind);
}
@@ -574,7 +576,8 @@
? Code::entry_point_offset(Code::EntryKind::kMonomorphic)
: Code::entry_point_offset(Code::EntryKind::kMonomorphicUnchecked);
__ call(compiler::FieldAddress(CODE_REG, entry_point_offset));
- EmitCallsiteMetadata(source, deopt_id, UntaggedPcDescriptors::kIcCall, locs);
+ EmitCallsiteMetadata(source, deopt_id, UntaggedPcDescriptors::kIcCall, locs,
+ pending_deoptimization_env_);
__ Drop(ic_data.SizeWithTypeArgs());
}
@@ -607,7 +610,7 @@
// Precompilation not implemented on ia32 platform.
ASSERT(!FLAG_precompiled_mode);
if (is_optimizing()) {
- AddDeoptIndexAtCall(deopt_id_after);
+ AddDeoptIndexAtCall(deopt_id_after, pending_deoptimization_env_);
} else {
// Add deoptimization continuation point after the call and before the
// arguments are removed.
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc b/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc
index f334d5c..01ee817 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc
@@ -423,7 +423,8 @@
UntaggedPcDescriptors::Kind kind,
LocationSummary* locs) {
__ CallPatchable(stub);
- EmitCallsiteMetadata(source, DeoptId::kNone, kind, locs);
+ EmitCallsiteMetadata(source, DeoptId::kNone, kind, locs,
+ pending_deoptimization_env_);
}
void FlowGraphCompiler::GenerateDartCall(intptr_t deopt_id,
@@ -434,7 +435,8 @@
Code::EntryKind entry_kind) {
ASSERT(CanCallDart());
__ CallPatchable(stub, entry_kind);
- EmitCallsiteMetadata(source, deopt_id, kind, locs);
+ EmitCallsiteMetadata(source, deopt_id, kind, locs,
+ pending_deoptimization_env_);
}
void FlowGraphCompiler::GenerateStaticDartCall(intptr_t deopt_id,
@@ -448,7 +450,8 @@
if (CanPcRelativeCall(target)) {
__ GenerateUnRelocatedPcRelativeCall();
AddPcRelativeCallTarget(target, entry_kind);
- EmitCallsiteMetadata(source, deopt_id, kind, locs);
+ EmitCallsiteMetadata(source, deopt_id, kind, locs,
+ pending_deoptimization_env_);
} else {
// Call sites to the same target can share object pool entries. These
// call sites are never patched for breakpoints: the function is deoptimized
@@ -456,7 +459,8 @@
// instead.
const auto& stub_entry = StubCode::CallStaticFunction();
__ CallWithEquivalence(stub_entry, target, entry_kind);
- EmitCallsiteMetadata(source, deopt_id, kind, locs);
+ EmitCallsiteMetadata(source, deopt_id, kind, locs,
+ pending_deoptimization_env_);
AddStaticCallTarget(target, entry_kind);
}
}
@@ -536,7 +540,8 @@
? Code::entry_point_offset(Code::EntryKind::kMonomorphic)
: Code::entry_point_offset(Code::EntryKind::kMonomorphicUnchecked);
__ call(compiler::FieldAddress(CODE_REG, entry_point_offset));
- EmitCallsiteMetadata(source, deopt_id, UntaggedPcDescriptors::kIcCall, locs);
+ EmitCallsiteMetadata(source, deopt_id, UntaggedPcDescriptors::kIcCall, locs,
+ pending_deoptimization_env_);
__ Drop(ic_data.SizeWithTypeArgs(), RCX);
}
@@ -591,7 +596,7 @@
DeoptId::kNone, source, try_index);
} else if (is_optimizing()) {
AddCurrentDescriptor(UntaggedPcDescriptors::kOther, DeoptId::kNone, source);
- AddDeoptIndexAtCall(deopt_id_after);
+ AddDeoptIndexAtCall(deopt_id_after, pending_deoptimization_env_);
} else {
AddCurrentDescriptor(UntaggedPcDescriptors::kOther, DeoptId::kNone, source);
// Add deoptimization continuation point after the call and before the
@@ -639,7 +644,8 @@
__ LoadUniqueObject(RBX, data);
__ call(RCX);
- EmitCallsiteMetadata(source, deopt_id, UntaggedPcDescriptors::kOther, locs);
+ EmitCallsiteMetadata(source, deopt_id, UntaggedPcDescriptors::kOther, locs,
+ pending_deoptimization_env_);
__ Drop(ic_data.SizeWithTypeArgs(), RCX);
}
diff --git a/runtime/vm/compiler/backend/il.cc b/runtime/vm/compiler/backend/il.cc
index 4e02ded..512db83 100644
--- a/runtime/vm/compiler/backend/il.cc
+++ b/runtime/vm/compiler/backend/il.cc
@@ -5024,7 +5024,7 @@
}
compiler->EmitDispatchTableCall(selector()->offset, arguments_descriptor);
compiler->EmitCallsiteMetadata(source(), DeoptId::kNone,
- UntaggedPcDescriptors::kOther, locs());
+ UntaggedPcDescriptors::kOther, locs(), env());
if (selector()->called_on_null && !selector()->on_null_interface) {
Value* receiver = ArgumentValueAt(FirstArgIndex());
if (receiver->Type()->is_nullable()) {
diff --git a/runtime/vm/compiler/backend/il_arm.cc b/runtime/vm/compiler/backend/il_arm.cc
index cb66118..9e6fae8 100644
--- a/runtime/vm/compiler/backend/il_arm.cc
+++ b/runtime/vm/compiler/backend/il_arm.cc
@@ -619,7 +619,7 @@
}
__ blx(R2);
compiler->EmitCallsiteMetadata(source(), deopt_id(),
- UntaggedPcDescriptors::kOther, locs());
+ UntaggedPcDescriptors::kOther, locs(), env());
__ Drop(argument_count);
}
@@ -1365,7 +1365,8 @@
// instruction. Therefore we emit the metadata here, 8 bytes (2 instructions)
// after the original mov.
compiler->EmitCallsiteMetadata(InstructionSource(), deopt_id(),
- UntaggedPcDescriptors::Kind::kOther, locs());
+ UntaggedPcDescriptors::Kind::kOther, locs(),
+ env());
// Update information in the thread object and enter a safepoint.
if (CanExecuteGeneratedCodeInSafepoint()) {
@@ -3500,7 +3501,7 @@
// deoptimization stub.
const intptr_t deopt_id = DeoptId::ToDeoptAfter(GetDeoptId());
if (compiler->is_optimizing()) {
- compiler->AddDeoptIndexAtCall(deopt_id);
+ compiler->AddDeoptIndexAtCall(deopt_id, env());
} else {
compiler->AddCurrentDescriptor(UntaggedPcDescriptors::kDeopt, deopt_id,
InstructionSource());
@@ -3585,7 +3586,7 @@
instruction()->locs()->live_registers()->FpuRegisterCount() > 0);
__ Call(compiler::Address(THR, entry_point_offset));
compiler->RecordSafepoint(instruction()->locs(), kNumSlowPathArgs);
- compiler->RecordCatchEntryMoves();
+ compiler->RecordCatchEntryMoves(env);
compiler->AddDescriptor(
UntaggedPcDescriptors::kOther, compiler->assembler()->CodeSize(),
instruction()->deopt_id(), instruction()->source(),
@@ -3594,7 +3595,7 @@
__ CallRuntime(kStackOverflowRuntimeEntry, kNumSlowPathArgs);
compiler->EmitCallsiteMetadata(
instruction()->source(), instruction()->deopt_id(),
- UntaggedPcDescriptors::kOther, instruction()->locs());
+ UntaggedPcDescriptors::kOther, instruction()->locs(), env);
}
if (compiler->isolate_group()->use_osr() && !compiler->is_optimizing() &&
diff --git a/runtime/vm/compiler/backend/il_arm64.cc b/runtime/vm/compiler/backend/il_arm64.cc
index b4accd0..c6e7064 100644
--- a/runtime/vm/compiler/backend/il_arm64.cc
+++ b/runtime/vm/compiler/backend/il_arm64.cc
@@ -544,7 +544,7 @@
}
__ blr(R2);
compiler->EmitCallsiteMetadata(source(), deopt_id(),
- UntaggedPcDescriptors::kOther, locs());
+ UntaggedPcDescriptors::kOther, locs(), env());
__ Drop(argument_count);
}
@@ -1257,8 +1257,8 @@
// ADR loads relative to itself, so add kInstrSize to point to the next
// instruction.
__ adr(temp, compiler::Immediate(Instr::kInstrSize));
- compiler->EmitCallsiteMetadata(source(), deopt_id(),
- UntaggedPcDescriptors::Kind::kOther, locs());
+ compiler->EmitCallsiteMetadata(
+ source(), deopt_id(), UntaggedPcDescriptors::Kind::kOther, locs(), env());
__ StoreToOffset(temp, FPREG, kSavedCallerPcSlotFromFp * kWordSize);
@@ -3093,7 +3093,7 @@
// deoptimization stub.
const intptr_t deopt_id = DeoptId::ToDeoptAfter(GetDeoptId());
if (compiler->is_optimizing()) {
- compiler->AddDeoptIndexAtCall(deopt_id);
+ compiler->AddDeoptIndexAtCall(deopt_id, env());
} else {
compiler->AddCurrentDescriptor(UntaggedPcDescriptors::kDeopt, deopt_id,
InstructionSource());
@@ -3189,7 +3189,7 @@
__ Call(compiler::Address(THR, entry_point_offset));
}
compiler->RecordSafepoint(locs, kNumSlowPathArgs);
- compiler->RecordCatchEntryMoves();
+ compiler->RecordCatchEntryMoves(env);
compiler->AddDescriptor(
UntaggedPcDescriptors::kOther, compiler->assembler()->CodeSize(),
instruction()->deopt_id(), instruction()->source(),
@@ -3198,7 +3198,7 @@
__ CallRuntime(kStackOverflowRuntimeEntry, kNumSlowPathArgs);
compiler->EmitCallsiteMetadata(
instruction()->source(), instruction()->deopt_id(),
- UntaggedPcDescriptors::kOther, instruction()->locs());
+ UntaggedPcDescriptors::kOther, instruction()->locs(), env);
}
if (compiler->isolate_group()->use_osr() && !compiler->is_optimizing() &&
diff --git a/runtime/vm/compiler/backend/il_ia32.cc b/runtime/vm/compiler/backend/il_ia32.cc
index ca703b3..045490a 100644
--- a/runtime/vm/compiler/backend/il_ia32.cc
+++ b/runtime/vm/compiler/backend/il_ia32.cc
@@ -1031,7 +1031,8 @@
compiler::Label get_pc;
__ call(&get_pc);
compiler->EmitCallsiteMetadata(InstructionSource(), deopt_id(),
- UntaggedPcDescriptors::Kind::kOther, locs());
+ UntaggedPcDescriptors::Kind::kOther, locs(),
+ env());
__ Bind(&get_pc);
__ popl(temp);
__ movl(compiler::Address(FPREG, kSavedCallerPcSlotFromFp * kWordSize), temp);
@@ -2782,7 +2783,7 @@
// deoptimization stub.
const intptr_t deopt_id = DeoptId::ToDeoptAfter(GetDeoptId());
if (compiler->is_optimizing()) {
- compiler->AddDeoptIndexAtCall(deopt_id);
+ compiler->AddDeoptIndexAtCall(deopt_id, env());
} else {
compiler->AddCurrentDescriptor(UntaggedPcDescriptors::kDeopt, deopt_id,
InstructionSource());
@@ -2857,7 +2858,7 @@
__ CallRuntime(kStackOverflowRuntimeEntry, kNumSlowPathArgs);
compiler->EmitCallsiteMetadata(
instruction()->source(), instruction()->deopt_id(),
- UntaggedPcDescriptors::kOther, instruction()->locs());
+ UntaggedPcDescriptors::kOther, instruction()->locs(), env);
if (compiler->isolate_group()->use_osr() && !compiler->is_optimizing() &&
instruction()->in_loop()) {
@@ -6601,7 +6602,7 @@
__ xorl(ECX, ECX);
__ call(EBX);
compiler->EmitCallsiteMetadata(source(), deopt_id(),
- UntaggedPcDescriptors::kOther, locs());
+ UntaggedPcDescriptors::kOther, locs(), env());
__ Drop(argument_count);
}
diff --git a/runtime/vm/compiler/backend/il_x64.cc b/runtime/vm/compiler/backend/il_x64.cc
index 72e489e..8e6d3e9 100644
--- a/runtime/vm/compiler/backend/il_x64.cc
+++ b/runtime/vm/compiler/backend/il_x64.cc
@@ -1218,7 +1218,8 @@
// 'movq'.
__ leaq(TMP, compiler::Address::AddressRIPRelative(0));
compiler->EmitCallsiteMetadata(InstructionSource(), deopt_id(),
- UntaggedPcDescriptors::Kind::kOther, locs());
+ UntaggedPcDescriptors::Kind::kOther, locs(),
+ env());
__ movq(compiler::Address(FPREG, kSavedCallerPcSlotFromFp * kWordSize), TMP);
if (CanExecuteGeneratedCodeInSafepoint()) {
@@ -3198,7 +3199,7 @@
// deoptimization stub.
const intptr_t deopt_id = DeoptId::ToDeoptAfter(GetDeoptId());
if (compiler->is_optimizing()) {
- compiler->AddDeoptIndexAtCall(deopt_id);
+ compiler->AddDeoptIndexAtCall(deopt_id, env());
} else {
compiler->AddCurrentDescriptor(UntaggedPcDescriptors::kDeopt, deopt_id,
InstructionSource());
@@ -3281,7 +3282,7 @@
instruction()->locs()->live_registers()->FpuRegisterCount() > 0);
__ call(compiler::Address(THR, entry_point_offset));
compiler->RecordSafepoint(instruction()->locs(), kNumSlowPathArgs);
- compiler->RecordCatchEntryMoves();
+ compiler->RecordCatchEntryMoves(env);
compiler->AddDescriptor(
UntaggedPcDescriptors::kOther, compiler->assembler()->CodeSize(),
instruction()->deopt_id(), instruction()->source(),
@@ -3290,7 +3291,7 @@
__ CallRuntime(kStackOverflowRuntimeEntry, kNumSlowPathArgs);
compiler->EmitCallsiteMetadata(
instruction()->source(), instruction()->deopt_id(),
- UntaggedPcDescriptors::kOther, instruction()->locs());
+ UntaggedPcDescriptors::kOther, instruction()->locs(), env);
}
if (compiler->isolate_group()->use_osr() && !compiler->is_optimizing() &&
@@ -6904,7 +6905,7 @@
}
__ call(RCX);
compiler->EmitCallsiteMetadata(source(), deopt_id(),
- UntaggedPcDescriptors::kOther, locs());
+ UntaggedPcDescriptors::kOther, locs(), env());
__ Drop(argument_count);
}
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index 3734869..e1c900d 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -658,20 +658,10 @@
}
# This rule copies header files to include/
-copy("copy_headers") {
+group("copy_headers") {
visibility = [ ":create_common_sdk" ]
- sources = [
- "../runtime/include/dart_api.h",
- "../runtime/include/dart_api_dl.c",
- "../runtime/include/dart_api_dl.h",
- "../runtime/include/dart_native_api.h",
- "../runtime/include/dart_tools_api.h",
- "../runtime/include/dart_version.h",
- "../runtime/include/internal/dart_api_dl_impl.h",
- ]
- # Some magic to recover the folder structure inside the include folder.
- outputs = [ "$root_out_dir/dart-sdk/include/{{source_root_relative_dir}}/../../{{source_file_part}}" ]
+ deps = [ "../runtime/include:copy_headers" ]
}
# This rule copies libraries.json files to lib/
diff --git a/sdk/lib/_http/embedder_config.dart b/sdk/lib/_http/embedder_config.dart
index 730bc2dd..f43dc61 100644
--- a/sdk/lib/_http/embedder_config.dart
+++ b/sdk/lib/_http/embedder_config.dart
@@ -6,6 +6,16 @@
/// Embedder-specific `dart:_http` configuration.
-/// [HttpClient] will disallow HTTP URLs if this value is set to `false`.
-@pragma("vm:entry-point")
-bool _embedderAllowsHttp = true;
+/// Embedder hook for intercepting HTTP connections.
+///
+/// The [HttpClient] will call this function as a connection to a given [Uri]
+/// is being established.
+///
+/// The embedder can provide its own implementation to,
+/// for example, confirm whether such a connection should be allowed.
+/// If the connection is not allowed, this method can throw an [Error],
+/// which should then provide enough information to say why the connection
+/// was refused.
+/// If this function returns normally, the connection attempt will proceed.
+@pragma('vm:entry-point')
+void Function(Uri) _httpConnectionHook = (_) {};
diff --git a/sdk/lib/_http/http.dart b/sdk/lib/_http/http.dart
index c20759f..4a6c80d 100644
--- a/sdk/lib/_http/http.dart
+++ b/sdk/lib/_http/http.dart
@@ -1721,8 +1721,10 @@
/**
* Sets the function to be called when a site is requesting
- * authentication. The URL requested and the security realm from the
- * server are passed in the arguments [url] and [realm].
+ * authentication.
+ *
+ * The URL requested, the authentication scheme and the security realm
+ * from the server are passed in the arguments [url], [scheme] and [realm].
*
* The function returns a [Future] which should complete when the
* authentication has been resolved. If credentials cannot be
@@ -1742,7 +1744,7 @@
* of a failed request, or issues due to missing request payload on retried
* request.
*/
- void set authenticate(Future<bool> f(Uri url, String scheme, String realm)?);
+ void set authenticate(Future<bool> f(Uri url, String scheme, String? realm)?);
/**
* Add credentials to be used for authorizing HTTP requests.
@@ -1838,9 +1840,11 @@
/**
* Sets the function to be called when a proxy is requesting
- * authentication. Information on the proxy in use and the security
- * realm for the authentication are passed in the arguments [host],
- * [port] and [realm].
+ * authentication.
+ *
+ * Information on the proxy in use, the authentication scheme
+ * and the security realm for the authentication
+ * are passed in the arguments [host], [port], [scheme] and [realm].
*
* The function returns a [Future] which should complete when the
* authentication has been resolved. If credentials cannot be
@@ -1854,7 +1858,7 @@
* continue normally.
*/
void set authenticateProxy(
- Future<bool> f(String host, int port, String scheme, String realm)?);
+ Future<bool> f(String host, int port, String scheme, String? realm)?);
/**
* Add credentials to be used for authorizing HTTP proxies.
diff --git a/sdk/lib/_http/http_impl.dart b/sdk/lib/_http/http_impl.dart
index 4e4589b..b61f273 100644
--- a/sdk/lib/_http/http_impl.dart
+++ b/sdk/lib/_http/http_impl.dart
@@ -705,11 +705,11 @@
if (onError == null) {
return;
}
- if (onError is void Function(Object)) {
- onError(e);
- } else {
- assert(onError is void Function(Object, StackTrace));
+ if (onError is void Function(Object, StackTrace)) {
onError(e, st);
+ } else {
+ assert(onError is void Function(Object));
+ onError(e);
}
}, onDone: () {
_profileData?.finishResponse();
@@ -784,15 +784,16 @@
return new Future.value(false);
}
var proxy = _httpRequest._proxy;
- return authenticateProxy(
- proxy.host, proxy.port, scheme.toString(), realm);
- } else {
- var authenticate = _httpClient._authenticate;
- if (authenticate == null) {
- return new Future.value(false);
+ if (!proxy.isDirect) {
+ return authenticateProxy(
+ proxy.host!, proxy.port!, scheme.toString(), realm);
}
- return authenticate(_httpRequest.uri, scheme.toString(), realm);
}
+ var authenticate = _httpClient._authenticate;
+ if (authenticate == null) {
+ return new Future.value(false);
+ }
+ return authenticate(_httpRequest.uri, scheme.toString(), realm);
}
List<String> challenge = authChallenge()!;
@@ -2499,9 +2500,10 @@
final List<_Credentials> _credentials = [];
final List<_ProxyCredentials> _proxyCredentials = [];
final SecurityContext? _context;
- Function? _authenticate;
- Function? _authenticateProxy;
- Function? _findProxy = HttpClient.findProxyFromEnvironment;
+ Future<bool> Function(Uri, String scheme, String? realm)? _authenticate;
+ Future<bool> Function(String host, int port, String scheme, String? realm)?
+ _authenticateProxy;
+ String Function(Uri)? _findProxy = HttpClient.findProxyFromEnvironment;
Duration _idleTimeout = const Duration(seconds: 15);
BadCertificateCallback? _badCertificateCallback;
@@ -2600,7 +2602,7 @@
!force || !_connectionTargets.values.any((s) => s._active.isNotEmpty));
}
- set authenticate(Future<bool> f(Uri url, String scheme, String realm)?) {
+ set authenticate(Future<bool> f(Uri url, String scheme, String? realm)?) {
_authenticate = f;
}
@@ -2610,7 +2612,7 @@
}
set authenticateProxy(
- Future<bool> f(String host, int port, String scheme, String realm)?) {
+ Future<bool> f(String host, int port, String scheme, String? realm)?) {
_authenticateProxy = f;
}
@@ -2630,22 +2632,6 @@
});
}
- /// Whether HTTP requests are currently allowed.
- ///
- /// If the [Zone] variable `#dart.library.io.allow_http` is set to a boolean,
- /// it determines whether the HTTP protocol is allowed. If the zone variable
- /// is set to any other non-null value, HTTP is not allowed.
- /// Otherwise, if the `dart.library.io.allow_http` environment flag
- /// is set to `false`, HTTP is not allowed.
- /// Otherwise, [_embedderAllowsHttp] determines the result.
- bool get _isHttpAllowed {
- final zoneOverride = Zone.current[#dart.library.io.allow_http];
- if (zoneOverride != null) return true == zoneOverride;
- bool envOverride =
- bool.fromEnvironment("dart.library.io.allow_http", defaultValue: true);
- return envOverride && _embedderAllowsHttp;
- }
-
bool _isLoopback(String host) {
if (host.isEmpty) return false;
if ("localhost" == host) return true;
@@ -2676,11 +2662,9 @@
}
}
+ _httpConnectionHook(uri);
+
bool isSecure = uri.isScheme("https");
- if (!_isHttpAllowed && !isSecure && !_isLoopback(uri.host)) {
- throw new StateError(
- "Insecure HTTP is not allowed by the current platform: $uri");
- }
int port = uri.port;
if (port == 0) {
diff --git a/tests/ffi/regress_46004_test.dart b/tests/ffi/regress_46004_test.dart
new file mode 100644
index 0000000..81c4da7
--- /dev/null
+++ b/tests/ffi/regress_46004_test.dart
@@ -0,0 +1,28 @@
+// Copyright (c) 2021, 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:ffi';
+
+import "package:expect/expect.dart";
+import "package:ffi/ffi.dart";
+
+class COMObject extends Struct {
+ external Pointer<IntPtr> lpVtbl;
+
+ // This should not be interpreted as a native field.
+ Pointer<IntPtr> get vtable => Pointer.fromAddress(lpVtbl.value);
+}
+
+void main() {
+ Expect.equals(sizeOf<Pointer>(), sizeOf<COMObject>());
+
+ final comObjectPointer = calloc<COMObject>();
+ final vTablePointer = calloc<IntPtr>();
+ vTablePointer.value = 1234;
+ final comObject = comObjectPointer.ref;
+ comObject.lpVtbl = vTablePointer;
+ Expect.equals(1234, comObject.vtable.address);
+ calloc.free(comObjectPointer);
+ calloc.free(vTablePointer);
+}
diff --git a/tests/ffi_2/regress_46004_test.dart b/tests/ffi_2/regress_46004_test.dart
new file mode 100644
index 0000000..627611f
--- /dev/null
+++ b/tests/ffi_2/regress_46004_test.dart
@@ -0,0 +1,28 @@
+// Copyright (c) 2021, 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:ffi';
+
+import "package:expect/expect.dart";
+import "package:ffi/ffi.dart";
+
+class COMObject extends Struct {
+ Pointer<IntPtr> lpVtbl;
+
+ // This should not be interpreted as a native field.
+ Pointer<IntPtr> get vtable => Pointer.fromAddress(lpVtbl.value);
+}
+
+void main() {
+ Expect.equals(sizeOf<Pointer>(), sizeOf<COMObject>());
+
+ final comObjectPointer = calloc<COMObject>();
+ final vTablePointer = calloc<IntPtr>();
+ vTablePointer.value = 1234;
+ final comObject = comObjectPointer.ref;
+ comObject.lpVtbl = vTablePointer;
+ Expect.equals(1234, comObject.vtable.address);
+ calloc.free(comObjectPointer);
+ calloc.free(vTablePointer);
+}
diff --git a/tests/standalone/io/http_auth_digest_test.dart b/tests/standalone/io/http_auth_digest_test.dart
index e8d66fb..11e3ecf 100644
--- a/tests/standalone/io/http_auth_digest_test.dart
+++ b/tests/standalone/io/http_auth_digest_test.dart
@@ -207,7 +207,7 @@
Server.start(algorithm, qop).then((server) {
HttpClient client = new HttpClient();
- client.authenticate = (Uri url, String scheme, String realm) {
+ client.authenticate = (url, scheme, realm) {
Expect.equals("Digest", scheme);
Expect.equals("test", realm);
final completer = new Completer<bool>();
@@ -348,7 +348,7 @@
client.addCredentials(Uri.parse("http://127.0.0.1/digest"), "test",
new HttpClientDigestCredentials("dart", "password"));
- client.authenticate = (Uri url, String scheme, String realm) {
+ client.authenticate = (url, scheme, realm) {
client.addCredentials(Uri.parse("http://127.0.0.1/digest"), "test",
new HttpClientDigestCredentials("dart", "password"));
return new Future.value(true);
diff --git a/tests/standalone/io/http_auth_test.dart b/tests/standalone/io/http_auth_test.dart
index b1e5b31..9b01075 100644
--- a/tests/standalone/io/http_auth_test.dart
+++ b/tests/standalone/io/http_auth_test.dart
@@ -156,7 +156,7 @@
HttpClient client = new HttpClient();
bool passwordChanged = false;
- client.authenticate = (Uri url, String scheme, String realm) {
+ client.authenticate = (Uri url, String scheme, String? realm) {
Expect.equals("Basic", scheme);
Expect.equals("realm", realm);
String username = url.path.substring(1, 6);
@@ -165,7 +165,7 @@
final completer = new Completer<bool>();
new Timer(const Duration(milliseconds: 10), () {
client.addCredentials(
- url, realm, new HttpClientBasicCredentials(username, password));
+ url, realm!, new HttpClientBasicCredentials(username, password));
completer.complete(true);
});
return completer.future;
@@ -208,7 +208,7 @@
void testLocalServerBasic() {
HttpClient client = new HttpClient();
- client.authenticate = (Uri url, String scheme, String realm) {
+ client.authenticate = (Uri url, String scheme, String? realm) {
client.addCredentials(Uri.parse("http://127.0.0.1/basic"), "test",
new HttpClientBasicCredentials("test", "test"));
return new Future.value(true);
@@ -228,7 +228,7 @@
void testLocalServerDigest() {
HttpClient client = new HttpClient();
- client.authenticate = (Uri url, String scheme, String realm) {
+ client.authenticate = (Uri url, String scheme, String? realm) {
print("url: $url, scheme: $scheme, realm: $realm");
client.addCredentials(Uri.parse("http://127.0.0.1/digest"), "test",
new HttpClientDigestCredentials("test", "test"));
diff --git a/tests/standalone/io/http_ban_http_embedder_test.dart b/tests/standalone/io/http_ban_http_embedder_test.dart
deleted file mode 100644
index 7fd3cb3..0000000
--- a/tests/standalone/io/http_ban_http_embedder_test.dart
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-// SharedOptions=-Ddart.library.io.allow_http=false
-
-import 'dart:async';
-import 'dart:io';
-
-import "package:async_helper/async_helper.dart";
-
-import 'http_ban_http_normal_test.dart';
-import 'http_bind_test.dart';
-
-Future<void> testWithHostname() async {
- await testBanHttp(await getLocalHostIP(), (httpClient, httpUri) async {
- asyncExpectThrows(
- () async => await httpClient.getUrl(httpUri), (e) => e is StateError);
- asyncExpectThrows(
- () async => await runZoned(() => httpClient.getUrl(httpUri),
- zoneValues: {#dart.library.io.allow_http: 'foo'}),
- (e) => e is StateError);
- asyncExpectThrows(
- () async => await runZoned(() => httpClient.getUrl(httpUri),
- zoneValues: {#dart.library.io.allow_http: false}),
- (e) => e is StateError);
- await asyncTest(() => runZoned(() => httpClient.getUrl(httpUri),
- zoneValues: {#dart.library.io.allow_http: true}));
- });
-}
-
-Future<void> testWithLoopback() async {
- await testBanHttp("127.0.0.1", (httpClient, uri) async {
- await asyncTest(
- () => httpClient.getUrl(Uri.parse('http://localhost:${uri.port}')));
- await asyncTest(
- () => httpClient.getUrl(Uri.parse('http://127.0.0.1:${uri.port}')));
- });
-}
-
-Future<void> testWithIPv6() async {
- if (await supportsIPV6()) {
- await testBanHttp("::1", (httpClient, uri) async {
- await asyncTest(() => httpClient.getUrl(uri));
- });
- }
-}
-
-Future<void> testWithHTTPS() async {
- await testBanHttp(await getLocalHostIP(), (httpClient, uri) async {
- asyncExpectThrows(
- () => httpClient.getUrl(Uri(
- scheme: 'https',
- host: uri.host,
- port: uri.port,
- )),
- (e) => e is SocketException || e is HandshakeException);
- });
-}
-
-main() {
- asyncStart();
- Future.wait(<Future>[
- testWithHostname(),
- testWithLoopback(),
- testWithIPv6(),
- testWithHTTPS(),
- ]).then((_) => asyncEnd());
-}
diff --git a/tests/standalone/io/http_ban_http_normal_test.dart b/tests/standalone/io/http_ban_http_normal_test.dart
deleted file mode 100644
index 118dd4c..0000000
--- a/tests/standalone/io/http_ban_http_normal_test.dart
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import 'dart:async';
-import 'dart:io';
-
-import "package:async_helper/async_helper.dart";
-
-Future<String> getLocalHostIP() async {
- final interfaces = await NetworkInterface.list(
- includeLoopback: false, type: InternetAddressType.IPv4);
- return interfaces.first.addresses.first.address;
-}
-
-Future<void> testBanHttp(String serverHost,
- Future<void> testCode(HttpClient client, Uri uri)) async {
- final httpClient = new HttpClient();
- final server = await HttpServer.bind(serverHost, 0);
- final uri = Uri(scheme: 'http', host: serverHost, port: server.port);
- try {
- await testCode(httpClient, uri);
- } finally {
- httpClient.close(force: true);
- await server.close();
- }
-}
-
-main() async {
- await asyncTest(() async {
- final host = await getLocalHostIP();
- // Normal HTTP request succeeds.
- await testBanHttp(host, (httpClient, uri) async {
- await asyncTest(() => httpClient.getUrl(uri));
- });
- // We can ban HTTP explicitly.
- await testBanHttp(host, (httpClient, uri) async {
- asyncExpectThrows(
- () async => await runZoned(() => httpClient.getUrl(uri),
- zoneValues: {#dart.library.io.allow_http: false}),
- (e) => e is StateError);
- });
- });
-}
diff --git a/tests/standalone_2/io/http_auth_digest_test.dart b/tests/standalone_2/io/http_auth_digest_test.dart
index 5f708b9..42d34ae 100644
--- a/tests/standalone_2/io/http_auth_digest_test.dart
+++ b/tests/standalone_2/io/http_auth_digest_test.dart
@@ -209,7 +209,7 @@
Server.start(algorithm, qop).then((server) {
HttpClient client = new HttpClient();
- client.authenticate = (Uri url, String scheme, String realm) {
+ client.authenticate = (url, scheme, realm) {
Expect.equals("Digest", scheme);
Expect.equals("test", realm);
Completer completer = new Completer<bool>();
@@ -350,7 +350,7 @@
client.addCredentials(Uri.parse("http://127.0.0.1/digest"), "test",
new HttpClientDigestCredentials("dart", "password"));
- client.authenticate = (Uri url, String scheme, String realm) {
+ client.authenticate = (url, scheme, realm) {
client.addCredentials(Uri.parse("http://127.0.0.1/digest"), "test",
new HttpClientDigestCredentials("dart", "password"));
return new Future.value(true);
diff --git a/tests/standalone_2/io/http_ban_http_embedder_test.dart b/tests/standalone_2/io/http_ban_http_embedder_test.dart
deleted file mode 100644
index d40500f..0000000
--- a/tests/standalone_2/io/http_ban_http_embedder_test.dart
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-// @dart = 2.9
-
-// SharedOptions=-Ddart.library.io.allow_http=false
-
-import 'dart:async';
-import 'dart:io';
-
-import "package:async_helper/async_helper.dart";
-
-import 'http_ban_http_normal_test.dart';
-import 'http_bind_test.dart';
-
-Future<void> testWithHostname() async {
- await testBanHttp(await getLocalHostIP(), (httpClient, httpUri) async {
- asyncExpectThrows(
- () async => await httpClient.getUrl(httpUri), (e) => e is StateError);
- asyncExpectThrows(
- () async => await runZoned(() => httpClient.getUrl(httpUri),
- zoneValues: {#dart.library.io.allow_http: 'foo'}),
- (e) => e is StateError);
- asyncExpectThrows(
- () async => await runZoned(() => httpClient.getUrl(httpUri),
- zoneValues: {#dart.library.io.allow_http: false}),
- (e) => e is StateError);
- await asyncTest(() => runZoned(() => httpClient.getUrl(httpUri),
- zoneValues: {#dart.library.io.allow_http: true}));
- });
-}
-
-Future<void> testWithLoopback() async {
- await testBanHttp("127.0.0.1", (httpClient, uri) async {
- await asyncTest(
- () => httpClient.getUrl(Uri.parse('http://localhost:${uri.port}')));
- await asyncTest(
- () => httpClient.getUrl(Uri.parse('http://127.0.0.1:${uri.port}')));
- });
-}
-
-Future<void> testWithIPv6() async {
- if (await supportsIPV6()) {
- await testBanHttp("::1", (httpClient, uri) async {
- await asyncTest(() => httpClient.getUrl(uri));
- });
- }
-}
-
-Future<void> testWithHTTPS() async {
- await testBanHttp(await getLocalHostIP(), (httpClient, uri) async {
- asyncExpectThrows(
- () => httpClient.getUrl(Uri(
- scheme: 'https',
- host: uri.host,
- port: uri.port,
- )),
- (e) => e is SocketException || e is HandshakeException);
- });
-}
-
-main() {
- asyncStart();
- Future.wait(<Future>[
- testWithHostname(),
- testWithLoopback(),
- testWithIPv6(),
- testWithHTTPS(),
- ]).then((_) => asyncEnd());
-}
diff --git a/tests/standalone_2/io/http_ban_http_normal_test.dart b/tests/standalone_2/io/http_ban_http_normal_test.dart
deleted file mode 100644
index adb4708..0000000
--- a/tests/standalone_2/io/http_ban_http_normal_test.dart
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-// @dart = 2.9
-
-import 'dart:async';
-import 'dart:io';
-
-import "package:async_helper/async_helper.dart";
-
-Future<String> getLocalHostIP() async {
- final interfaces = await NetworkInterface.list(
- includeLoopback: false, type: InternetAddressType.IPv4);
- return interfaces.first.addresses.first.address;
-}
-
-Future<void> testBanHttp(String serverHost,
- Future<void> testCode(HttpClient client, Uri uri)) async {
- final httpClient = new HttpClient();
- final server = await HttpServer.bind(serverHost, 0);
- final uri = Uri(scheme: 'http', host: serverHost, port: server.port);
- try {
- await testCode(httpClient, uri);
- } finally {
- httpClient.close(force: true);
- await server.close();
- }
-}
-
-main() async {
- await asyncTest(() async {
- final host = await getLocalHostIP();
- // Normal HTTP request succeeds.
- await testBanHttp(host, (httpClient, uri) async {
- await asyncTest(() => httpClient.getUrl(uri));
- });
- // We can ban HTTP explicitly.
- await testBanHttp(host, (httpClient, uri) async {
- asyncExpectThrows(
- () async => await runZoned(() => httpClient.getUrl(uri),
- zoneValues: {#dart.library.io.allow_http: false}),
- (e) => e is StateError);
- });
- });
-}
diff --git a/tools/VERSION b/tools/VERSION
index b1dbbe1..41a77e2 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 14
PATCH 0
-PRERELEASE 132
+PRERELEASE 133
PRERELEASE_PATCH 0
\ No newline at end of file
diff --git a/tools/create_pkg_manifest.py b/tools/create_pkg_manifest.py
index 0233b44..b0944f2 100755
--- a/tools/create_pkg_manifest.py
+++ b/tools/create_pkg_manifest.py
@@ -57,7 +57,7 @@
# Extract the deps and filter.
deps = local_scope.get('deps', {})
filtered_deps = {}
- for k, v in deps.iteritems():
+ for k, v in deps.items():
if 'sdk/third_party/pkg' in k:
new_key = k.replace('sdk', 'third_party/dart', 1)
filtered_deps[new_key] = v
@@ -80,7 +80,7 @@
manifest.write(warning)
manifest.write('<manifest>\n')
manifest.write(' <projects>\n')
- for path, remote in sorted(deps.iteritems()):
+ for path, remote in sorted(deps.items()):
remote_components = remote.split('@')
remote_url = remote_components[0]
remote_version = remote_components[1]
diff --git a/tools/dom/new_scripts/code_generator_dart.py b/tools/dom/new_scripts/code_generator_dart.py
index 2a92923..2830e7f 100644
--- a/tools/dom/new_scripts/code_generator_dart.py
+++ b/tools/dom/new_scripts/code_generator_dart.py
@@ -102,21 +102,20 @@
# Set global type info
idl_types.set_ancestors(
dict((interface_name, interface_info['ancestors'])
- for interface_name, interface_info in interfaces_info.
- iteritems()
+ for interface_name, interface_info in interfaces_info.items()
if interface_info['ancestors']))
IdlType.set_callback_interfaces(
- set(interface_name for interface_name, interface_info in
- interfaces_info.iteritems()
+ set(interface_name
+ for interface_name, interface_info in interfaces_info.items()
if interface_info['is_callback_interface']))
IdlType.set_implemented_as_interfaces(
dict((interface_name, interface_info['implemented_as'])
- for interface_name, interface_info in interfaces_info.
- iteritems()
+ for interface_name, interface_info in interfaces_info.items()
if interface_info['implemented_as']))
IdlType.set_garbage_collected_types(
- set(interface_name for interface_name, interface_info in
- interfaces_info.iteritems() if 'GarbageCollected' in
+ set(interface_name
+ for interface_name, interface_info in interfaces_info.items()
+ if 'GarbageCollected' in
interface_info['inherited_extended_attributes']))
def generate_code(self, definitions, interface_name, idl_pickle_filename,
diff --git a/tools/dom/scripts/dartmetadata.py b/tools/dom/scripts/dartmetadata.py
index ee4d4a4..b997b60 100644
--- a/tools/dom/scripts/dartmetadata.py
+++ b/tools/dom/scripts/dartmetadata.py
@@ -714,7 +714,7 @@
if _monitor_type_metadata:
monitored_interfaces = {}
- for interface_id, interface_data in self._types.iteritems():
+ for interface_id, interface_data in self._types.items():
monitored_interface = interface_data.copy()
monitored_interface['members'] = monitored.Dict(
'dartmetadata.%s' % interface_id, interface_data['members'])
diff --git a/tools/utils.py b/tools/utils.py
index 9a0c720..644fc49 100644
--- a/tools/utils.py
+++ b/tools/utils.py
@@ -825,13 +825,13 @@
self._upload(files)
if missing:
- self._report_missing_crashes(missing, throw=True)
+ self._report_missing_crashes(missing, throw=False)
# todo(athom): move the logic to decide where to copy core dumps into the recipes.
def _is_shard(self):
return 'BUILDBOT_BUILDERNAME' not in os.environ
- def _report_missing_crashes(self, missing, throw=True):
+ def _report_missing_crashes(self, missing, throw=False):
missing_as_string = ', '.join([str(c) for c in missing])
other_files = list(glob.glob(os.path.join(self._search_dir, '*')))
sys.stderr.write(
@@ -1071,7 +1071,7 @@
if crash.pid in self._dumps_by_pid:
return self._dumps_by_pid[crash.pid]
- def _report_missing_crashes(self, missing, throw=True):
+ def _report_missing_crashes(self, missing, throw=False):
# Let's only print the debugging information and not throw. We'll do more
# validation for werfault.exe and throw afterwards.
super(WindowsCoreDumpArchiver, self)._report_missing_crashes(