Chromium Code Reviews| Index: pkg/dev_compiler/lib/src/compiler/code_generator.dart |
| diff --git a/pkg/dev_compiler/lib/src/compiler/code_generator.dart b/pkg/dev_compiler/lib/src/compiler/code_generator.dart |
| index 75535faa7df093f1237ef6cac8eba245a83acf35..a18cc097c27db8e879711269eea93d38ce949403 100644 |
| --- a/pkg/dev_compiler/lib/src/compiler/code_generator.dart |
| +++ b/pkg/dev_compiler/lib/src/compiler/code_generator.dart |
| @@ -583,14 +583,13 @@ class CodeGenerator extends Object |
| // this is only to catch things that haven't been emitted yet. |
| // |
| // See _emitTypeDeclaration. |
| - var library = unit.element.library; |
| - bool internalSdk = isSdkInternalRuntime(library); |
| - _currentElements.add(library); |
| + _currentElements.add(unit.element); |
|
Jennifer Messerly
2017/07/14 07:51:35
refactor: this will help us know what source we're
|
| + var isInternalSdk = isSdkInternalRuntime(currentLibrary); |
| List<VariableDeclaration> fields; |
| for (var declaration in unit.declarations) { |
| if (declaration is TopLevelVariableDeclaration) { |
| inferNullableTypes(declaration); |
| - if (internalSdk && declaration.variables.isFinal) { |
| + if (isInternalSdk && declaration.variables.isFinal) { |
| _emitInternalSdkFields(declaration.variables.variables); |
| } else { |
| (fields ??= []).addAll(declaration.variables.variables); |
| @@ -611,7 +610,7 @@ class CodeGenerator extends Object |
| inferNullableTypes(declaration); |
| var item = _visit(declaration); |
| - if (internalSdk && element is FunctionElement) { |
| + if (isInternalSdk && element is FunctionElement) { |
| _internalSdkFunctions.add(item); |
| } else { |
| _moduleItems.add(item); |
| @@ -2361,7 +2360,9 @@ class CodeGenerator extends Object |
| fields.forEach((FieldElement e, JS.Expression initialValue) { |
| JS.Expression access = |
| _classProperties.virtualFields[e] ?? _declareMemberName(e.getter); |
| - body.add(js.statement('this.# = #;', [access, initialValue])); |
| + body.add(initialValue |
| + .toAssignExpression(js.call('this.#', [access])) |
|
Jennifer Messerly
2017/07/14 07:51:35
this will help MetaLet generate cleaner code in so
|
| + .toStatement()); |
| }); |
| return _statement(body); |
| @@ -2470,7 +2471,7 @@ class CodeGenerator extends Object |
| isGetter: node.isGetter, |
| isSetter: node.isSetter, |
| isStatic: node.isStatic), |
| - node, |
| + null, // don't annotate as this breaks stepping for one-line functions. |
|
Jennifer Messerly
2017/07/14 07:51:35
refactor: rather than do an `is` check inside the
|
| node.element); |
| } |