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

Side by Side Diff: pkg/fasta/lib/src/analyzer/analyzer.dart

Issue 2632663002: Fasta analyzer AST builder. (Closed)
Patch Set: Created 3 years, 11 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
(Empty)
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
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.
4
5 library fasta.analyzer;
6
7 import 'package:analyzer/analyzer.dart' show
8 AstNode;
9
10 import 'package:analyzer/dart/element/element.dart' show
11 LocalElement;
12
13 import 'package:kernel/analyzer/ast_from_analyzer.dart' show
14 ExpressionScope;
15
16 import 'package:kernel/ast.dart' show
17 Library,
18 TreeNode;
19
20 import '../builder/scope.dart' show
21 Scope;
22
23 import '../kernel/kernel_builder.dart' show
24 Builder,
25 KernelFormalParameterBuilder;
26
27 import 'element_store.dart' show
28 ElementStore;
29
30 export 'ast_builder.dart' show
31 AstBuilder;
32
33 export 'element_store.dart' show
34 ElementStore;
35
36 TreeNode toKernel(AstNode node, ElementStore store, Library library,
37 Scope scope) {
38 ExpressionScope expressionScope = new ExpressionScope(store, library);
39 scope.local.forEach((String name, Builder builder) {
40 if (builder is KernelFormalParameterBuilder) {
41 LocalElement local = store[builder];
42 assert(local != null);
43 assert(builder.declaration != null);
44 expressionScope.localVariables[local] = builder.declaration;
45 }
46 });
47 return expressionScope.buildStatement(node);
48 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698