| Index: pkg/fasta/lib/src/analyzer/analyzer.dart
|
| diff --git a/pkg/fasta/lib/src/analyzer/analyzer.dart b/pkg/fasta/lib/src/analyzer/analyzer.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c6739139dd477b0d636a5c1f7115bd90c444efd8
|
| --- /dev/null
|
| +++ b/pkg/fasta/lib/src/analyzer/analyzer.dart
|
| @@ -0,0 +1,48 @@
|
| +// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +library fasta.analyzer;
|
| +
|
| +import 'package:analyzer/analyzer.dart' show
|
| + AstNode;
|
| +
|
| +import 'package:analyzer/dart/element/element.dart' show
|
| + LocalElement;
|
| +
|
| +import 'package:kernel/analyzer/ast_from_analyzer.dart' show
|
| + ExpressionScope;
|
| +
|
| +import 'package:kernel/ast.dart' show
|
| + Library,
|
| + TreeNode;
|
| +
|
| +import '../builder/scope.dart' show
|
| + Scope;
|
| +
|
| +import '../kernel/kernel_builder.dart' show
|
| + Builder,
|
| + KernelFormalParameterBuilder;
|
| +
|
| +import 'element_store.dart' show
|
| + ElementStore;
|
| +
|
| +export 'ast_builder.dart' show
|
| + AstBuilder;
|
| +
|
| +export 'element_store.dart' show
|
| + ElementStore;
|
| +
|
| +TreeNode toKernel(AstNode node, ElementStore store, Library library,
|
| + Scope scope) {
|
| + ExpressionScope expressionScope = new ExpressionScope(store, library);
|
| + scope.local.forEach((String name, Builder builder) {
|
| + if (builder is KernelFormalParameterBuilder) {
|
| + LocalElement local = store[builder];
|
| + assert(local != null);
|
| + assert(builder.declaration != null);
|
| + expressionScope.localVariables[local] = builder.declaration;
|
| + }
|
| + });
|
| + return expressionScope.buildStatement(node);
|
| +}
|
|
|