OLD | NEW |
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 Loading... |
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 | |
569 Continuation cont = name2variable[tokens.read()]; | 567 Continuation cont = name2variable[tokens.read()]; |
570 assert(cont != null); | 568 assert(cont != null); |
571 | 569 |
572 tokens.consumeEnd(); | 570 tokens.consumeEnd(); |
573 return new TypeOperator(recv, type, typeArguments, cont, | 571 return new TypeOperator(recv, type, cont, isTypeTest: operator == 'is'); |
574 isTypeTest: operator == 'is'); | |
575 } | 572 } |
576 | 573 |
577 /// (SetStatic field value body) | 574 /// (SetStatic field value body) |
578 SetStatic parseSetStatic() { | 575 SetStatic parseSetStatic() { |
579 tokens.consumeStart(SET_STATIC); | 576 tokens.consumeStart(SET_STATIC); |
580 | 577 |
581 Element fieldElement = new DummyElement(tokens.read()); | 578 Element fieldElement = new DummyElement(tokens.read()); |
582 Primitive value = name2variable[tokens.read()]; | 579 Primitive value = name2variable[tokens.read()]; |
583 assert(value != null); | 580 assert(value != null); |
584 Expression body = parseExpression(); | 581 Expression body = parseExpression(); |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
766 /// (GetStatic field) | 763 /// (GetStatic field) |
767 GetStatic parseGetStatic() { | 764 GetStatic parseGetStatic() { |
768 tokens.consumeStart(GET_STATIC); | 765 tokens.consumeStart(GET_STATIC); |
769 | 766 |
770 Element field = new DummyElement(tokens.read()); | 767 Element field = new DummyElement(tokens.read()); |
771 | 768 |
772 tokens.consumeEnd(); | 769 tokens.consumeEnd(); |
773 return new GetStatic(field, null); | 770 return new GetStatic(field, null); |
774 } | 771 } |
775 } | 772 } |
OLD | NEW |