Details
-
Bug
-
Status: Resolved
-
Highest
-
Resolution: Done
-
7.0.0
-
None
Description
Attempting to resolve a leafref path via SchemaInferenceStack results in:
java.lang.IllegalStateException: Unexpected current DeclaredCaseEffectiveStatement[qname=(urn:ietf:params:xml:ns:yang:ietf-te-topology?revision=2020-08-06)bundle] at com.google.common.base.Preconditions.checkState (Preconditions.java:591) at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.exitToDataTree (SchemaInferenceStack.java:483) at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.resolveLocationPath (SchemaInferenceStack.java:573) at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.resolvePathExpression (SchemaInferenceStack.java:523) at org.opendaylight.mdsal.binding.generator.impl.reactor.GeneratorReactor.strictResolvePath (GeneratorReactor.java:306) at org.opendaylight.mdsal.binding.generator.impl.reactor.GeneratorReactor.resolveLeafref (GeneratorReactor.java:297) at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractTypeObjectGenerator.bindTypeDefinition (AbstractTypeObjectGenerator.java:323) at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractTypeAwareGenerator.bindTypeDefinition (AbstractTypeAwareGenerator.java:53) at org.opendaylight.mdsal.binding.generator.impl.reactor.GeneratorReactor.bindTypeDefinition (GeneratorReactor.java:399) at org.opendaylight.mdsal.binding.generator.impl.reactor.GeneratorReactor.bindTypeDefinition (GeneratorReactor.java:401) at org.opendaylight.mdsal.binding.generator.impl.reactor.GeneratorReactor.bindTypeDefinition (GeneratorReactor.java:401) at org.opendaylight.mdsal.binding.generator.impl.reactor.GeneratorReactor.execute (GeneratorReactor.java:155) at org.opendaylight.mdsal.binding.generator.impl.DefaultBindingGenerator.generateFor (DefaultBindingGenerator.java:78) at org.opendaylight.mdsal.binding.generator.impl.DefaultBindingGenerator.generateTypes (DefaultBindingGenerator.java:48) at org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl.generateSources (CodeGeneratorImpl.java:79) at org.opendaylight.yangtools.yang2sources.plugin.CodeGeneratorTask.execute (CodeGeneratorTask.java:49) at org.opendaylight.yangtools.yang2sources.plugin.CodeGeneratorTask.execute (CodeGeneratorTask.java:24) at org.opendaylight.yangtools.yang2sources.plugin.GeneratorTask.execute (GeneratorTask.java:36) at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.generateSources (YangToSourcesProcessor.java:335) at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.conditionalExecute (YangToSourcesProcessor.java:214) at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesMojo.execute (YangToSourcesMojo.java:139)
when faced with something like:
module foo {
container foo {
choice foo {
case foo {
leaf foo {
type leafref {
path ../../bar;
}
}
}
}
}
leaf bar {
type string;
}
}