| Index: pkg/compiler/lib/src/js_emitter/model.dart
|
| diff --git a/pkg/compiler/lib/src/js_emitter/model.dart b/pkg/compiler/lib/src/js_emitter/model.dart
|
| index d84f8ec77c3896c237569d9384597297e1289998..8532b38c46a9996a5d8157c50e43bb33d8158ca1 100644
|
| --- a/pkg/compiler/lib/src/js_emitter/model.dart
|
| +++ b/pkg/compiler/lib/src/js_emitter/model.dart
|
| @@ -337,9 +337,17 @@ class DartMethod extends Method {
|
| final bool canBeApplied;
|
| final bool canBeReflected;
|
|
|
| + final List<AdapterStubMethod> adapterStubs;
|
| +
|
| + // If this method can be torn off, contains the name of the corresponding
|
| + // call method. For example, for the member `foo$1$name` it would be
|
| + // `call$1$name` (in unminified mode).
|
| + final String callName;
|
| +
|
| DartMethod(Element element, String name, js.Expression code,
|
| - {this.needsTearOff, this.tearOffName, this.needsStubs, this.canBeApplied,
|
| - this.canBeReflected})
|
| + this.adapterStubs, this.callName,
|
| + {this.needsTearOff, this.tearOffName, this.needsStubs,
|
| + this.canBeApplied, this.canBeReflected})
|
| : super(element, name, code) {
|
| assert(needsTearOff != null);
|
| assert(!needsTearOff || tearOffName != null);
|
| @@ -354,15 +362,17 @@ class InstanceMethod extends DartMethod {
|
| final bool hasSuperAlias;
|
| final bool isClosure;
|
|
|
| - InstanceMethod(element, name, code,
|
| - {bool needsTearOff,
|
| - String tearOffName,
|
| - this.hasSuperAlias,
|
| - bool canBeApplied,
|
| - bool canBeReflected,
|
| - this.isClosure,
|
| - bool needsStubs})
|
| - : super(element, name, code,
|
| + InstanceMethod(Element element, String name, js.Expression code,
|
| + List<AdapterStubMethod> adapterStubs,
|
| + String callName,
|
| + {bool needsTearOff,
|
| + String tearOffName,
|
| + this.hasSuperAlias,
|
| + bool canBeApplied,
|
| + bool canBeReflected,
|
| + this.isClosure,
|
| + bool needsStubs})
|
| + : super(element, name, code, adapterStubs, callName,
|
| needsTearOff: needsTearOff,
|
| tearOffName: tearOffName,
|
| canBeApplied: canBeApplied,
|
| @@ -411,10 +421,11 @@ class StaticDartMethod extends DartMethod implements StaticMethod {
|
| final Holder holder;
|
|
|
| StaticDartMethod(Element element, String name, this.holder,
|
| - js.Expression code,
|
| + js.Expression code, List<AdapterStubMethod> adapterStubs,
|
| + String callName,
|
| {bool needsTearOff, String tearOffName, bool canBeApplied,
|
| bool canBeReflected, bool needsStubs})
|
| - : super(element, name, code,
|
| + : super(element, name, code, adapterStubs, callName,
|
| needsTearOff: needsTearOff,
|
| tearOffName : tearOffName,
|
| canBeApplied : canBeApplied,
|
|
|