| Index: pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
|
| diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
|
| index 76b2d22836b48fcda12ea0bdc3d66493d1bc2bfb..c6783b52c910011c54205d592c3c7e8f65d6d2b9 100644
|
| --- a/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
|
| +++ b/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
|
| @@ -1055,9 +1055,18 @@ class IrBuilder {
|
| /// Create a getter invocation of the static [getter].
|
| ir.Primitive buildStaticGetterGet(MethodElement getter,
|
| SourceInformation sourceInformation) {
|
| - Selector selector = new Selector.getter(getter.memberName);
|
| - return _buildInvokeStatic(
|
| - getter, selector, const <ir.Primitive>[], sourceInformation);
|
| + if (getter.isDeferredLoaderGetter) {
|
| + PrefixElement prefix = getter.enclosingElement;
|
| + ir.Primitive loadId =
|
| + buildStringConstant(program.getImportDeferName(prefix));
|
| + return buildStaticFunctionInvocation(program.loadLibraryFunction,
|
| + CallStructure.ONE_ARG, <ir.Primitive>[loadId],
|
| + sourceInformation: sourceInformation);
|
| + } else {
|
| + Selector selector = new Selector.getter(getter.memberName);
|
| + return _buildInvokeStatic(
|
| + getter, selector, const <ir.Primitive>[], sourceInformation);
|
| + }
|
| }
|
|
|
| /// Create a read access of the static [function], i.e. a closurization of
|
|
|