Chromium Code Reviews| Index: pkg/compiler/lib/src/js_backend/minify_namer.dart |
| diff --git a/pkg/compiler/lib/src/js_backend/minify_namer.dart b/pkg/compiler/lib/src/js_backend/minify_namer.dart |
| index 9a2d1e3fc4a1290eb5a086a1cceeaae5933d20fe..a7c275a841d502b0f4e1625d41df893fa5cb91b7 100644 |
| --- a/pkg/compiler/lib/src/js_backend/minify_namer.dart |
| +++ b/pkg/compiler/lib/src/js_backend/minify_namer.dart |
| @@ -7,7 +7,8 @@ part of js_backend; |
| /** |
| * Assigns JavaScript identifiers to Dart variables, class-names and members. |
| */ |
| -class MinifyNamer extends Namer with _MinifiedFieldNamer { |
| +class MinifyNamer extends Namer with _MinifiedFieldNamer, |
| + _MinifiedOneShotInterceptorNamer { |
| MinifyNamer(Compiler compiler) : super(compiler) { |
| reserveBackendNames(); |
| fieldRegistry = new _FieldNamingRegistry(this); |
| @@ -255,3 +256,20 @@ class MinifyNamer extends Namer with _MinifiedFieldNamer { |
| } |
| } |
| + |
| +abstract class _MinifiedOneShotInterceptorNamer implements Namer { |
| + /// Property name used for the one-shot interceptor method for the given |
| + /// [selector] and return-type specialization. |
| + @override |
| + jsAst.Name nameForGetOneShotInterceptor(Selector selector, |
| + Iterable<ClassElement> classes) { |
| + String root = selector.isOperator ? operatorNameToIdentifier(selector.name) |
| + : privateName(selector.memberName); |
|
sra1
2015/07/01 01:21:38
Format like this:
String root = selector.isOpe
herhut
2015/07/01 08:57:47
Done.
|
| + String prefix = selector.isGetter ? r"$get" |
| + : selector.isSetter ? r"$set" : ""; |
| + String arity = selector.isCall ? "${selector.argumentCount}" : ""; |
| + String suffix = suffixForGetInterceptor(classes); |
| + String fullName = "\$intercepted$prefix\$$root$arity\$$suffix"; |
|
sra1
2015/07/01 01:21:38
Do we need '$intercepted'?
herhut
2015/07/01 08:57:46
So the generated name is only used as a unqiue key
|
| + return _disambiguateInternalGlobal(fullName); |
| + } |
| +} |