Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(375)

Side by Side Diff: pkg/compiler/lib/src/serialization/modelz.dart

Issue 1856713002: Test ResolutionImpact equivalence. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comments Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /// Implementation of the element model used for deserialiation. 5 /// Implementation of the element model used for deserialiation.
6 /// 6 ///
7 /// These classes are created by [ElementDeserializer] triggered by the 7 /// These classes are created by [ElementDeserializer] triggered by the
8 /// [Deserializer]. 8 /// [Deserializer].
9 9
10 library dart2js.serialization.modelz; 10 library dart2js.serialization.modelz;
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 Element member = members.getElement(key); 302 Element member = members.getElement(key);
303 if (member != null) { 303 if (member != null) {
304 f(member); 304 f(member);
305 } 305 }
306 }); 306 });
307 } 307 }
308 } 308 }
309 309
310 class AbstractFieldElementZ extends ElementZ implements AbstractFieldElement { 310 class AbstractFieldElementZ extends ElementZ implements AbstractFieldElement {
311 final String name; 311 final String name;
312 final FunctionElement getter; 312 final GetterElementZ getter;
313 final FunctionElement setter; 313 final SetterElementZ setter;
314 314
315 AbstractFieldElementZ(this.name, this.getter, this.setter); 315 AbstractFieldElementZ(this.name, this.getter, this.setter) {
316 if (getter != null) {
317 getter.abstractField = this;
318 getter.setter = setter;
319 }
320 if (setter != null) {
321 setter.abstractField = this;
322 setter.getter = getter;
323 }
324 }
316 325
317 FunctionElement get _canonicalElement => getter != null ? getter : setter; 326 FunctionElement get _canonicalElement => getter != null ? getter : setter;
318 327
319 @override 328 @override
320 ElementKind get kind => ElementKind.ABSTRACT_FIELD; 329 ElementKind get kind => ElementKind.ABSTRACT_FIELD;
321 330
322 @override 331 @override
323 accept(ElementVisitor visitor, arg) { 332 accept(ElementVisitor visitor, arg) {
324 return visitor.visitAbstractFieldElement(this, arg); 333 return visitor.visitAbstractFieldElement(this, arg);
325 } 334 }
(...skipping 1016 matching lines...) Expand 10 before | Expand all | Expand 10 after
1342 MemberElementMixin 1351 MemberElementMixin
1343 implements MethodElement { 1352 implements MethodElement {
1344 FunctionElementZ(ObjectDecoder decoder) 1353 FunctionElementZ(ObjectDecoder decoder)
1345 : super(decoder); 1354 : super(decoder);
1346 1355
1347 @override 1356 @override
1348 ElementKind get kind => ElementKind.FUNCTION; 1357 ElementKind get kind => ElementKind.FUNCTION;
1349 1358
1350 @override 1359 @override
1351 accept(ElementVisitor visitor, arg) { 1360 accept(ElementVisitor visitor, arg) {
1352 return visitor.visitFunctionElement(this, arg); 1361 return visitor.visitMethodElement(this, arg);
1353 } 1362 }
1354 1363
1355 @override 1364 @override
1356 bool get isOperator => _decoder.getBool(Key.IS_OPERATOR); 1365 bool get isOperator => _decoder.getBool(Key.IS_OPERATOR);
1357 } 1366 }
1358 1367
1359 class TopLevelFunctionElementZ extends FunctionElementZ 1368 class TopLevelFunctionElementZ extends FunctionElementZ
1360 with LibraryMemberMixin { 1369 with LibraryMemberMixin {
1361 TopLevelFunctionElementZ(ObjectDecoder decoder) 1370 TopLevelFunctionElementZ(ObjectDecoder decoder)
1362 : super(decoder); 1371 : super(decoder);
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
1415 AstElementMixin, 1424 AstElementMixin,
1416 ParametersMixin, 1425 ParametersMixin,
1417 FunctionTypedElementMixin, 1426 FunctionTypedElementMixin,
1418 TypedElementMixin 1427 TypedElementMixin
1419 implements LocalFunctionElement { 1428 implements LocalFunctionElement {
1420 LocalFunctionElementZ(ObjectDecoder decoder) 1429 LocalFunctionElementZ(ObjectDecoder decoder)
1421 : super(decoder); 1430 : super(decoder);
1422 1431
1423 @override 1432 @override
1424 accept(ElementVisitor visitor, arg) { 1433 accept(ElementVisitor visitor, arg) {
1425 return visitor.visitFunctionElement(this, arg); 1434 return visitor.visitLocalFunctionElement(this, arg);
1426 } 1435 }
1427 1436
1428 @override 1437 @override
1429 ElementKind get kind => ElementKind.FUNCTION; 1438 ElementKind get kind => ElementKind.FUNCTION;
1430 } 1439 }
1431 1440
1432 abstract class GetterElementZ extends DeserializedElementZ 1441 abstract class GetterElementZ extends DeserializedElementZ
1433 with AnalyzableElementMixin, 1442 with AnalyzableElementMixin,
1434 AstElementMixin, 1443 AstElementMixin,
1435 FunctionTypedElementMixin, 1444 FunctionTypedElementMixin,
1436 ParametersMixin, 1445 ParametersMixin,
1437 TypedElementMixin, 1446 TypedElementMixin,
1438 MemberElementMixin 1447 MemberElementMixin
1439 implements FunctionElement { 1448 implements GetterElement {
1449
1450 AbstractFieldElement abstractField;
1451 SetterElement setter;
1440 1452
1441 GetterElementZ(ObjectDecoder decoder) 1453 GetterElementZ(ObjectDecoder decoder)
1442 : super(decoder); 1454 : super(decoder);
1443 1455
1444 @override 1456 @override
1445 ElementKind get kind => ElementKind.GETTER; 1457 ElementKind get kind => ElementKind.GETTER;
1446 1458
1447 @override 1459 @override
1448 accept(ElementVisitor visitor, arg) { 1460 accept(ElementVisitor visitor, arg) {
1449 return visitor.visitFunctionElement(this, arg); 1461 return visitor.visitGetterElement(this, arg);
1450 } 1462 }
1451 } 1463 }
1452 1464
1453 class TopLevelGetterElementZ extends GetterElementZ with LibraryMemberMixin { 1465 class TopLevelGetterElementZ extends GetterElementZ with LibraryMemberMixin {
1454 TopLevelGetterElementZ(ObjectDecoder decoder) 1466 TopLevelGetterElementZ(ObjectDecoder decoder)
1455 : super(decoder); 1467 : super(decoder);
1456 } 1468 }
1457 1469
1458 class StaticGetterElementZ extends GetterElementZ 1470 class StaticGetterElementZ extends GetterElementZ
1459 with ClassMemberMixin, StaticMemberMixin { 1471 with ClassMemberMixin, StaticMemberMixin {
1460 StaticGetterElementZ(ObjectDecoder decoder) 1472 StaticGetterElementZ(ObjectDecoder decoder)
1461 : super(decoder); 1473 : super(decoder);
1462 } 1474 }
1463 1475
1464 class InstanceGetterElementZ extends GetterElementZ 1476 class InstanceGetterElementZ extends GetterElementZ
1465 with ClassMemberMixin, InstanceMemberMixin { 1477 with ClassMemberMixin, InstanceMemberMixin {
1466 InstanceGetterElementZ(ObjectDecoder decoder) 1478 InstanceGetterElementZ(ObjectDecoder decoder)
1467 : super(decoder); 1479 : super(decoder);
1468 } 1480 }
1469 1481
1470 abstract class SetterElementZ extends DeserializedElementZ 1482 abstract class SetterElementZ extends DeserializedElementZ
1471 with AnalyzableElementMixin, 1483 with AnalyzableElementMixin,
1472 AstElementMixin, 1484 AstElementMixin,
1473 FunctionTypedElementMixin, 1485 FunctionTypedElementMixin,
1474 ParametersMixin, 1486 ParametersMixin,
1475 TypedElementMixin, 1487 TypedElementMixin,
1476 MemberElementMixin 1488 MemberElementMixin
1477 implements FunctionElement { 1489 implements SetterElement {
1490
1491 AbstractFieldElement abstractField;
1492 GetterElement getter;
1478 1493
1479 SetterElementZ(ObjectDecoder decoder) 1494 SetterElementZ(ObjectDecoder decoder)
1480 : super(decoder); 1495 : super(decoder);
1481 1496
1482 @override 1497 @override
1483 ElementKind get kind => ElementKind.SETTER; 1498 ElementKind get kind => ElementKind.SETTER;
1484 1499
1485 @override 1500 @override
1486 accept(ElementVisitor visitor, arg) { 1501 accept(ElementVisitor visitor, arg) {
1487 return visitor.visitFunctionElement(this, arg); 1502 return visitor.visitSetterElement(this, arg);
1488 } 1503 }
1489 } 1504 }
1490 1505
1491 class TopLevelSetterElementZ extends SetterElementZ with LibraryMemberMixin { 1506 class TopLevelSetterElementZ extends SetterElementZ with LibraryMemberMixin {
1492 TopLevelSetterElementZ(ObjectDecoder decoder) 1507 TopLevelSetterElementZ(ObjectDecoder decoder)
1493 : super(decoder); 1508 : super(decoder);
1494 } 1509 }
1495 1510
1496 class StaticSetterElementZ extends SetterElementZ 1511 class StaticSetterElementZ extends SetterElementZ
1497 with ClassMemberMixin, StaticMemberMixin { 1512 with ClassMemberMixin, StaticMemberMixin {
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after
1947 } 1962 }
1948 1963
1949 @override 1964 @override
1950 ElementKind get kind => ElementKind.PREFIX; 1965 ElementKind get kind => ElementKind.PREFIX;
1951 1966
1952 @override 1967 @override
1953 Element lookupLocalMember(String memberName) { 1968 Element lookupLocalMember(String memberName) {
1954 return _unsupported('lookupLocalMember'); 1969 return _unsupported('lookupLocalMember');
1955 } 1970 }
1956 } 1971 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/serialization/impact_serialization.dart ('k') | pkg/compiler/lib/src/serialization/task.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698