Skip to content

Commit 2d1e5d2

Browse files
rakudramaCommit Bot
authored and
Commit Bot
committed
[dart2js] Migrate more serialization dependencies
Change-Id: If58b5b2c61a0bcc59ca4401285fd01254cc80497 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/248523 Reviewed-by: Nate Biggs <[email protected]> Commit-Queue: Stephen Adams <[email protected]>
1 parent 9122234 commit 2d1e5d2

17 files changed

+156
-38
lines changed

pkg/compiler/lib/src/deferred_load/output_unit.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import '../common.dart';
1010
import '../constants/values.dart'
1111
show ConstantValue, DeferredGlobalConstantValue;
1212
import '../elements/entities.dart';
13-
import '../serialization/serialization.dart';
13+
import '../serialization/serialization_interfaces.dart';
1414
import '../options.dart';
1515

1616
// TODO(48820): Move OutputUnit and compareImportEntities back here.

pkg/compiler/lib/src/inferrer/engine.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import '../js_model/js_world.dart';
2424
import '../js_model/locals.dart';
2525
import '../native/behavior.dart';
2626
import '../options.dart';
27-
import '../serialization/serialization.dart';
27+
import '../serialization/serialization_interfaces.dart';
2828
import '../universe/call_structure.dart';
2929
import '../universe/selector.dart';
3030
import '../universe/side_effects.dart';

pkg/compiler/lib/src/inferrer/powersets/powersets.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import '../../elements/entities.dart';
99
import '../../elements/names.dart';
1010
import '../../elements/types.dart' show DartType;
1111
import '../../ir/class_relation.dart';
12-
import '../../serialization/serialization.dart';
12+
import '../../serialization/serialization_interfaces.dart';
1313
import '../../universe/selector.dart';
1414
import '../../universe/world_builder.dart';
1515
import '../../universe/use.dart';

pkg/compiler/lib/src/inferrer/typemasks/masks.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import '../../elements/entities.dart';
1515
import '../../elements/names.dart';
1616
import '../../elements/types.dart';
1717
import '../../ir/class_relation.dart';
18-
import '../../serialization/serialization.dart';
18+
import '../../serialization/serialization_interfaces.dart';
1919
import '../../universe/class_hierarchy.dart';
2020
import '../../universe/selector.dart' show Selector;
2121
import '../../universe/use.dart' show DynamicUse;

pkg/compiler/lib/src/inferrer/wrapped.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import '../elements/entities.dart';
99
import '../elements/names.dart';
1010
import '../elements/types.dart' show DartType;
1111
import '../ir/class_relation.dart';
12-
import '../serialization/serialization.dart';
12+
import '../serialization/serialization_interfaces.dart';
1313
import '../universe/selector.dart';
1414
import '../universe/world_builder.dart';
1515
import '../universe/use.dart';

pkg/compiler/lib/src/js_backend/backend_usage.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import '../elements/entities.dart';
1010
import '../elements/types.dart';
1111
import '../ir/runtime_type_analysis.dart';
1212
import '../kernel/kernel_strategy.dart';
13-
import '../serialization/serialization.dart';
13+
import '../serialization/serialization_interfaces.dart';
1414
import '../universe/feature.dart';
1515
import '../util/util.dart' show Setlet;
1616
import 'backend_impact.dart';

pkg/compiler/lib/src/js_backend/deferred_holder_expression.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import 'package:front_end/src/api_unstable/dart2js.dart' show $A;
1010
import '../common/elements.dart' show JCommonElements;
1111
import '../elements/entities.dart';
1212
import '../js/js.dart' as js;
13-
import '../serialization/serialization.dart';
13+
import '../serialization/serialization_interfaces.dart';
1414
import '../util/util.dart';
1515
import '../js_emitter/model.dart';
1616
import '../constants/values.dart' show ConstantValue;

