@SuppressWarnings({ "unchecked", "rawtypes" })
private <K, V, N extends ParserNamespace<K, V>> NamespaceBehaviourWithListeners<K, V, N> createNamespaceContext(
final NamespaceBehaviour<K, V, N> potentialRaw) {
- if (potentialRaw instanceof DerivedNamespaceBehaviour) {
- final VirtualNamespaceContext derivedContext = new VirtualNamespaceContext(
- (DerivedNamespaceBehaviour) potentialRaw);
- getNamespaceBehaviour(((DerivedNamespaceBehaviour) potentialRaw).getDerivedFrom()).addDerivedNamespace(
- derivedContext);
+ if (potentialRaw instanceof DerivedNamespaceBehaviour derived) {
+ final VirtualNamespaceContext derivedContext = new VirtualNamespaceContext(derived);
+ getNamespaceBehaviour(derived.getDerivedFrom()).addDerivedNamespace(derivedContext);
return derivedContext;
}
return new SimpleNamespaceContext<>(potentialRaw);
private String refString() {
final int current = refcount;
- switch (current) {
- case REFCOUNT_DEFUNCT:
- return "DEFUNCT";
- case REFCOUNT_SWEEPING:
- return "SWEEPING";
- case REFCOUNT_SWEPT:
- return "SWEPT";
- default:
- return String.valueOf(refcount);
- }
+ return switch (current) {
+ case REFCOUNT_DEFUNCT -> "DEFUNCT";
+ case REFCOUNT_SWEEPING -> "SWEEPING";
+ case REFCOUNT_SWEPT -> "SWEPT";
+ default -> String.valueOf(refcount);
+ };
}
/**
}
final Object argument = argument();
- if (argument instanceof QName) {
- return ((QName) argument).getModule();
+ if (argument instanceof QName qname) {
+ return qname.getModule();
}
- if (argument instanceof String) {
+ if (argument instanceof String str) {
// FIXME: This may yield illegal argument exceptions
- return StmtContextUtils.qnameFromArgument(getOriginalCtx().orElse(this), (String) argument).getModule();
+ return StmtContextUtils.qnameFromArgument(getOriginalCtx().orElse(this), str).getModule();
}
- if (argument instanceof SchemaNodeIdentifier
+ if (argument instanceof SchemaNodeIdentifier sni
&& (producesDeclared(AugmentStatement.class) || producesDeclared(RefineStatement.class)
|| producesDeclared(DeviationStatement.class))) {
- return ((SchemaNodeIdentifier) argument).lastNodeIdentifier().getModule();
+ return sni.lastNodeIdentifier().getModule();
}
return coerceParent().effectiveNamespace();
}
}
- switch (exceptions.size()) {
- case 0:
- return Optional.empty();
- case 1:
- return Optional.of(exceptions.get(0));
- default:
+ return switch (exceptions.size()) {
+ case 0 -> Optional.empty();
+ case 1 -> Optional.of(exceptions.get(0));
+ default -> {
final String message = String.format("Yang model processing phase %s failed", identifier);
final InferenceException ex = new InferenceException(message, root, exceptions.get(0));
exceptions.listIterator(1).forEachRemaining(ex::addSuppressed);
- return Optional.of(ex);
- }
+ yield Optional.of(ex);
+ }
+ };
}
void loadStatements() {
static final void afterAddEffectiveSubstatement(final Mutable<?, ?, ?> substatement) {
// Undeclared statements still need to have 'onDeclarationFinished()' triggered
- if (substatement instanceof UndeclaredStmtCtx) {
- finishDeclaration((UndeclaredStmtCtx<?, ?, ?>) substatement);
+ if (substatement instanceof UndeclaredStmtCtx<?, ?, ?> undeclared) {
+ finishDeclaration(undeclared);
}
}
@Override
final E createEffective() {
final E result = createEffective(definition.getFactory());
- if (result instanceof MutableStatement) {
- getRoot().addMutableStmtToSeal((MutableStatement) result);
+ if (result instanceof MutableStatement mutable) {
+ getRoot().addMutableStmtToSeal(mutable);
}
return result;
}
public final Mutable<?, ?, ?> childCopyOf(final StmtContext<?, ?, ?> stmt, final CopyType type,
final QNameModule targetModule) {
checkEffectiveModelCompleted(stmt);
- if (stmt instanceof StatementContextBase) {
- return childCopyOf((StatementContextBase<?, ?, ?>) stmt, type, targetModule);
- } else if (stmt instanceof ReplicaStatementContext) {
- return ((ReplicaStatementContext<?, ?, ?>) stmt).replicaAsChildOf(this);
+ if (stmt instanceof StatementContextBase<?, ?, ?> base) {
+ return childCopyOf(base, type, targetModule);
+ } else if (stmt instanceof ReplicaStatementContext<?, ?, ?> replica) {
+ return replica.replicaAsChildOf(this);
} else {
throw new IllegalArgumentException("Unsupported statement " + stmt);
}
Optional<StatementSupport<?, ?, ?>> getImplicitParentFor(final NamespaceStmtCtx parent,
final StatementDefinition stmtDef) {
- return support instanceof ImplicitParentAwareStatementSupport
- ? ((ImplicitParentAwareStatementSupport) support).getImplicitParentFor(parent, stmtDef)
- : Optional.empty();
+ return support instanceof ImplicitParentAwareStatementSupport implicit
+ ? implicit.getImplicitParentFor(parent, stmtDef) : Optional.empty();
}
void onStatementAdded(final Mutable<A, D, E> stmt) {