Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(289)

Unified Diff: lib/src/codegen/js_codegen.dart

Issue 1840713003: fix to run against latest analyzer (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: lib/src/codegen/js_codegen.dart
diff --git a/lib/src/codegen/js_codegen.dart b/lib/src/codegen/js_codegen.dart
index d775a5c92e83f07ba5ac616726ac11e648e7518e..35ebdb741cea72b4a74b53caea4c525f115fad63 100644
--- a/lib/src/codegen/js_codegen.dart
+++ b/lib/src/codegen/js_codegen.dart
@@ -15,10 +15,7 @@ import 'package:analyzer/src/generated/constant.dart';
//ignore: DEPRECATED_MEMBER_USE
import 'package:analyzer/src/generated/element.dart'
show DynamicElementImpl, DynamicTypeImpl, LocalVariableElementImpl;
-// TODO(jmesserly): we can remove this when ResolutionCopier is fixed.
-import 'package:analyzer/src/dart/ast/ast.dart' show FunctionBodyImpl;
import 'package:analyzer/src/generated/engine.dart' show AnalysisContext;
-import 'package:analyzer/src/generated/parser.dart' show ResolutionCopier;
import 'package:analyzer/src/generated/resolver.dart' show TypeProvider;
import 'package:analyzer/src/dart/ast/token.dart'
show StringToken, Token, TokenType;
@@ -138,11 +135,8 @@ class JSCodegenVisitor extends GeneralizingAstVisitor
TypeProvider get types => _types;
JS.Program emitLibrary(List<CompilationUnit> units) {
- // Copy the AST before modifying it.
- units = units.map(_cloneCompilationUnit).toList();
-
// Modify the AST to make coercions explicit.
- new CoercionReifier().reify(units);
+ units = new CoercionReifier().reify(units);
units.last.directives.forEach(_visit);
@@ -2346,9 +2340,7 @@ class JSCodegenVisitor extends GeneralizingAstVisitor
visitFieldDeclaration(FieldDeclaration node) {
if (!node.isStatic) return;
- for (var f in node.fields.variables) {
- _loader.loadDeclaration(f, f.element);
- }
+ node.fields.variables.forEach(_emitModuleItem);
Jennifer Messerly 2016/03/28 18:33:17 This is a small cleanup. It's actually what I orig
}
_addExport(String name, [String exportName]) {
@@ -3182,7 +3174,7 @@ class JSCodegenVisitor extends GeneralizingAstVisitor
JS.Statement _emitAwaitFor(ForEachStatement node) {
// Emits `await for (var value in stream) ...`, which desugars as:
//
- // var iter = new StreamIterator<T>(stream);
+ // var iter = new StreamIterator(stream);
// try {
// while (await iter.moveNext()) {
// var value = iter.current;
@@ -3200,18 +3192,17 @@ class JSCodegenVisitor extends GeneralizingAstVisitor
var context = compiler.context;
var dart_async = context
.computeLibraryElement(context.sourceFactory.forUri('dart:async'));
- var T = node.loopVariable.element.type;
- var StreamIterator_T =
- dart_async.getType('StreamIterator').type.instantiate([T]);
+ var _streamIteratorType =
+ rules.instantiateToBounds(dart_async.getType('StreamIterator').type);
var createStreamIter = _emitInstanceCreationExpression(
- StreamIterator_T.element.unnamedConstructor,
- StreamIterator_T,
+ _streamIteratorType.element.unnamedConstructor,
+ _streamIteratorType,
null,
AstBuilder.argumentList([node.iterable]),
false);
var iter =
- _visit(_createTemporary('it', StreamIterator_T, nullable: false));
+ _visit(_createTemporary('it', _streamIteratorType, nullable: false));
var init = _visit(node.identifier);
if (init == null) {
@@ -3844,52 +3835,3 @@ class TemporaryVariableElement extends LocalVariableElementImpl {
int get hashCode => identityHashCode(this);
bool operator ==(Object other) => identical(this, other);
}
-
-CompilationUnit _cloneCompilationUnit(CompilationUnit unit) {
- var result = new _TreeCloner().visitCompilationUnit(unit);
- ResolutionCopier.copyResolutionData(unit, result);
- return result;
-}
-
-class _TreeCloner extends AstCloner {
- void _cloneProperties(AstNode clone, AstNode node) {
- if (clone != null) {
- CoercionInfo.set(clone, CoercionInfo.get(node));
- DynamicInvoke.set(clone, DynamicInvoke.get(node));
- }
- }
-
- @override
- AstNode cloneNode(AstNode node) {
- var clone = super.cloneNode(node);
- _cloneProperties(clone, node);
- return clone;
- }
-
- @override
- List cloneNodeList(List list) {
- var clone = super.cloneNodeList(list);
- for (int i = 0, len = list.length; i < len; i++) {
- _cloneProperties(clone[i], list[i]);
- }
- return clone;
- }
-
- // TODO(jmesserly): ResolutionCopier is not copying this yet.
- @override
- BlockFunctionBody visitBlockFunctionBody(BlockFunctionBody node) {
- var clone = super.visitBlockFunctionBody(node);
- (clone as FunctionBodyImpl).localVariableInfo =
- (node as FunctionBodyImpl).localVariableInfo;
- return clone;
- }
-
- @override
- ExpressionFunctionBody visitExpressionFunctionBody(
- ExpressionFunctionBody node) {
- var clone = super.visitExpressionFunctionBody(node);
- (clone as FunctionBodyImpl).localVariableInfo =
- (node as FunctionBodyImpl).localVariableInfo;
- return clone;
- }
-}

Powered by Google App Engine
This is Rietveld 408576698