Skip to content

Commit dee1faf

Browse files
committed
Support replacing the root node during processing.
1 parent 825d96f commit dee1faf

49 files changed

Lines changed: 847 additions & 294 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/release.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,14 @@ jobs:
2323

2424
steps:
2525
- name: Checkout
26-
uses: actions/checkout@v5
26+
uses: actions/checkout@v6
2727

2828
- name: Publish to NuGet
2929
uses: MrKWatkins/nuget-publish@main
3030
with:
3131
nuget-api-key: ${{ secrets.NUGET_API_KEY }}
3232
version: ${{ inputs.version }}
33+
directory: src
3334

3435
- name: Deploy Documentation
3536
uses: MrKWatkins/writerside-build@main

doc/MrKWatkins.Ast.tree

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,7 @@
467467
<toc-element toc-title="Methods">
468468
<toc-element toc-title="Build" topic="MrKWatkins.Ast.Processing.Pipeline-1.Build.md" />
469469
<toc-element toc-title="Run" topic="MrKWatkins.Ast.Processing.Pipeline-1.Run.md" />
470-
</toc-element>
470+
</toc-element>
471471
</toc-element>
472472
<toc-element toc-title="Pipeline&lt;TContext, TBaseNode&gt;">
473473
<toc-element toc-title="Pipeline&lt;TContext, TBaseNode&gt;" topic="MrKWatkins.Ast.Processing.Pipeline-2.md" />
@@ -477,7 +477,7 @@
477477
<toc-element toc-title="Methods">
478478
<toc-element toc-title="Build" topic="MrKWatkins.Ast.Processing.Pipeline-2.Build.md" />
479479
<toc-element toc-title="Run" topic="MrKWatkins.Ast.Processing.Pipeline-2.Run.md" />
480-
</toc-element>
480+
</toc-element>
481481
</toc-element>
482482
<toc-element toc-title="PipelineBuilder&lt;TBaseNode&gt;">
483483
<toc-element toc-title="PipelineBuilder&lt;TBaseNode&gt;" topic="MrKWatkins.Ast.Processing.PipelineBuilder-1.md" />
@@ -511,7 +511,7 @@
511511
</toc-element>
512512
<toc-element toc-title="Methods">
513513
<toc-element toc-title="Run" topic="MrKWatkins.Ast.Processing.PipelineStage-1.Run.md" />
514-
</toc-element>
514+
</toc-element>
515515
</toc-element>
516516
<toc-element toc-title="PipelineStage&lt;TContext, TBaseNode&gt;">
517517
<toc-element toc-title="PipelineStage&lt;TContext, TBaseNode&gt;" topic="MrKWatkins.Ast.Processing.PipelineStage-2.md" />
@@ -522,7 +522,7 @@
522522
</toc-element>
523523
<toc-element toc-title="Methods">
524524
<toc-element toc-title="Run" topic="MrKWatkins.Ast.Processing.PipelineStage-2.Run.md" />
525-
</toc-element>
525+
</toc-element>
526526
</toc-element>
527527
<toc-element toc-title="PipelineStageBuilder&lt;TSelf, TStage, TBaseNode, TProcessor, TShouldContinue&gt;">
528528
<toc-element toc-title="PipelineStageBuilder&lt;TSelf, TStage, TBaseNode, TProcessor, TShouldContinue&gt;" topic="MrKWatkins.Ast.Processing.PipelineStageBuilder-5.md" />

doc/topics/API/MrKWatkins.Ast.Processing.NodeProcessor-2.Process.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
Performs processing on the specified `node` if it is of type `TNode`. Does not process any descendents.
1212

1313
```c#
14-
public sealed override void Process(TBaseNode node);
14+
public sealed override TBaseNode Process(TBaseNode node);
1515
```
1616

1717
## Parameters {id="parameters-mrkwatkins-ast-processing-nodeprocessor-2-process(-0)"}
@@ -20,12 +20,18 @@ public sealed override void Process(TBaseNode node);
2020
| ---- | ---- | ----------- |
2121
| node | TBaseNode | The node to process. |
2222

