+
+ // Alright. this is quite ugly
+ protected final void appendPrefixes(final StmtContext<?, ?, ?> ctx,
+ final Builder<String, ModuleEffectiveStatement> builder) {
+ streamEffectiveSubstatements(ImportEffectiveStatement.class)
+ .map(imp -> imp.findFirstEffectiveSubstatementArgument(PrefixEffectiveStatement.class).get())
+ .forEach(pfx -> {
+ final StmtContext<?, ?, ?> importedCtx =
+ verifyNotNull(ctx.getFromNamespace(ImportPrefixToModuleCtx.class, pfx),
+ "Failed to resolve prefix %s", pfx);
+ builder.put(pfx, (ModuleEffectiveStatement) importedCtx.buildEffective());
+ });
+ }