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

Side by Side Diff: pkg/front_end/lib/src/fasta/kernel/kernel_ast_factory.dart

Issue 2828253003: Add top level type inference logic for integer literals. (Closed)
Patch Set: Clean up, bug fix, and remove unintentional expectations changes Created 3 years, 8 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 unified diff | Download patch
OLDNEW
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:kernel/ast.dart'; 5 import 'package:kernel/ast.dart';
6 6
7 import '../builder/ast_factory.dart'; 7 import '../builder/ast_factory.dart';
8 import 'kernel_shadow_ast.dart'; 8 import 'kernel_shadow_ast.dart';
9 9
10 /// Concrete implementation of [builder.AstFactory] for building a kernel AST. 10 /// Concrete implementation of [builder.AstFactory] for building a kernel AST.
11 class KernelAstFactory implements AstFactory { 11 class KernelAstFactory implements AstFactory {
12 @override 12 @override
13 KernelBlock block(List<Statement> statements, int charOffset) { 13 KernelBlock block(List<Statement> statements, int charOffset) {
14 return new KernelBlock(statements)..fileOffset = charOffset; 14 return new KernelBlock(statements)..fileOffset = charOffset;
15 } 15 }
16 16
17 @override 17 @override
18 Field field(Name name, int charOffset, {String fileUri}) {
19 return new KernelField(name, fileUri: fileUri)..fileOffset = charOffset;
20 }
21
22 @override
18 KernelIntLiteral intLiteral(value, int charOffset) { 23 KernelIntLiteral intLiteral(value, int charOffset) {
19 return new KernelIntLiteral(value)..fileOffset = charOffset; 24 return new KernelIntLiteral(value)..fileOffset = charOffset;
20 } 25 }
21 26
22 @override 27 @override
23 KernelListLiteral listLiteral(List<Expression> expressions, 28 KernelListLiteral listLiteral(List<Expression> expressions,
24 DartType typeArgument, bool isConst, int charOffset) { 29 DartType typeArgument, bool isConst, int charOffset) {
25 return new KernelListLiteral(expressions, 30 return new KernelListLiteral(expressions,
26 typeArgument: typeArgument, isConst: isConst) 31 typeArgument: typeArgument, isConst: isConst)
27 ..fileOffset = charOffset; 32 ..fileOffset = charOffset;
28 } 33 }
29 34
30 @override 35 @override
31 KernelNullLiteral nullLiteral(int charOffset) { 36 KernelNullLiteral nullLiteral(int charOffset) {
32 return new KernelNullLiteral()..fileOffset = charOffset; 37 return new KernelNullLiteral()..fileOffset = charOffset;
33 } 38 }
34 39
35 @override 40 @override
36 KernelReturnStatement returnStatement(Expression expression, int charOffset) { 41 KernelReturnStatement returnStatement(Expression expression, int charOffset) {
37 return new KernelReturnStatement(expression)..fileOffset = charOffset; 42 return new KernelReturnStatement(expression)..fileOffset = charOffset;
38 } 43 }
39 44
40 @override 45 @override
46 StaticGet staticGet(Member readTarget, int offset) {
47 return new KernelStaticGet(readTarget)..fileOffset = offset;
48 }
49
50 @override
41 KernelVariableDeclaration variableDeclaration(String name, 51 KernelVariableDeclaration variableDeclaration(String name,
42 {DartType type, 52 {DartType type,
43 Expression initializer, 53 Expression initializer,
44 int charOffset = TreeNode.noOffset, 54 int charOffset = TreeNode.noOffset,
45 int equalsCharOffset = TreeNode.noOffset, 55 int equalsCharOffset = TreeNode.noOffset,
46 bool isFinal: false, 56 bool isFinal: false,
47 bool isConst: false}) { 57 bool isConst: false}) {
48 return new KernelVariableDeclaration(name, 58 return new KernelVariableDeclaration(name,
49 type: type, 59 type: type,
50 initializer: initializer, 60 initializer: initializer,
51 isFinal: isFinal, 61 isFinal: isFinal,
52 isConst: isConst) 62 isConst: isConst)
53 ..fileOffset = charOffset 63 ..fileOffset = charOffset
54 ..fileEqualsOffset = equalsCharOffset; 64 ..fileEqualsOffset = equalsCharOffset;
55 } 65 }
56 } 66 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698