Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1180)

Unified Diff: pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/classes.dart

Issue 2873073002: fix #29585, implement equality for tearoffs (Closed)
Patch Set: merged Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/classes.dart
diff --git a/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/classes.dart b/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/classes.dart
index 9da7da945999728a184f28531c006a079dd806dd..0b117400e1b8ae8cd49f4a09a48330a73184f80d 100644
--- a/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/classes.dart
+++ b/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/classes.dart
@@ -276,43 +276,6 @@ classGetConstructorType(cls, name) => JS(
return sigCtor[$name];
})()''');
-/// Given an object and a method name, tear off the method.
-/// Sets the runtime type of the torn off method appropriately,
-/// and also binds the object.
-///
-/// If the optional `f` argument is passed in, it will be used as the method.
-/// This supports cases like `super.foo` where we need to tear off the method
-/// from the superclass, not from the `obj` directly.
-/// TODO(leafp): Consider caching the tearoff on the object?
-bind(obj, name, f) => JS(
- '',
- '''(() => {
- if ($f === void 0) $f = $obj[$name];
- // TODO(jmesserly): track the function's signature on the function, instead
- // of having to go back to the class?
- let sig = $getMethodType($getType($obj), $name);
-
- // JS interop case: do not bind this for compatibility with the dart2js
- // implementation where we cannot bind this reliably here until we trust
- // types more.
- if (sig == null) return $f;
-
- $f = $f.bind($obj);
- $tag($f, sig);
- return $f;
-})()''');
-
-/// Instantiate a generic method.
-///
-/// We need to apply the type arguments both to the function, as well as its
-/// associated function type.
-gbind(f, @rest typeArgs) {
- var result = JS('', '#.apply(null, #)', f, typeArgs);
- var sig = JS('', '#.instantiate(#)', _getRuntimeType(f), typeArgs);
- tag(result, sig);
- return result;
-}
-
// Set up the method signature field on the constructor
_setInstanceSignature(f, sigF, kind) => defineMemoizedGetter(
f,

Powered by Google App Engine
This is Rietveld 408576698