| Index: dart/sdk/lib/_internal/compiler/implementation/compile_time_constants.dart
|
| diff --git a/dart/sdk/lib/_internal/compiler/implementation/compile_time_constants.dart b/dart/sdk/lib/_internal/compiler/implementation/compile_time_constants.dart
|
| index ecc8645823df3bf0d40b733657bf6dc2bac1a783..1861c4336cafc93c5291a74329a450b0d02f8e60 100644
|
| --- a/dart/sdk/lib/_internal/compiler/implementation/compile_time_constants.dart
|
| +++ b/dart/sdk/lib/_internal/compiler/implementation/compile_time_constants.dart
|
| @@ -56,18 +56,27 @@ class ConstantHandler extends CompilerTask {
|
| }
|
|
|
| void registerInstantiatedClass(ClassElement element, TreeElements elements) {
|
| - if (isMetadata) return;
|
| + if (isMetadata) {
|
| + compiler.backend.registerMetadataInstantiatedClass(element, elements);
|
| + return;
|
| + }
|
| compiler.enqueuer.codegen.registerInstantiatedClass(element, elements);
|
| }
|
|
|
| void registerStaticUse(Element element) {
|
| - if (isMetadata) return;
|
| + if (isMetadata) {
|
| + compiler.backend.registerMetadataStaticUse(element);
|
| + return;
|
| + }
|
| compiler.analyzeElement(element.declaration);
|
| compiler.enqueuer.codegen.registerStaticUse(element);
|
| }
|
|
|
| void registerGetOfStaticFunction(FunctionElement element) {
|
| - if (isMetadata) return;
|
| + if (isMetadata) {
|
| + compiler.backend.registerMetadataGetOfStaticFunction(element);
|
| + return;
|
| + }
|
| compiler.analyzeElement(element.declaration);
|
| compiler.enqueuer.codegen.registerGetOfStaticFunction(element);
|
| }
|
| @@ -444,9 +453,7 @@ class CompileTimeConstantEvaluator extends Visitor {
|
|
|
| Constant makeTypeConstant(Element element) {
|
| DartType elementType = element.computeType(compiler).asRaw();
|
| - if (compiler.mirrorsEnabled) {
|
| - handler.registerInstantiatedClass(element, elements);
|
| - }
|
| + compiler.backend.registerTypeLiteral(element, elements);
|
| DartType constantType =
|
| compiler.backend.typeImplementation.computeType(compiler);
|
| Constant constant = new TypeConstant(elementType, constantType);
|
|
|