Chromium Code Reviews| Index: lib/src/codegen/js_codegen.dart |
| diff --git a/lib/src/codegen/js_codegen.dart b/lib/src/codegen/js_codegen.dart |
| index 87d29fceef6978e42cd9af85c9c150f20aec3050..109462fe52b33b594f725a7f3281a2f41f92d2dd 100644 |
| --- a/lib/src/codegen/js_codegen.dart |
| +++ b/lib/src/codegen/js_codegen.dart |
| @@ -114,7 +114,6 @@ class JSCodegenVisitor extends GeneralizingAstVisitor with ConversionVisitor { |
| jsDefaultValue = getConstantField(jsName, 'name', types.stringType); |
| } |
| } |
| - if (jsDefaultValue == null) jsDefaultValue = '{}'; |
| // TODO(jmesserly): visit scriptTag, directives? |
| @@ -163,16 +162,16 @@ class JSCodegenVisitor extends GeneralizingAstVisitor with ConversionVisitor { |
| } |
| var name = new JS.Identifier(jsLibraryName(currentLibrary)); |
|
Jennifer Messerly
2015/06/05 16:22:27
suggestion, maybe build the Identifier later, and
vsm
2015/06/05 17:01:04
Done.
|
| + var jsName = js.string(name.name, "'"); |
| // TODO(jmesserly): it would be great to run the renamer on the body, |
| // then figure out if we really need each of these parameters. |
| // See ES6 modules: https://github.com/dart-lang/dev_compiler/issues/34 |
| var program = [ |
| - js.statement('var # = dart.defineLibrary(#, #);', [ |
| - name, |
| - name, |
| - js.call(jsDefaultValue) |
| - ]) |
| + jsDefaultValue != null |
| + ? js.statement( |
| + 'dart.defineLibrary(#, #);', [jsName, js.call(jsDefaultValue)]) |
| + : js.statement('dart.defineLibrary(#);', [jsName]) |
| ]; |
| var params = [_exportsVar]; |
| @@ -182,7 +181,8 @@ class JSCodegenVisitor extends GeneralizingAstVisitor with ConversionVisitor { |
| params.add(temp); |
| args.add(name); |
| var helper = _loader.libraryIsLoaded(library) ? 'import' : 'lazyImport'; |
| - program.add(js.statement('var # = dart.#(#);', [name, helper, name])); |
| + program |
| + .add(js.statement('dart.#(#);', [helper, js.string(name.name, "'")])); |
| }); |
| program.add(js.statement("(function(#) { 'use strict'; #; })(#);", [ |