- // FIXME: Remove following section after fixing 4380
- final UnknownSchemaNode original = (UnknownSchemaNode) stmt.original();
- return new UnrecognizedEffectiveStatementImpl(stmt, substatements,
- original == null ? qnameFromArgument(stmt) : original.getQName());
- }
-
- private static QName qnameFromArgument(final Current<String, UnrecognizedStatement> stmt) {
- final String value = stmt.argument();
- if (value == null || value.isEmpty()) {
- return stmt.publicDefinition().getStatementName();
- }
-
- final int colon = value.indexOf(':');
- if (colon == -1) {
- final UnqualifiedQName qname = UnqualifiedQName.tryCreate(value);
- return qname == null ? null : qname.bindTo(stmt.moduleName().getModule()).intern();
- }
-
- final QNameModule qnameModule = StmtContextUtils.getModuleQNameByPrefix(stmt.caerbannog(),
- value.substring(0, colon));
- if (qnameModule == null) {
- return null;
- }
-
- final int next = value.indexOf(':', colon + 1);
- final String localName = next == -1 ? value.substring(colon + 1) : value.substring(colon + 1, next);
- return QName.create(qnameModule, localName).intern();
+ throw new InferenceException(stmt, "Attempted to instantiate unrecognized effective statement %s",
+ stmt.publicDefinition());