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

Side by Side Diff: pkg/compiler/lib/src/compile_time_constants.dart

Issue 2851163002: Handle symbol literals in closed_world2_test (Closed)
Patch Set: Reinsert test code Created 3 years, 7 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
« no previous file with comments | « pkg/compiler/lib/src/common_elements.dart ('k') | pkg/compiler/lib/src/inferrer/builder.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 library dart2js.compile_time_constant_evaluator; 5 library dart2js.compile_time_constant_evaluator;
6 6
7 import 'common/resolution.dart' show Resolution; 7 import 'common/resolution.dart' show Resolution;
8 import 'common/tasks.dart' show CompilerTask, Measurer; 8 import 'common/tasks.dart' show CompilerTask, Measurer;
9 import 'common.dart'; 9 import 'common.dart';
10 import 'compiler.dart' show Compiler; 10 import 'compiler.dart' show Compiler;
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 new DartString.concat(accumulator, partStringValue.primitiveValue); 579 new DartString.concat(accumulator, partStringValue.primitiveValue);
580 } 580 }
581 return new AstConstant( 581 return new AstConstant(
582 context, 582 context,
583 node, 583 node,
584 new ConcatenateConstantExpression(subexpressions), 584 new ConcatenateConstantExpression(subexpressions),
585 constantSystem.createString(accumulator)); 585 constantSystem.createString(accumulator));
586 } 586 }
587 587
588 AstConstant visitLiteralSymbol(LiteralSymbol node) { 588 AstConstant visitLiteralSymbol(LiteralSymbol node) {
589 ResolutionInterfaceType type = commonElements.symbolType; 589 ResolutionInterfaceType type = commonElements.symbolImplementationType;
590 String text = node.slowNameString; 590 String text = node.slowNameString;
591 List<AstConstant> arguments = <AstConstant>[ 591 List<AstConstant> arguments = <AstConstant>[
592 new AstConstant(context, node, new StringConstantExpression(text), 592 new AstConstant(context, node, new StringConstantExpression(text),
593 constantSystem.createString(new LiteralDartString(text))) 593 constantSystem.createString(new LiteralDartString(text)))
594 ]; 594 ];
595 ConstructorElement constructor = compiler.commonElements.symbolConstructor; 595 ConstructorElement constructor =
596 compiler.commonElements.symbolConstructorTarget;
596 AstConstant constant = createConstructorInvocation( 597 AstConstant constant = createConstructorInvocation(
597 node, type, constructor, CallStructure.ONE_ARG, 598 node, type, constructor, CallStructure.ONE_ARG,
598 normalizedArguments: arguments); 599 normalizedArguments: arguments);
599 return new AstConstant( 600 return new AstConstant(
600 context, node, new SymbolConstantExpression(text), constant.value); 601 context, node, new SymbolConstantExpression(text), constant.value);
601 } 602 }
602 603
603 ConstantValue makeTypeConstant(ResolutionDartType elementType) { 604 ConstantValue makeTypeConstant(ResolutionDartType elementType) {
604 return constantSystem.createType(compiler.commonElements, elementType); 605 return constantSystem.createType(compiler.commonElements, elementType);
605 } 606 }
(...skipping 862 matching lines...) Expand 10 before | Expand all | Expand 10 after
1468 @override 1469 @override
1469 ConstantExpression getFieldConstant(FieldElement field) { 1470 ConstantExpression getFieldConstant(FieldElement field) {
1470 return field.constant; 1471 return field.constant;
1471 } 1472 }
1472 1473
1473 @override 1474 @override
1474 ConstantExpression getLocalConstant(LocalVariableElement local) { 1475 ConstantExpression getLocalConstant(LocalVariableElement local) {
1475 return local.constant; 1476 return local.constant;
1476 } 1477 }
1477 } 1478 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/common_elements.dart ('k') | pkg/compiler/lib/src/inferrer/builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698