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

Side by Side Diff: tests/compiler/dart2js/backend_dart/sexpr_unstringifier.dart

Issue 1161683002: dart2js cps: 'is' checks on types with type arguments. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 6 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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 // SExpressionUnstringifier implements the inverse operation to 5 // SExpressionUnstringifier implements the inverse operation to
6 // [SExpressionStringifier]. 6 // [SExpressionStringifier].
7 7
8 library sexpr_unstringifier; 8 library sexpr_unstringifier;
9 9
10 import 'package:compiler/src/constants/expressions.dart'; 10 import 'package:compiler/src/constants/expressions.dart';
(...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 TypeOperator parseTypeOperator() { 557 TypeOperator parseTypeOperator() {
558 tokens.consumeStart(TYPE_OPERATOR); 558 tokens.consumeStart(TYPE_OPERATOR);
559 559
560 String operator = tokens.read(); 560 String operator = tokens.read();
561 561
562 Primitive recv = name2variable[tokens.read()]; 562 Primitive recv = name2variable[tokens.read()];
563 assert(recv != null); 563 assert(recv != null);
564 564
565 dart_types.DartType type = new DummyNamedType(tokens.read()); 565 dart_types.DartType type = new DummyNamedType(tokens.read());
566 566
567 List<ir.Primitive> typeArguments = parsePrimitiveList();
568
567 Continuation cont = name2variable[tokens.read()]; 569 Continuation cont = name2variable[tokens.read()];
568 assert(cont != null); 570 assert(cont != null);
569 571
570 tokens.consumeEnd(); 572 tokens.consumeEnd();
571 return new TypeOperator(recv, type, cont, isTypeTest: operator == 'is'); 573 return new TypeOperator(recv, type, typeArguments, cont,
574 isTypeTest: operator == 'is');
572 } 575 }
573 576
574 /// (SetStatic field value body) 577 /// (SetStatic field value body)
575 SetStatic parseSetStatic() { 578 SetStatic parseSetStatic() {
576 tokens.consumeStart(SET_STATIC); 579 tokens.consumeStart(SET_STATIC);
577 580
578 Element fieldElement = new DummyElement(tokens.read()); 581 Element fieldElement = new DummyElement(tokens.read());
579 Primitive value = name2variable[tokens.read()]; 582 Primitive value = name2variable[tokens.read()];
580 assert(value != null); 583 assert(value != null);
581 Expression body = parseExpression(); 584 Expression body = parseExpression();
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
763 /// (GetStatic field) 766 /// (GetStatic field)
764 GetStatic parseGetStatic() { 767 GetStatic parseGetStatic() {
765 tokens.consumeStart(GET_STATIC); 768 tokens.consumeStart(GET_STATIC);
766 769
767 Element field = new DummyElement(tokens.read()); 770 Element field = new DummyElement(tokens.read());
768 771
769 tokens.consumeEnd(); 772 tokens.consumeEnd();
770 return new GetStatic(field, null); 773 return new GetStatic(field, null);
771 } 774 }
772 } 775 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698