| OLD | NEW |
| 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 'package:front_end/src/fasta/kernel/utils.dart'; | 5 import 'package:front_end/src/fasta/kernel/utils.dart'; |
| 6 import 'package:front_end/src/fasta/scanner/token.dart' show Token; | 6 import 'package:front_end/src/fasta/scanner/token.dart' show Token; |
| 7 import 'package:front_end/src/fasta/type_inference/type_promotion.dart'; | 7 import 'package:front_end/src/fasta/type_inference/type_promotion.dart'; |
| 8 import 'package:kernel/ast.dart'; | 8 import 'package:kernel/ast.dart'; |
| 9 | 9 |
| 10 import '../builder/ast_factory.dart'; | 10 import '../builder/ast_factory.dart'; |
| 11 import 'kernel_shadow_ast.dart'; | 11 import 'kernel_shadow_ast.dart'; |
| 12 | 12 |
| 13 /// Concrete implementation of [builder.AstFactory] for building a kernel AST. | 13 /// Concrete implementation of [builder.AstFactory] for building a kernel AST. |
| 14 class KernelAstFactory implements AstFactory<VariableDeclaration> { | 14 class KernelAstFactory implements AstFactory<VariableDeclaration> { |
| 15 @override | 15 @override |
| 16 KernelBlock block(List<Statement> statements, Token beginToken) { | 16 KernelBlock block(List<Statement> statements, Token beginToken) { |
| 17 return new KernelBlock(statements)..fileOffset = offsetForToken(beginToken); | 17 return new KernelBlock(statements)..fileOffset = offsetForToken(beginToken); |
| 18 } | 18 } |
| 19 | 19 |
| 20 @override | 20 @override |
| 21 KernelBoolLiteral boolLiteral(bool value, Token token) { |
| 22 return new KernelBoolLiteral(value)..fileOffset = offsetForToken(token); |
| 23 } |
| 24 |
| 25 @override |
| 21 KernelDoubleLiteral doubleLiteral(double value, Token token) { | 26 KernelDoubleLiteral doubleLiteral(double value, Token token) { |
| 22 return new KernelDoubleLiteral(value)..fileOffset = offsetForToken(token); | 27 return new KernelDoubleLiteral(value)..fileOffset = offsetForToken(token); |
| 23 } | 28 } |
| 24 | 29 |
| 25 @override | 30 @override |
| 26 ExpressionStatement expressionStatement(Expression expression) { | 31 ExpressionStatement expressionStatement(Expression expression) { |
| 27 return new KernelExpressionStatement(expression); | 32 return new KernelExpressionStatement(expression); |
| 28 } | 33 } |
| 29 | 34 |
| 30 @override | 35 @override |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 return new KernelReturnStatement(expression) | 78 return new KernelReturnStatement(expression) |
| 74 ..fileOffset = offsetForToken(token); | 79 ..fileOffset = offsetForToken(token); |
| 75 } | 80 } |
| 76 | 81 |
| 77 @override | 82 @override |
| 78 StaticGet staticGet(Member readTarget, Token token) { | 83 StaticGet staticGet(Member readTarget, Token token) { |
| 79 return new KernelStaticGet(readTarget)..fileOffset = offsetForToken(token); | 84 return new KernelStaticGet(readTarget)..fileOffset = offsetForToken(token); |
| 80 } | 85 } |
| 81 | 86 |
| 82 @override | 87 @override |
| 88 StringConcatenation stringConcatenation( |
| 89 List<Expression> expressions, Token token) { |
| 90 return new KernelStringConcatenation(expressions) |
| 91 ..fileOffset = offsetForToken(token); |
| 92 } |
| 93 |
| 94 @override |
| 95 StringLiteral stringLiteral(String value, Token token) { |
| 96 return new KernelStringLiteral(value)..fileOffset = offsetForToken(token); |
| 97 } |
| 98 |
| 99 @override |
| 83 VariableDeclaration variableDeclaration( | 100 VariableDeclaration variableDeclaration( |
| 84 String name, Token token, int functionNestingLevel, | 101 String name, Token token, int functionNestingLevel, |
| 85 {DartType type, | 102 {DartType type, |
| 86 Expression initializer, | 103 Expression initializer, |
| 87 Token equalsToken, | 104 Token equalsToken, |
| 88 bool isFinal: false, | 105 bool isFinal: false, |
| 89 bool isConst: false}) { | 106 bool isConst: false}) { |
| 90 return new KernelVariableDeclaration(name, functionNestingLevel, | 107 return new KernelVariableDeclaration(name, functionNestingLevel, |
| 91 type: type, | 108 type: type, |
| 92 initializer: initializer, | 109 initializer: initializer, |
| 93 isFinal: isFinal, | 110 isFinal: isFinal, |
| 94 isConst: isConst) | 111 isConst: isConst) |
| 95 ..fileOffset = offsetForToken(token) | 112 ..fileOffset = offsetForToken(token) |
| 96 ..fileEqualsOffset = offsetForToken(equalsToken); | 113 ..fileEqualsOffset = offsetForToken(equalsToken); |
| 97 } | 114 } |
| 98 | 115 |
| 99 @override | 116 @override |
| 100 VariableGet variableGet( | 117 VariableGet variableGet( |
| 101 VariableDeclaration variable, | 118 VariableDeclaration variable, |
| 102 TypePromotionFact<VariableDeclaration> fact, | 119 TypePromotionFact<VariableDeclaration> fact, |
| 103 TypePromotionScope scope, | 120 TypePromotionScope scope, |
| 104 Token token) { | 121 Token token) { |
| 105 return new KernelVariableGet(variable, fact, scope) | 122 return new KernelVariableGet(variable, fact, scope) |
| 106 ..fileOffset = offsetForToken(token); | 123 ..fileOffset = offsetForToken(token); |
| 107 } | 124 } |
| 108 } | 125 } |
| OLD | NEW |