*/
package org.opendaylight.yangtools.yang2sources.plugin;
+import static com.google.common.base.Preconditions.checkState;
import static java.util.Objects.requireNonNull;
import com.google.common.base.MoreObjects;
private final Map<SourceIdentifier, YangTextSchemaSource> modelsInProject;
private final Collection<ScannedDependency> dependencies;
- private final YangParser parser;
+
+ private YangParser parser;
ProcessorModuleReactor(final YangParser parser, final Collection<YangTextSchemaSource> modelsInProject,
final Collection<ScannedDependency> dependencies) {
}
ContextHolder toContext() throws IOException, YangParserException {
+ checkState(parser != null, "Context has already been assembled");
+
for (YangTextSchemaSource source : toUniqueSources(dependencies)) {
// This source is coming from a dependency:
// - its identifier should be accurate, as it should have been processed into a file with accurate name
}
final SchemaContext schemaContext = Verify.verifyNotNull(parser.buildSchemaContext());
+ parser = null;
final Set<Module> modules = new HashSet<>();
for (Module module : schemaContext.getModules()) {
@Override
public String toString() {
- return MoreObjects.toStringHelper(this).add("sources", modelsInProject.keySet()).add("parser", parser)
- .toString();
+ return MoreObjects.toStringHelper(this).add("sources", modelsInProject.keySet()).toString();
}
}