| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import 'dart:collection' show HashSet, HashMap, SplayTreeSet; | 5 import 'dart:collection' show HashSet, HashMap, SplayTreeSet; |
| 6 | 6 |
| 7 import 'package:analyzer/analyzer.dart' hide ConstantEvaluator; | 7 import 'package:analyzer/analyzer.dart' hide ConstantEvaluator; |
| 8 import 'package:analyzer/dart/ast/token.dart'; | 8 import 'package:analyzer/dart/ast/token.dart'; |
| 9 import 'package:analyzer/src/generated/ast.dart' hide ConstantEvaluator; | 9 import 'package:analyzer/src/generated/ast.dart' hide ConstantEvaluator; |
| 10 import 'package:analyzer/src/generated/constant.dart'; | 10 import 'package:analyzer/src/generated/constant.dart'; |
| (...skipping 3481 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3492 | 3492 |
| 3493 _visit(AstNode node) { | 3493 _visit(AstNode node) { |
| 3494 if (node == null) return null; | 3494 if (node == null) return null; |
| 3495 var result = node.accept(this); | 3495 var result = node.accept(this); |
| 3496 if (result is JS.Node) result = annotate(result, node); | 3496 if (result is JS.Node) result = annotate(result, node); |
| 3497 return result; | 3497 return result; |
| 3498 } | 3498 } |
| 3499 | 3499 |
| 3500 // TODO(jmesserly): this will need to be a generic method, if we ever want to | 3500 // TODO(jmesserly): this will need to be a generic method, if we ever want to |
| 3501 // self-host strong mode. | 3501 // self-host strong mode. |
| 3502 List /*<T>*/ _visitList /*<T>*/ (Iterable<AstNode> nodes) { | 3502 List/*<T>*/ _visitList/*<T>*/(Iterable<AstNode> nodes) { |
| 3503 if (nodes == null) return null; | 3503 if (nodes == null) return null; |
| 3504 var result = /*<T>*/ []; | 3504 var result = /*<T>*/ []; |
| 3505 for (var node in nodes) result.add(_visit(node)); | 3505 for (var node in nodes) result.add(_visit(node)); |
| 3506 return result; | 3506 return result; |
| 3507 } | 3507 } |
| 3508 | 3508 |
| 3509 /// Visits a list of expressions, creating a comma expression if needed in JS. | 3509 /// Visits a list of expressions, creating a comma expression if needed in JS. |
| 3510 JS.Expression _visitListToBinary(List<Expression> nodes, String operator) { | 3510 JS.Expression _visitListToBinary(List<Expression> nodes, String operator) { |
| 3511 if (nodes == null || nodes.isEmpty) return null; | 3511 if (nodes == null || nodes.isEmpty) return null; |
| 3512 return new JS.Expression.binary( | 3512 return new JS.Expression.binary( |
| (...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3843 | 3843 |
| 3844 /// A special kind of element created by the compiler, signifying a temporary | 3844 /// A special kind of element created by the compiler, signifying a temporary |
| 3845 /// variable. These objects use instance equality, and should be shared | 3845 /// variable. These objects use instance equality, and should be shared |
| 3846 /// everywhere in the tree where they are treated as the same variable. | 3846 /// everywhere in the tree where they are treated as the same variable. |
| 3847 class TemporaryVariableElement extends LocalVariableElementImpl { | 3847 class TemporaryVariableElement extends LocalVariableElementImpl { |
| 3848 TemporaryVariableElement.forNode(Identifier name) : super.forNode(name); | 3848 TemporaryVariableElement.forNode(Identifier name) : super.forNode(name); |
| 3849 | 3849 |
| 3850 int get hashCode => identityHashCode(this); | 3850 int get hashCode => identityHashCode(this); |
| 3851 bool operator ==(Object other) => identical(this, other); | 3851 bool operator ==(Object other) => identical(this, other); |
| 3852 } | 3852 } |
| OLD | NEW |