Index: pkg/compiler/lib/src/compiler.dart |
diff --git a/pkg/compiler/lib/src/compiler.dart b/pkg/compiler/lib/src/compiler.dart |
index 10c38e34390417fc9c398f6d90e14ac70aa572bc..2a2fa48bc45a34892563049b25d2bbf3b0838c3b 100644 |
--- a/pkg/compiler/lib/src/compiler.dart |
+++ b/pkg/compiler/lib/src/compiler.dart |
@@ -37,6 +37,7 @@ import 'elements/resolution_types.dart' |
show |
ResolutionDartType, |
ResolutionDynamicType, |
+ ResolutionFunctionType, |
ResolutionInterfaceType, |
Types; |
import 'enqueue.dart' show Enqueuer, EnqueueTask, ResolutionEnqueuer; |
@@ -1968,4 +1969,25 @@ class _CompilerElementEnvironment implements ElementEnvironment { |
} |
return library; |
} |
+ |
+ @override |
+ CallStructure getCallStructure(MethodElement method) { |
+ ResolutionFunctionType type = method.computeType(_resolution); |
+ return new CallStructure( |
+ type.parameterTypes.length + |
+ type.optionalParameterTypes.length + |
+ type.namedParameterTypes.length, |
+ type.namedParameters); |
+ } |
+ |
+ @override |
+ bool isDeferredLoadLibraryGetter(MemberElement member) { |
+ return member.isDeferredLoaderGetter; |
+ } |
+ |
+ @override |
+ ResolutionFunctionType getFunctionType(MethodElement method) { |
+ method.computeType(_resolution); |
+ return method.type; |
+ } |
} |