23+
## Returns {id="returns-mrkwatkins-ast-processing-nodeprocessor-2-process(-0)"}
24+
25+
TBaseNode
26+
27+
The root node of the tree, which may have been replaced.
28+
2329
## Process(TNode) {id="mrkwatkins-ast-processing-nodeprocessor-2-process(-1)"}
2430

2531
Performs processing on the specified `node`. Does not process any descendents.
2632

2733
```c#
28-
protected new abstract void Process(TNode node);
34+
protected new abstract TBaseNode Process(TNode node);
2935
```
3036

3137
## Parameters {id="parameters-mrkwatkins-ast-processing-nodeprocessor-2-process(-1)"}
@@ -34,3 +40,8 @@ protected new abstract void Process(TNode node);
3440
| ---- | ---- | ----------- |
3541
| node | TNode | The node to process. |
3642

43+
## Returns {id="returns-mrkwatkins-ast-processing-nodeprocessor-2-process(-1)"}
44+
45+
TBaseNode
46+
47+
The root node of the tree, which may have been replaced.

doc/topics/API/MrKWatkins.Ast.Processing.NodeProcessor-3.Process.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
Performs processing on the specified `node` if it is of type `TNode`. Does not process any descendents.
1212

1313
```c#
14-
public sealed override void Process(TContext? context, TBaseNode node);
14+
public sealed override TBaseNode Process(TContext context, TBaseNode node);
1515
```
1616

1717
## Parameters {id="parameters-mrkwatkins-ast-processing-nodeprocessor-3-process(-0-1)"}
@@ -21,12 +21,18 @@ public sealed override void Process(TContext? context, TBaseNode node);
2121
| context | TContext | The processing context. |
2222
| node | TBaseNode | The node to process. |
2323

24+
## Returns {id="returns-mrkwatkins-ast-processing-nodeprocessor-3-process(-0-1)"}
25+
26+
TBaseNode
27+
28+
The root node of the tree, which may have been replaced.
29+
2430
## Process(TContext, TNode) {id="mrkwatkins-ast-processing-nodeprocessor-3-process(-0-2)"}
2531

2632
Performs processing on the specified `node`. Does not process any descendents.
2733

2834
```c#
29-
protected new abstract void Process(TContext? context, TNode node);
35+
protected new abstract TBaseNode Process(TContext context, TNode node);
3036
```
3137

3238
## Parameters {id="parameters-mrkwatkins-ast-processing-nodeprocessor-3-process(-0-2)"}
@@ -36,3 +42,8 @@ protected new abstract void Process(TContext? context, TNode node);
3642
| context | TContext | The processing context. |
3743
| node | TNode | The node to process. |
3844

45+
## Returns {id="returns-mrkwatkins-ast-processing-nodeprocessor-3-process(-0-2)"}
46+
47+
TBaseNode
48+
49+
The root node of the tree, which may have been replaced.

doc/topics/API/MrKWatkins.Ast.Processing.NodeReplacer-2.Process.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
## Definition
33

44
```c#
5-
protected sealed override void Process(TNode node);
5+
protected sealed override TBaseNode Process(TNode node);
66
```
77

88
## Parameters
@@ -11,3 +11,6 @@ protected sealed override void Process(TNode node);
1111
| ---- | ---- | ----------- |
1212
| node | TNode | |
1313

14+
## Returns
15+
16+
TBaseNode

doc/topics/API/MrKWatkins.Ast.Processing.NodeReplacer-3.Process.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
## Definition
33

44
```c#
5-
protected sealed override void Process(TContext? context, TNode node);
5+
protected sealed override TBaseNode Process(TContext context, TNode node);
66
```
77

88
## Parameters
@@ -12,3 +12,6 @@ protected sealed override void Process(TContext? context, TNode node);
1212
| context | TContext | |
1313
| node | TNode | |
1414

15+
## Returns
16+
17+
TBaseNode

doc/topics/API/MrKWatkins.Ast.Processing.NodeValidator-2.Process.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
## Definition
33

44
```c#
5-
protected sealed override void Process(TNode node);
5+
protected sealed override TBaseNode Process(TNode node);
66
```
77

