├── .editorconfig ├── .github ├── dependabot.yml └── workflows │ ├── benchmark.yml │ ├── ci.yml │ ├── codeql-analysis.yml │ └── release.yml ├── .gitignore ├── LICENSE ├── README.md ├── Recursiont.sln ├── global.json ├── src ├── Recursiont.Internal.SourceGenerators │ ├── Recursiont.Internal.SourceGenerators.csproj │ └── RecursiveRunnerRunGenerator.cs └── Recursiont │ ├── Compatibility │ ├── ArgumentNullExceptionCompat.cs │ ├── CallerArgumentExpressionAttribute.cs │ └── RuntimeHelpersCompat.cs │ ├── Gen2GcCallback.cs │ ├── Infrastructure │ ├── AsyncRecursiveOpMethodBuilder.cs │ ├── AsyncRecursiveOpMethodBuilderShared.cs │ ├── AsyncRecursiveOpMethodBuilder`1.cs │ ├── IRecursiveCompletion.cs │ ├── RecursiveOpAwaiter.cs │ ├── RecursiveOpAwaiter`1.cs │ └── YieldAwaitable.cs │ ├── Recursiont.csproj │ ├── RecursiontEventSource.cs │ ├── RecursiveOp.cs │ ├── RecursiveOp`1.cs │ ├── RecursiveRunner.cs │ ├── RecursiveRunner.g.cs │ ├── RecursiveTask.cs │ ├── RecursiveTask`1.cs │ ├── RecursiveWorkItem.cs │ └── ThrowHelpers.cs └── tests ├── Directory.Build.props ├── Recursiont.Benchmarks ├── Program.cs ├── Recursiont.Benchmarks.csproj ├── ShallowRecursionBenchmark.cs └── TreeTraversalBenchmark.cs └── Recursiont.Tests ├── Recursiont.Tests.csproj ├── RecursiveRunnerTests.cs ├── UnloadabilityTests.cs └── Usings.cs /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/benchmark.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/.github/workflows/benchmark.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/.github/workflows/codeql-analysis.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/README.md -------------------------------------------------------------------------------- /Recursiont.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/Recursiont.sln -------------------------------------------------------------------------------- /global.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/global.json -------------------------------------------------------------------------------- /src/Recursiont.Internal.SourceGenerators/Recursiont.Internal.SourceGenerators.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont.Internal.SourceGenerators/Recursiont.Internal.SourceGenerators.csproj -------------------------------------------------------------------------------- /src/Recursiont.Internal.SourceGenerators/RecursiveRunnerRunGenerator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont.Internal.SourceGenerators/RecursiveRunnerRunGenerator.cs -------------------------------------------------------------------------------- /src/Recursiont/Compatibility/ArgumentNullExceptionCompat.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/Compatibility/ArgumentNullExceptionCompat.cs -------------------------------------------------------------------------------- /src/Recursiont/Compatibility/CallerArgumentExpressionAttribute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/Compatibility/CallerArgumentExpressionAttribute.cs -------------------------------------------------------------------------------- /src/Recursiont/Compatibility/RuntimeHelpersCompat.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/Compatibility/RuntimeHelpersCompat.cs -------------------------------------------------------------------------------- /src/Recursiont/Gen2GcCallback.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/Gen2GcCallback.cs -------------------------------------------------------------------------------- /src/Recursiont/Infrastructure/AsyncRecursiveOpMethodBuilder.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/Infrastructure/AsyncRecursiveOpMethodBuilder.cs -------------------------------------------------------------------------------- /src/Recursiont/Infrastructure/AsyncRecursiveOpMethodBuilderShared.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/Infrastructure/AsyncRecursiveOpMethodBuilderShared.cs -------------------------------------------------------------------------------- /src/Recursiont/Infrastructure/AsyncRecursiveOpMethodBuilder`1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/Infrastructure/AsyncRecursiveOpMethodBuilder`1.cs -------------------------------------------------------------------------------- /src/Recursiont/Infrastructure/IRecursiveCompletion.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/Infrastructure/IRecursiveCompletion.cs -------------------------------------------------------------------------------- /src/Recursiont/Infrastructure/RecursiveOpAwaiter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/Infrastructure/RecursiveOpAwaiter.cs -------------------------------------------------------------------------------- /src/Recursiont/Infrastructure/RecursiveOpAwaiter`1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/Infrastructure/RecursiveOpAwaiter`1.cs -------------------------------------------------------------------------------- /src/Recursiont/Infrastructure/YieldAwaitable.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/Infrastructure/YieldAwaitable.cs -------------------------------------------------------------------------------- /src/Recursiont/Recursiont.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/Recursiont.csproj -------------------------------------------------------------------------------- /src/Recursiont/RecursiontEventSource.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/RecursiontEventSource.cs -------------------------------------------------------------------------------- /src/Recursiont/RecursiveOp.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/RecursiveOp.cs -------------------------------------------------------------------------------- /src/Recursiont/RecursiveOp`1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/RecursiveOp`1.cs -------------------------------------------------------------------------------- /src/Recursiont/RecursiveRunner.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/RecursiveRunner.cs -------------------------------------------------------------------------------- /src/Recursiont/RecursiveRunner.g.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/RecursiveRunner.g.cs -------------------------------------------------------------------------------- /src/Recursiont/RecursiveTask.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/RecursiveTask.cs -------------------------------------------------------------------------------- /src/Recursiont/RecursiveTask`1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/RecursiveTask`1.cs -------------------------------------------------------------------------------- /src/Recursiont/RecursiveWorkItem.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/RecursiveWorkItem.cs -------------------------------------------------------------------------------- /src/Recursiont/ThrowHelpers.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/src/Recursiont/ThrowHelpers.cs -------------------------------------------------------------------------------- /tests/Directory.Build.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/tests/Directory.Build.props -------------------------------------------------------------------------------- /tests/Recursiont.Benchmarks/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/tests/Recursiont.Benchmarks/Program.cs -------------------------------------------------------------------------------- /tests/Recursiont.Benchmarks/Recursiont.Benchmarks.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/tests/Recursiont.Benchmarks/Recursiont.Benchmarks.csproj -------------------------------------------------------------------------------- /tests/Recursiont.Benchmarks/ShallowRecursionBenchmark.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/tests/Recursiont.Benchmarks/ShallowRecursionBenchmark.cs -------------------------------------------------------------------------------- /tests/Recursiont.Benchmarks/TreeTraversalBenchmark.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/tests/Recursiont.Benchmarks/TreeTraversalBenchmark.cs -------------------------------------------------------------------------------- /tests/Recursiont.Tests/Recursiont.Tests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/tests/Recursiont.Tests/Recursiont.Tests.csproj -------------------------------------------------------------------------------- /tests/Recursiont.Tests/RecursiveRunnerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/tests/Recursiont.Tests/RecursiveRunnerTests.cs -------------------------------------------------------------------------------- /tests/Recursiont.Tests/UnloadabilityTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teo-tsirpanis/Recursiont/HEAD/tests/Recursiont.Tests/UnloadabilityTests.cs -------------------------------------------------------------------------------- /tests/Recursiont.Tests/Usings.cs: -------------------------------------------------------------------------------- 1 | global using NUnit.Framework; 2 | --------------------------------------------------------------------------------