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

Unified Diff: pkg/compiler/lib/src/js_backend/backend_helpers.dart

Issue 2621433002: dart2js-kernel: handle top-level / static unresolved methods / getters / setters (Closed)
Patch Set: remove print Created 3 years, 11 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
« no previous file with comments | « no previous file | pkg/compiler/lib/src/js_backend/backend_impact.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/js_backend/backend_helpers.dart
diff --git a/pkg/compiler/lib/src/js_backend/backend_helpers.dart b/pkg/compiler/lib/src/js_backend/backend_helpers.dart
index 3d7944e4b9a171e0cc97a200a7719c8099a9cf10..a4f814f654ef20ed5a8d9b2f40ae81a3b63677fd 100644
--- a/pkg/compiler/lib/src/js_backend/backend_helpers.dart
+++ b/pkg/compiler/lib/src/js_backend/backend_helpers.dart
@@ -638,17 +638,26 @@ class BackendHelpers {
return _findHelper('throwNoSuchMethod');
}
- Element get genericNoSuchMethod =>
- _genericNoSuchMethod ??= findCoreHelper('_genericNoSuchMethod');
- MethodElement _genericNoSuchMethod;
-
- Element get unresolvedConstructorError => _unresolvedConstructorError ??=
- findCoreHelper('_unresolvedConstructorError');
- MethodElement _unresolvedConstructorError;
-
- Element get malformedTypeError =>
- _malformedTypeError ??= findCoreHelper('_malformedTypeError');
- MethodElement _malformedTypeError;
+ Element get malformedTypeError => _cachedCoreHelper('_malformedTypeError');
+ Element get genericNoSuchMethod => _cachedCoreHelper('_genericNoSuchMethod');
+ Element get unresolvedConstructorError =>
+ _cachedCoreHelper('_unresolvedConstructorError');
+ Element get unresolvedStaticGetterError =>
+ _cachedCoreHelper('_unresolvedStaticGetterError');
+ Element get unresolvedStaticSetterError =>
+ _cachedCoreHelper('_unresolvedStaticSetterError');
+ Element get unresolvedStaticMethodError =>
+ _cachedCoreHelper('_unresolvedStaticMethodError');
+ Element get unresolvedTopLevelGetterError =>
+ _cachedCoreHelper('_unresolvedTopLevelGetterError');
+ Element get unresolvedTopLevelSetterError =>
+ _cachedCoreHelper('_unresolvedTopLevelSetterError');
+ Element get unresolvedTopLevelMethodError =>
+ _cachedCoreHelper('_unresolvedTopLevelMethodError');
+
+ Map<String, Element> _cachedCoreHelpers = <String, Element>{};
+ Element _cachedCoreHelper(String name) =>
+ _cachedCoreHelpers[name] ??= findCoreHelper(name);
Siggi Cherem (dart-lang) 2017/01/11 19:08:03 Im ok with either, but any reason to prefer this o
sra1 2017/01/11 19:14:39 putIfAbsent requires a closure argument (hence all
Element get createRuntimeType {
return _findHelper('createRuntimeType');
« no previous file with comments | « no previous file | pkg/compiler/lib/src/js_backend/backend_impact.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698