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

Unified Diff: pkg/analyzer/lib/src/summary/public_namespace_computer.dart

Issue 2342893002: Issue 27044. Summarize configurations of imports and exports, AST based. (Closed)
Patch Set: No equality test means '== true'. Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analyzer/lib/src/summary/idl.dart ('k') | pkg/analyzer/lib/src/summary/summarize_ast.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/src/summary/public_namespace_computer.dart
diff --git a/pkg/analyzer/lib/src/summary/public_namespace_computer.dart b/pkg/analyzer/lib/src/summary/public_namespace_computer.dart
index 9cd9007ee7683acb281a0e0709698b23118d8b39..9b44264ebe37e2e45d70a750abb12e78fbc72f8e 100644
--- a/pkg/analyzer/lib/src/summary/public_namespace_computer.dart
+++ b/pkg/analyzer/lib/src/summary/public_namespace_computer.dart
@@ -19,6 +19,17 @@ UnlinkedPublicNamespaceBuilder computePublicNamespace(CompilationUnit unit) {
names: visitor.names, exports: visitor.exports, parts: visitor.parts);
}
+/**
+ * Serialize a [Configuration] into a [UnlinkedConfigurationBuilder].
+ */
+UnlinkedConfigurationBuilder serializeConfiguration(
+ Configuration configuration) {
+ return new UnlinkedConfigurationBuilder(
+ name: configuration.name.components.map((i) => i.name).join('.'),
+ value: configuration.value?.stringValue ?? 'true',
+ uri: configuration.libraryUri.stringValue);
+}
+
class _CombinatorEncoder extends SimpleAstVisitor<UnlinkedCombinatorBuilder> {
_CombinatorEncoder();
@@ -140,7 +151,9 @@ class _PublicNamespaceVisitor extends RecursiveAstVisitor {
uri: node.uri.stringValue,
combinators: node.combinators
.map((Combinator c) => c.accept(new _CombinatorEncoder()))
- .toList()));
+ .toList(),
+ configurations:
+ node.configurations.map(serializeConfiguration).toList()));
}
@override
« no previous file with comments | « pkg/analyzer/lib/src/summary/idl.dart ('k') | pkg/analyzer/lib/src/summary/summarize_ast.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698