port(m1): wave 7a — namespace-aware ProcessingBase collapses Story SelectionProcessing cluster (198->190)
The Story chapter-selection processing subsystem is duplicated across two namespaces (…SelectionProcessing.Main and .BattleResult), each with its own ProcessingBase : IProcessing + Parameter. m1_genstub keyed output by bare type name, so only ONE ProcessingBase.g.cs was emitted (BattleResult), and m1_baseclauses cross-qualified the Main leaves to BattleResult.ProcessingBase — making it impossible to give IProcessing its real members (Execute(Main.Parameter) ≠ inherited Execute(BattleResult.Parameter) → CS0535). Now both ProcessingBase variants are generated via the namespace-aware tooling (<Type>__<Namespace>.g.cs), baseclauses resolves each leaf to its same-namespace ProcessingBase, and both IProcessing interfaces carry NextProcessing + Execute. 8 IProcessing CS1061 cleared, no CS0535 introduced. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -90,7 +90,11 @@ namespace DeckBuilder
|
||||
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult
|
||||
{
|
||||
public interface IProcessing { }
|
||||
public interface IProcessing
|
||||
{
|
||||
IProcessing NextProcessing { get; set; }
|
||||
void Execute(Parameter param);
|
||||
}
|
||||
public class Parameter { }
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,11 @@ namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main
|
||||
{
|
||||
// Parallel to the BattleResult submodule (already shimmed); some copied files
|
||||
// `using` this Main module and reference these unqualified.
|
||||
public interface IProcessing { }
|
||||
public interface IProcessing
|
||||
{
|
||||
IProcessing NextProcessing { get; set; }
|
||||
void Execute(Parameter param);
|
||||
}
|
||||
public class Parameter { }
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user