import org.opendaylight.yangtools.yang.model.api.stmt.CaseEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.CaseStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement;
+import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder;
+import org.opendaylight.yangtools.yang.model.spi.meta.SubstatementIndexingException;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseImplicitStatementSupport;
-import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder;
-import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.SubstatementIndexingException;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Parent.EffectiveConfig;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
@Override
protected CaseEffectiveStatement copyDeclaredEffective(final Current<QName, CaseStatement> stmt,
final CaseEffectiveStatement original) {
- return new DeclaredCaseEffectiveStatement((DeclaredCaseEffectiveStatement) original,
- computeFlags(stmt, original.effectiveSubstatements()), stmt.wrapSchemaPath(), findOriginal(stmt));
+ return new DeclaredCaseEffectiveStatement((DeclaredCaseEffectiveStatement) original, stmt.effectivePath(),
+ computeFlags(stmt, original.effectiveSubstatements()), stmt.original(CaseSchemaNode.class));
}
@Override
protected CaseEffectiveStatement copyUndeclaredEffective(final Current<QName, CaseStatement> stmt,
final CaseEffectiveStatement original) {
- return new UndeclaredCaseEffectiveStatement((UndeclaredCaseEffectiveStatement) original,
- computeFlags(stmt, original.effectiveSubstatements()), stmt.wrapSchemaPath(), findOriginal(stmt));
+ return new UndeclaredCaseEffectiveStatement((UndeclaredCaseEffectiveStatement) original, stmt.effectivePath(),
+ computeFlags(stmt, original.effectiveSubstatements()), stmt.original(CaseSchemaNode.class));
}
@Override
protected CaseEffectiveStatement createDeclaredEffective(final Current<QName, CaseStatement> stmt,
final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
try {
- return new DeclaredCaseEffectiveStatement(stmt.declared(), substatements, computeFlags(stmt, substatements),
- stmt.wrapSchemaPath(), findOriginal(stmt));
+ return new DeclaredCaseEffectiveStatement(stmt.declared(), substatements, stmt.effectivePath(),
+ computeFlags(stmt, substatements), stmt.original(CaseSchemaNode.class));
} catch (SubstatementIndexingException e) {
throw new SourceException(e.getMessage(), stmt, e);
}
protected CaseEffectiveStatement createUndeclaredEffective(final Current<QName, CaseStatement> stmt,
final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
try {
- return new UndeclaredCaseEffectiveStatement(substatements, computeFlags(stmt, substatements),
- stmt.wrapSchemaPath(), findOriginal(stmt));
+ return new UndeclaredCaseEffectiveStatement(substatements, stmt.effectivePath(),
+ computeFlags(stmt, substatements), stmt.original(CaseSchemaNode.class));
} catch (SubstatementIndexingException e) {
throw new SourceException(e.getMessage(), stmt, e);
}
}
- private static @Nullable CaseSchemaNode findOriginal(final Current<?, ?> stmt) {
- return (CaseSchemaNode) stmt.original();
- }
-
private static int computeFlags(final Current<?, ?> stmt,
final Collection<? extends EffectiveStatement<?, ?>> substatements) {
final Boolean config;