pkg/compiler/lib/src/js_backend/field_analysis.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ import '../elements/entity_utils.dart';
1414
import '../elements/types.dart';
1515
import '../ir/scope_visitor.dart';
1616
import '../js_model/elements.dart' show JField;
17-
import '../js_model/js_world_builder.dart';
17+
import '../js_model/js_world_builder.dart' show JsToFrontendMap;
1818
import '../kernel/element_map.dart';
1919
import '../kernel/kernel_strategy.dart';
2020
import '../kernel/kelements.dart' show KClass, KField, KConstructor;
2121
import '../kernel/kernel_world.dart';
2222
import '../options.dart';
23-
import '../serialization/serialization.dart';
23+
import '../serialization/serialization_interfaces.dart';
2424
import '../universe/member_usage.dart';
2525

2626
/// AllocatorAnalysis

pkg/compiler/lib/src/js_backend/inferred_data.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import 'dart:collection' show Queue;
99
import '../common.dart';
1010
import '../elements/entities.dart';
1111
import '../inferrer/abstract_value_domain.dart';
12-
import '../serialization/serialization.dart';
12+
import '../serialization/serialization_interfaces.dart';
1313
import '../universe/selector.dart';
1414
import '../universe/side_effects.dart';
1515
import '../world.dart';

pkg/compiler/lib/src/js_backend/interceptor_data.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import '../elements/entities.dart';
1313
import '../elements/types.dart';
1414
import '../inferrer/abstract_value_domain.dart';
1515
import '../js/js.dart' as jsAst;
16-
import '../serialization/serialization.dart';
16+
import '../serialization/serialization_interfaces.dart';
1717
import '../universe/class_set.dart';
1818
import '../universe/selector.dart';
1919
import '../world.dart' show JClosedWorld;

pkg/compiler/lib/src/js_backend/no_such_method_registry.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import '../common/names.dart' show Identifiers, Selectors;
1010
import '../elements/entities.dart';
1111
import '../inferrer/types.dart';
1212
import '../kernel/no_such_method_resolver.dart';
13-
import '../serialization/serialization.dart';
13+
import '../serialization/serialization_interfaces.dart';
1414

1515
/// [NoSuchMethodRegistry] and [NoSuchMethodData] categorizes `noSuchMethod`
1616
/// implementations.

pkg/compiler/lib/src/js_backend/runtime_types_resolution.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import '../ir/runtime_type_analysis.dart';
1616
import '../kernel/kelements.dart';
1717
import '../kernel/kernel_world.dart';
1818
import '../options.dart';
19-
import '../serialization/serialization.dart';
19+
import '../serialization/serialization_interfaces.dart';
2020
import '../universe/class_hierarchy.dart';
2121
import '../universe/class_set.dart';
2222
import '../universe/feature.dart';

pkg/compiler/lib/src/serialization/serialization_interfaces.dart

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import 'package:kernel/ast.dart' as ir show DartType, Member, TreeNode;
77
import '../constants/values.dart' show ConstantValue;
88
import '../elements/entities.dart';
99
import '../elements/types.dart' show DartType;
10+
import '../inferrer/abstract_value_domain.dart' show AbstractValue;
1011

1112
export 'tags.dart';
1213

@@ -61,9 +62,17 @@ abstract class DataSinkWriter {
6162

6263
void writeClass(covariant ClassEntity value); // IndexedClass
6364
void writeClassOrNull(covariant ClassEntity? value); // IndexedClass
65+
void writeClasses(Iterable<ClassEntity> values, {bool allowNull = false});
66+
void writeClassMap<V>(Map<ClassEntity, V>? map, void f(V value),
67+
{bool allowNull = false});
68+
6469
void writeTypeVariable(
6570
covariant TypeVariableEntity value); // IndexedTypeVariable
6671

72+
void writeMember(covariant MemberEntity member); // IndexMember
73+
void writeMemberOrNull(covariant MemberEntity? member); // IndexMember
74+
void writeMembers(Iterable<MemberEntity>? values, {bool allowNull = false});
75+
6776
void writeMemberMap<V>(
6877
Map<MemberEntity, V>? map, void f(MemberEntity member, V value),
6978
{bool allowNull = false});
@@ -89,6 +98,19 @@ abstract class DataSinkWriter {
8998
{bool allowNull = false});
9099

91100
void writeConstant(ConstantValue value);
101+
void writeConstantOrNull(ConstantValue? value);
102+
void writeConstantMap<V>(Map<ConstantValue, V>? map, void f(V value),
103+
{bool allowNull = false});
104+
105+
void writeValueOrNull<E>(E? value, void f(E value));
106+
107+
void writeImport(ImportEntity import);
108+
void writeImportOrNull(ImportEntity? import);
109+
void writeImports(Iterable<ImportEntity>? values, {bool allowNull = false});
110+
void writeImportMap<V>(Map<ImportEntity, V>? map, void f(V value),
111+
{bool allowNull = false});
112+
113+
void writeAbstractValue(AbstractValue value);
92114
}
93115

