| Index: pkg/compiler/lib/src/js_backend/namer.dart
|
| diff --git a/pkg/compiler/lib/src/js_backend/namer.dart b/pkg/compiler/lib/src/js_backend/namer.dart
|
| index f23d310bca8b09a48ba0e8955682efe15bb7d2ad..c718f8f9d85ca787d125118586405149a9ec0e3a 100644
|
| --- a/pkg/compiler/lib/src/js_backend/namer.dart
|
| +++ b/pkg/compiler/lib/src/js_backend/namer.dart
|
| @@ -17,13 +17,9 @@ import '../diagnostics/invariant.dart' show DEBUG_MODE;
|
| import '../elements/elements.dart'
|
| show
|
| ClassElement,
|
| - ConstructorBodyElement,
|
| Element,
|
| Elements,
|
| FieldElement,
|
| - FormalElement,
|
| - FunctionElement,
|
| - FunctionSignature,
|
| MemberElement,
|
| TypeDeclarationElement,
|
| MixinApplicationElement,
|
| @@ -769,26 +765,26 @@ class Namer {
|
| }
|
| }
|
|
|
| - String _proposeNameForConstructorBody(ConstructorBodyElement method) {
|
| + String _proposeNameForConstructorBody(ConstructorBodyEntity method) {
|
| String name = Elements.reconstructConstructorNameSourceString(method);
|
| // We include the method suffix on constructor bodies. It has no purpose,
|
| // but this way it produces the same names as previous versions of the
|
| // Namer class did.
|
| - List<String> suffix = callSuffixForSignature(method.functionSignature);
|
| + List<String> suffix = callSuffixForSignature(method.parameterStructure);
|
| return '$name\$${suffix.join(r'$')}';
|
| }
|
|
|
| /// Name for a constructor body.
|
| - jsAst.Name constructorBodyName(ConstructorBodyElement ctor) {
|
| + jsAst.Name constructorBodyName(ConstructorBodyEntity ctor) {
|
| return _disambiguateInternalMember(
|
| ctor, () => _proposeNameForConstructorBody(ctor));
|
| }
|
|
|
| /// Annotated name for [method] encoding arity and named parameters.
|
| jsAst.Name instanceMethodName(FunctionEntity method) {
|
| - // TODO(redemption): Avoid the use of [ConstructorBodyElement]. The
|
| + // TODO(johnniwinther): Avoid the use of [ConstructorBodyEntity]. The
|
| // codegen model should be explicit about its constructor body elements.
|
| - if (method is ConstructorBodyElement) {
|
| + if (method is ConstructorBodyEntity) {
|
| return constructorBodyName(method);
|
| }
|
| return invocationName(new Selector.fromElement(method));
|
| @@ -824,13 +820,9 @@ class Namer {
|
| ///
|
| /// This is used for the annotated names of `call`, and for the proposed name
|
| /// for other instance methods.
|
| - List<String> callSuffixForSignature(FunctionSignature sig) {
|
| - List<String> suffixes = ['${sig.parameterCount}'];
|
| - if (sig.optionalParametersAreNamed) {
|
| - for (FormalElement param in sig.orderedOptionalParameters) {
|
| - suffixes.add(param.name);
|
| - }
|
| - }
|
| + List<String> callSuffixForSignature(ParameterStructure parameterStructure) {
|
| + List<String> suffixes = ['${parameterStructure.totalParameters}'];
|
| + suffixes.addAll(parameterStructure.namedParameters);
|
| return suffixes;
|
| }
|
|
|
|
|