Avoid introducing js.Parameters in constructor body

Use the Parameter name in the template so that it is converted into a
VariableUse.

This change fixes some double-counting in the function parameter /
local variable minifier which made the --fast-startup constructors
'miss' using some minified names.

I believe the 'missed' names is a regression.

Saves 50k (0.4%) on one large app.

Change-Id: Ib7597f5c474ef285b082697e368667dbac23931b
Reviewed-on: https://dart-review.googlesource.com/30720
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
diff --git a/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart b/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
index c77ab3b..13cfaef 100644
--- a/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
+++ b/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
@@ -756,15 +756,15 @@
     for (Field field in cls.fields) {
       js.Parameter parameter = new js.Parameter('t${parameters.length}');
       parameters.add(parameter);
-      statements
-          .add(js.js.statement('#.# = #', [thisRef, field.name, parameter]));
+      statements.add(
+          js.js.statement('#.# = #', [thisRef, field.name, parameter.name]));
     }
 
     if (cls.hasRtiField) {
       js.Parameter parameter = new js.Parameter('t${parameters.length}');
       parameters.add(parameter);
-      statements.add(js.js
-          .statement('#.# = #', [thisRef, namer.rtiFieldJsName, parameter]));
+      statements.add(js.js.statement(
+          '#.# = #', [thisRef, namer.rtiFieldJsName, parameter.name]));
     }
 
     return js.js('function #(#) { # }', [name, parameters, statements]);
diff --git a/pkg/js_ast/lib/src/template.dart b/pkg/js_ast/lib/src/template.dart
index 2c04ce9..e85f33a 100644
--- a/pkg/js_ast/lib/src/template.dart
+++ b/pkg/js_ast/lib/src/template.dart
@@ -287,7 +287,6 @@
         Statement toStatement(item) {
           if (item is Statement) return item;
           if (item is Expression) return item.toStatement();
-          ;
           return error('Interpolated value #$nameOrPosition is not '
               'a Statement or List of Statements: $value');
         }
@@ -368,7 +367,6 @@
         if (value is bool) return value;
         if (value is Expression) return value;
         if (value is String) return convertStringToVariableUse(value);
-        ;
         error('Interpolated value #$nameOrPosition '
             'is not an Expression: $value');
       };