94116
/// Migrated interface for methods of DataSourceReader.
@@ -112,8 +134,17 @@ abstract class DataSourceReader {
112134

113135
ClassEntity readClass(); // IndexedClass
114136
ClassEntity? readClassOrNull(); // IndexedClass
137+
List<E> readClasses<E extends ClassEntity>();
138+
List<E>? readClassesOrNull<E extends ClassEntity>();
139+
Map<K, V> readClassMap<K extends ClassEntity, V>(V f());
140+
Map<K, V>? readClassMapOrNull<K extends ClassEntity, V>(V f());
141+
115142
TypeVariableEntity readTypeVariable(); // IndexedTypeVariable
116143

144+
MemberEntity readMember();
145+
MemberEntity? readMemberOrNull();
146+
List<E> readMembers<E extends MemberEntity>();
147+
List<E>? readMembersOrNull<E extends MemberEntity>();
117148
Map<K, V> readMemberMap<K extends MemberEntity, V>(V f(MemberEntity member));
118149
Map<K, V>? readMemberMapOrNull<K extends MemberEntity, V>(
119150
V f(MemberEntity member));
@@ -140,6 +171,20 @@ abstract class DataSourceReader {
140171
List<E>? readListOrNull<E extends Object>(E f());
141172

142173
ConstantValue readConstant();
174+
ConstantValue? readConstantOrNull();
175+
Map<K, V> readConstantMap<K extends ConstantValue, V>(V f());
176+
Map<K, V>? readConstantMapOrNull<K extends ConstantValue, V>(V f());
177+
178+
E? readValueOrNull<E>(E f());
179+
180+
ImportEntity readImport();
181+
ImportEntity? readImportOrNull();
182+
List<ImportEntity> readImports();
183+
List<ImportEntity>? readImportsOrNull();
184+
Map<ImportEntity, V> readImportMap<V>(V f());
185+
Map<ImportEntity, V>? readImportMapOrNull<V>(V f());
186+
187+
AbstractValue readAbstractValue();
143188

144189
E readWithSource<E>(DataSourceReader source, E f());
145190
E readWithOffset<E>(int offset, E f());

pkg/compiler/lib/src/serialization/sink.dart

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ class DataSinkWriter implements migrated.DataSinkWriter {
151151
///
152152
/// This is a convenience method to be used together with
153153
/// [DataSourceReader.readValueOrNull].
154+
@override
154155
void writeValueOrNull<E>(E value, void f(E value)) {
155156
writeBool(value != null);
156157
if (value != null) {
@@ -766,6 +767,7 @@ class DataSinkWriter implements migrated.DataSinkWriter {
766767
///
767768
/// This is a convenience method to be used together with
768769
/// [DataSourceReader.readClasses].
770+
@override
769771
void writeClasses(Iterable<ClassEntity> values, {bool allowNull = false}) {
770772
if (values == null) {
771773
assert(allowNull);
@@ -784,6 +786,7 @@ class DataSinkWriter implements migrated.DataSinkWriter {
784786
///
785787
/// This is a convenience method to be used together with
786788
/// [DataSourceReader.readClassMap].
789+
@override
787790
void writeClassMap<V>(Map<ClassEntity, V> map, void f(V value),
788791
{bool allowNull = false}) {
789792
if (map == null) {
@@ -799,6 +802,7 @@ class DataSinkWriter implements migrated.DataSinkWriter {
799802
}
800803

801804
/// Writes a reference to the indexed member [value] to this data sink.
805+
@override
802806
void writeMember(IndexedMember value) {
803807
_entityWriter.writeMemberToDataSink(this, value);
804808
}
@@ -808,6 +812,7 @@ class DataSinkWriter implements migrated.DataSinkWriter {
808812
///
809813
/// This is a convenience method to be used together with
810814
/// [DataSourceReader.readMemberOrNull].
815+
@override
811816
void writeMemberOrNull(IndexedMember value) {
812817
writeBool(value != null);
813818
if (value != null) {
@@ -820,6 +825,7 @@ class DataSinkWriter implements migrated.DataSinkWriter {
820825
///
821826
/// This is a convenience method to be used together with
822827
/// [DataSourceReader.readMembers].
828+
@override
823829
void writeMembers(Iterable<MemberEntity> values, {bool allowNull = false}) {
824830
if (values == null) {
825831
assert(allowNull);
@@ -1048,6 +1054,7 @@ class DataSinkWriter implements migrated.DataSinkWriter {
10481054
}
10491055

10501056
/// Writes the potentially `null` constant [value] to this data sink.
1057+
@override
10511058
void writeConstantOrNull(ConstantValue value) {
10521059
writeBool(value != null);
10531060
if (value != null) {
@@ -1079,6 +1086,7 @@ class DataSinkWriter implements migrated.DataSinkWriter {
10791086
///
10801087
/// This is a convenience method to be used together with
10811088
/// [DataSourceReader.readConstantMap].
1089+
@override
10821090
void writeConstantMap<V>(Map<ConstantValue, V> map, void f(V value),
10831091
{bool allowNull = false}) {
10841092
if (map == null) {
@@ -1122,6 +1130,7 @@ class DataSinkWriter implements migrated.DataSinkWriter {
11221130
}
11231131

11241132
/// Writes the import [value] to this data sink.
1133+
@override
11251134
void writeImport(ImportEntity value) {
11261135
_writeDataKind(DataKind.import);
11271136
_writeImport(value);
@@ -1140,6 +1149,7 @@ class DataSinkWriter implements migrated.DataSinkWriter {
11401149
}
11411150

11421151
/// Writes the potentially `null` import [value] to this data sink.
1152+
@override
11431153
void writeImportOrNull(ImportEntity value) {
11441154
writeBool(value != null);
11451155
if (value != null) {
@@ -1152,6 +1162,7 @@ class DataSinkWriter implements migrated.DataSinkWriter {
11521162
///
11531163
/// This is a convenience method to be used together with
11541164
/// [DataSourceReader.readImports].
1165+
@override
11551166
void writeImports(Iterable<ImportEntity> values, {bool allowNull = false}) {
11561167
if (values == null) {
11571168
assert(allowNull);
@@ -1170,7 +1181,8 @@ class DataSinkWriter implements migrated.DataSinkWriter {
11701181
///
11711182
/// This is a convenience method to be used together with
11721183
/// [DataSourceReader.readImportMap].
1173-
void writeImportMap<V>(Map<ImportEntity, V> map, void f(V value),
1184+
@override
1185+
void writeImportMap<V>(Map<ImportEntity, V> /*?*/ map, void f(V value),
11741186
{bool allowNull = false}) {
11751187
if (map == null) {
11761188
assert(allowNull);
@@ -1187,6 +1199,7 @@ class DataSinkWriter implements migrated.DataSinkWriter {
11871199
/// Writes an abstract [value] to this data sink.
11881200
///
11891201
/// This feature is only available a [CodegenWriter] has been registered.
1202+
@override
11901203
void writeAbstractValue(AbstractValue value) {
11911204
assert(_codegenWriter != null,
11921205
"Can not serialize an AbstractValue without a registered codegen writer.");

0 commit comments

Comments
 (0)