88
## Parameters
@@ -11,3 +11,6 @@ protected sealed override void Process(TNode node);
1111
| ---- | ---- | ----------- |
1212
| node | TNode | |
1313

14+
## Returns
15+
16+
TBaseNode

doc/topics/API/MrKWatkins.Ast.Processing.NodeValidator-3.Process.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
## Definition
33

44
```c#
5-
protected sealed override void Process(TContext? context, TNode node);
5+
protected sealed override TBaseNode Process(TContext context, TNode node);
66
```
77

88
## Parameters
@@ -12,3 +12,6 @@ protected sealed override void Process(TContext? context, TNode node);
1212
| context | TContext | |
1313
| node | TNode | |
1414

15+
## Returns
16+
17+
TBaseNode

doc/topics/API/MrKWatkins.Ast.Processing.OrderedNodeProcessor-2.Process.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
## Process(TBaseNode) {id="mrkwatkins-ast-processing-orderednodeprocessor-2-process(-0)"}
1010

1111
```c#
12-
public sealed override void Process(TBaseNode node);
12+
public sealed override TBaseNode Process(TBaseNode node);
1313
```
1414

1515
## Parameters {id="parameters-mrkwatkins-ast-processing-orderednodeprocessor-2-process(-0)"}
@@ -18,12 +18,16 @@ public sealed override void Process(TBaseNode node);
1818
| ---- | ---- | ----------- |
1919
| node | TBaseNode | |
2020

21+
## Returns {id="returns-mrkwatkins-ast-processing-orderednodeprocessor-2-process(-0)"}
22+
23+
TBaseNode
24+
2125
## Process(TNode) {id="mrkwatkins-ast-processing-orderednodeprocessor-2-process(-1)"}
2226

2327
Performs processing on the specified `node`. Does not process any descendents.
2428

2529
```c#
26-
protected new abstract void Process(TNode node);
30+
protected new abstract TBaseNode Process(TNode node);
2731
```
2832

2933
## Parameters {id="parameters-mrkwatkins-ast-processing-orderednodeprocessor-2-process(-1)"}
@@ -32,3 +36,6 @@ protected new abstract void Process(TNode node);
3236
| ---- | ---- | ----------- |
3337
| node | TNode | The node to process. |
3438

39+
## Returns {id="returns-mrkwatkins-ast-processing-orderednodeprocessor-2-process(-1)"}
40+
41+
TBaseNode

doc/topics/API/MrKWatkins.Ast.Processing.OrderedNodeProcessor-3.Process.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
## Process(TContext, TBaseNode) {id="mrkwatkins-ast-processing-orderednodeprocessor-3-process(-0-1)"}
1010

1111
```c#
12-
public sealed override void Process(TContext? context, TBaseNode node);
12+
public sealed override TBaseNode Process(TContext context, TBaseNode node);
1313
```
1414

1515
## Parameters {id="parameters-mrkwatkins-ast-processing-orderednodeprocessor-3-process(-0-1)"}
@@ -19,12 +19,16 @@ public sealed override void Process(TContext? context, TBaseNode node);
1919
| context | TContext | |
2020
| node | TBaseNode | |
2121

22+
## Returns {id="returns-mrkwatkins-ast-processing-orderednodeprocessor-3-process(-0-1)"}
23+
24+
TBaseNode
25+
2226
## Process(TContext, TNode) {id="mrkwatkins-ast-processing-orderednodeprocessor-3-process(-0-2)"}
2327

2428
Performs processing on the specified `node`. Does not process any descendents.
2529

2630
```c#
27-
protected new abstract void Process(TContext? context, TNode node);
31+
protected new abstract TBaseNode Process(TContext context, TNode node);
2832
```
2933

3034
## Parameters {id="parameters-mrkwatkins-ast-processing-orderednodeprocessor-3-process(-0-2)"}
@@ -34,3 +38,6 @@ protected new abstract void Process(TContext? context, TNode node);
3438
| context | TContext | The processing context. |
3539
| node | TNode | The node to process. |
3640

41+
## Returns {id="returns-mrkwatkins-ast-processing-orderednodeprocessor-3-process(-0-2)"}
42+
43+
TBaseNode

0 commit comments

Comments
 (0)