| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 library tree_ir_nodes; | 5 library tree_ir_nodes; |
| 6 | 6 |
| 7 import '../constants/expressions.dart'; | 7 import '../constants/expressions.dart'; |
| 8 import '../constants/values.dart' as values; | 8 import '../constants/values.dart' as values; |
| 9 import '../cps_ir/cps_ir_nodes.dart' as cps_ir; | 9 import '../cps_ir/cps_ir_nodes.dart' as cps_ir; |
| 10 import '../dart_types.dart' show DartType, GenericType; | 10 import '../dart_types.dart' show DartType, GenericType; |
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 276 | 276 |
| 277 Not(this.operand); | 277 Not(this.operand); |
| 278 | 278 |
| 279 accept(ExpressionVisitor visitor) => visitor.visitNot(this); | 279 accept(ExpressionVisitor visitor) => visitor.visitNot(this); |
| 280 } | 280 } |
| 281 | 281 |
| 282 class FunctionExpression extends Expression { | 282 class FunctionExpression extends Expression { |
| 283 final FunctionDefinition definition; | 283 final FunctionDefinition definition; |
| 284 | 284 |
| 285 FunctionExpression(this.definition) { | 285 FunctionExpression(this.definition) { |
| 286 assert(definition.element.functionSignature.type.returnType.treatAsDynamic); | 286 assert(definition.element.type.returnType.treatAsDynamic); |
| 287 } | 287 } |
| 288 | 288 |
| 289 accept(ExpressionVisitor visitor) => visitor.visitFunctionExpression(this); | 289 accept(ExpressionVisitor visitor) => visitor.visitFunctionExpression(this); |
| 290 } | 290 } |
| 291 | 291 |
| 292 /// Declares a local function. | 292 /// Declares a local function. |
| 293 /// Used for functions that may not occur in expression context due to | 293 /// Used for functions that may not occur in expression context due to |
| 294 /// being recursive or having a return type. | 294 /// being recursive or having a return type. |
| 295 /// The [variable] must not occur as the left-hand side of an [Assign] or | 295 /// The [variable] must not occur as the left-hand side of an [Assign] or |
| 296 /// any other [FunctionDeclaration]. | 296 /// any other [FunctionDeclaration]. |
| (...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 647 visitFunctionDeclaration(FunctionDeclaration node) { | 647 visitFunctionDeclaration(FunctionDeclaration node) { |
| 648 visitFunctionDefinition(node.definition); | 648 visitFunctionDefinition(node.definition); |
| 649 visitStatement(node.next); | 649 visitStatement(node.next); |
| 650 } | 650 } |
| 651 | 651 |
| 652 visitExpressionStatement(ExpressionStatement node) { | 652 visitExpressionStatement(ExpressionStatement node) { |
| 653 visitExpression(node.expression); | 653 visitExpression(node.expression); |
| 654 visitStatement(node.next); | 654 visitStatement(node.next); |
| 655 } | 655 } |
| 656 } | 656 } |
| OLD | NEW |