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 |