| 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/scanner/token.dart' |
| 6 show Token, offsetForToken; |
| 5 import 'package:kernel/ast.dart'; | 7 import 'package:kernel/ast.dart'; |
| 6 | 8 |
| 7 import '../builder/ast_factory.dart'; | 9 import '../builder/ast_factory.dart'; |
| 8 import 'kernel_shadow_ast.dart'; | 10 import 'kernel_shadow_ast.dart'; |
| 9 | 11 |
| 10 /// Concrete implementation of [builder.AstFactory] for building a kernel AST. | 12 /// Concrete implementation of [builder.AstFactory] for building a kernel AST. |
| 11 class KernelAstFactory implements AstFactory { | 13 class KernelAstFactory implements AstFactory { |
| 12 @override | 14 @override |
| 13 KernelBlock block(List<Statement> statements, int charOffset) { | 15 KernelBlock block(List<Statement> statements, Token beginToken) { |
| 14 return new KernelBlock(statements)..fileOffset = charOffset; | 16 return new KernelBlock(statements)..fileOffset = offsetForToken(beginToken); |
| 15 } | 17 } |
| 16 | 18 |
| 17 @override | 19 @override |
| 18 Field field(Name name, int charOffset, {String fileUri}) { | 20 Field field(Name name, int charOffset, {String fileUri}) { |
| 19 return new KernelField(name, fileUri: fileUri)..fileOffset = charOffset; | 21 return new KernelField(name, fileUri: fileUri)..fileOffset = charOffset; |
| 20 } | 22 } |
| 21 | 23 |
| 22 @override | 24 @override |
| 23 KernelIntLiteral intLiteral(value, int charOffset) { | 25 KernelIntLiteral intLiteral(value, Token token) { |
| 24 return new KernelIntLiteral(value)..fileOffset = charOffset; | 26 return new KernelIntLiteral(value)..fileOffset = offsetForToken(token); |
| 25 } | 27 } |
| 26 | 28 |
| 27 @override | 29 @override |
| 28 KernelListLiteral listLiteral(List<Expression> expressions, | 30 KernelListLiteral listLiteral(List<Expression> expressions, |
| 29 DartType typeArgument, bool isConst, int charOffset) { | 31 DartType typeArgument, bool isConst, Token token) { |
| 30 return new KernelListLiteral(expressions, | 32 return new KernelListLiteral(expressions, |
| 31 typeArgument: typeArgument, isConst: isConst) | 33 typeArgument: typeArgument, isConst: isConst) |
| 32 ..fileOffset = charOffset; | 34 ..fileOffset = offsetForToken(token); |
| 33 } | 35 } |
| 34 | 36 |
| 35 @override | 37 @override |
| 36 KernelNullLiteral nullLiteral(int charOffset) { | 38 KernelNullLiteral nullLiteral(Token token) { |
| 37 return new KernelNullLiteral()..fileOffset = charOffset; | 39 return new KernelNullLiteral()..fileOffset = offsetForToken(token); |
| 38 } | 40 } |
| 39 | 41 |
| 40 @override | 42 @override |
| 41 KernelReturnStatement returnStatement(Expression expression, int charOffset) { | 43 KernelReturnStatement returnStatement(Expression expression, Token token) { |
| 42 return new KernelReturnStatement(expression)..fileOffset = charOffset; | 44 return new KernelReturnStatement(expression) |
| 45 ..fileOffset = offsetForToken(token); |
| 43 } | 46 } |
| 44 | 47 |
| 45 @override | 48 @override |
| 46 StaticGet staticGet(Member readTarget, int offset) { | 49 StaticGet staticGet(Member readTarget, Token token) { |
| 47 return new KernelStaticGet(readTarget)..fileOffset = offset; | 50 return new KernelStaticGet(readTarget)..fileOffset = offsetForToken(token); |
| 48 } | 51 } |
| 49 | 52 |
| 50 @override | 53 @override |
| 51 KernelVariableDeclaration variableDeclaration(String name, int charOffset, | 54 KernelVariableDeclaration variableDeclaration(String name, Token token, |
| 52 {DartType type, | 55 {DartType type, |
| 53 Expression initializer, | 56 Expression initializer, |
| 54 int equalsCharOffset = TreeNode.noOffset, | 57 Token equalsToken, |
| 55 bool isFinal: false, | 58 bool isFinal: false, |
| 56 bool isConst: false}) { | 59 bool isConst: false}) { |
| 57 return new KernelVariableDeclaration(name, | 60 return new KernelVariableDeclaration(name, |
| 58 type: type, | 61 type: type, |
| 59 initializer: initializer, | 62 initializer: initializer, |
| 60 isFinal: isFinal, | 63 isFinal: isFinal, |
| 61 isConst: isConst) | 64 isConst: isConst) |
| 62 ..fileOffset = charOffset | 65 ..fileOffset = offsetForToken(token) |
| 63 ..fileEqualsOffset = equalsCharOffset; | 66 ..fileEqualsOffset = offsetForToken(equalsToken); |
| 64 } | 67 } |
| 65 } | 68 } |
| OLD | NEW |