OLD | NEW |
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 'constant_system_dart.dart'; | 7 import 'constant_system_dart.dart'; |
8 import 'constants/constant_system.dart'; | 8 import 'constants/constant_system.dart'; |
9 import 'constants/expressions.dart'; | 9 import 'constants/expressions.dart'; |
10 import 'constants/values.dart'; | 10 import 'constants/values.dart'; |
11 import 'dart_types.dart'; | 11 import 'dart_types.dart'; |
12 import 'dart2jslib.dart' show Compiler, CompilerTask, MessageKind, WorldImpact,
invariant; | 12 import 'dart2jslib.dart' show Compiler, CompilerTask, MessageKind, WorldImpact,
invariant; |
13 import 'elements/elements.dart'; | 13 import 'elements/elements.dart'; |
14 import 'elements/modelx.dart' show FunctionElementX; | 14 import 'elements/modelx.dart' show FunctionElementX; |
15 import 'helpers/helpers.dart'; | |
16 import 'resolution/resolution.dart'; | 15 import 'resolution/resolution.dart'; |
17 import 'resolution/operators.dart'; | 16 import 'resolution/operators.dart'; |
18 import 'tree/tree.dart'; | 17 import 'tree/tree.dart'; |
19 import 'util/util.dart' show Link; | 18 import 'util/util.dart' show Link; |
20 import 'universe/universe.dart' show CallStructure; | 19 import 'universe/universe.dart' show CallStructure; |
21 | 20 |
22 /// A [ConstantEnvironment] provides access for constants compiled for variable | 21 /// A [ConstantEnvironment] provides access for constants compiled for variable |
23 /// initializers. | 22 /// initializers. |
24 abstract class ConstantEnvironment { | 23 abstract class ConstantEnvironment { |
25 /// The [ConstantSystem] used by this environment. | 24 /// The [ConstantSystem] used by this environment. |
(...skipping 1305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1331 // TODO(johnniwinther): Return a [NonConstantValue] instead. | 1330 // TODO(johnniwinther): Return a [NonConstantValue] instead. |
1332 new ErroneousConstantExpression(), new NullConstantValue()); | 1331 new ErroneousConstantExpression(), new NullConstantValue()); |
1333 } | 1332 } |
1334 | 1333 |
1335 // TODO(johnniwinther): Avoid the need for this hack. | 1334 // TODO(johnniwinther): Avoid the need for this hack. |
1336 TreeElements _analyzeElementEagerly(Compiler compiler, AstElement element) { | 1335 TreeElements _analyzeElementEagerly(Compiler compiler, AstElement element) { |
1337 WorldImpact worldImpact = compiler.analyzeElement(element.declaration); | 1336 WorldImpact worldImpact = compiler.analyzeElement(element.declaration); |
1338 compiler.enqueuer.resolution.applyImpact(element.declaration, worldImpact); | 1337 compiler.enqueuer.resolution.applyImpact(element.declaration, worldImpact); |
1339 return element.resolvedAst.elements; | 1338 return element.resolvedAst.elements; |
1340 } | 1339 } |
OLD | NEW |