cod8a 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cod8a-0.1.0/LICENSE +21 -0
- cod8a-0.1.0/PKG-INFO +134 -0
- cod8a-0.1.0/README.md +115 -0
- cod8a-0.1.0/pyproject.toml +38 -0
- cod8a-0.1.0/src/cod8a/__init__.py +3 -0
- cod8a-0.1.0/src/cod8a/cli.py +93 -0
- cod8a-0.1.0/src/cod8a/cod8a.py +4 -0
- cod8a-0.1.0/src/cod8a/dotnet/CodeAnalysis/CodeAnalyzer.csproj +14 -0
- cod8a-0.1.0/src/cod8a/dotnet/CodeAnalysis/CodeAnalyzer.csproj.lscache +262 -0
- cod8a-0.1.0/src/cod8a/dotnet/CodeAnalysis/Parsers/BaseParser.cs +17 -0
- cod8a-0.1.0/src/cod8a/dotnet/CodeAnalysis/Parsers/FileParser.cs +150 -0
- cod8a-0.1.0/src/cod8a/dotnet/CodeAnalysis/Parsers/ProjectParser.cs +37 -0
- cod8a-0.1.0/src/cod8a/dotnet/CodeAnalysis/Parsers/SolutionParser.cs +17 -0
- cod8a-0.1.0/src/cod8a/dotnet/CodeAnalysis/Program.cs +58 -0
- cod8a-0.1.0/src/cod8a/dotnet/CodeAnalysis/models/FileStructure.cs +92 -0
- cod8a-0.1.0/src/cod8a/dotnet/CodeAnalysis/models/ProjectStructure.cs +29 -0
- cod8a-0.1.0/src/cod8a/dotnet/CodeAnalysis/models/SolutionStructure.cs +28 -0
- cod8a-0.1.0/src/cod8a/dotnet/Test/CodeAnalyzerTest.csproj +25 -0
- cod8a-0.1.0/src/cod8a/dotnet/Test/Mermaid/ClassDiagramTest.cs +71 -0
- cod8a-0.1.0/src/cod8a/enums/__init__.py +0 -0
- cod8a-0.1.0/src/cod8a/enums/diagram_type.py +10 -0
- cod8a-0.1.0/src/cod8a/generators/mermaid/class_diagram.py +165 -0
- cod8a-0.1.0/src/cod8a/generators/mermaid/flowchart_diagram.py +51 -0
- cod8a-0.1.0/src/cod8a/generators/mermaid/sequence_diagram.py +80 -0
- cod8a-0.1.0/src/cod8a/helpers/__init__.py +0 -0
- cod8a-0.1.0/src/cod8a/helpers/cli_helper.py +79 -0
- cod8a-0.1.0/src/cod8a/models/__init__.py +0 -0
- cod8a-0.1.0/src/cod8a/models/models.py +60 -0
- cod8a-0.1.0/src/cod8a/parsers/dotnet_parser.py +100 -0
- cod8a-0.1.0/src/cod8a/parsers/python_parser.py +138 -0
cod8a-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Marietta Ngwe Akumbom
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
cod8a-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: cod8a
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: cod8a is a code documentation and visualization tool for Python and .NET projects
|
|
5
|
+
License-Expression: MIT
|
|
6
|
+
License-File: LICENSE
|
|
7
|
+
Keywords: visualization,uml,docs,flowchart,class,sequence,diagram
|
|
8
|
+
Author: Akumbom
|
|
9
|
+
Author-email: akumbom5ma@gmail.com
|
|
10
|
+
Maintainer: Marietta Akumbom
|
|
11
|
+
Requires-Python: >=3.13
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
15
|
+
Requires-Dist: click (>=8.3.3,<9.0.0)
|
|
16
|
+
Requires-Dist: pydantic (>=2.13.3,<3.0.0)
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
|
|
19
|
+
# cod8a
|
|
20
|
+
|
|
21
|
+
cod8a pronounced codetta, is a code documentation and visualization tool for **Python** and **.NET** projects.
|
|
22
|
+
|
|
23
|
+
## Installation
|
|
24
|
+
|
|
25
|
+
### Prerequisites
|
|
26
|
+
|
|
27
|
+
- **[Python 3.9+](https://www.python.org/downloads/)**
|
|
28
|
+
- **[.NET 10.0 Runtime or SDK](https://dotnet.microsoft.com/download/dotnet/10.0)** (Required **only** for C#/.NET analysis)
|
|
29
|
+
|
|
30
|
+
### From PyPI (Recommended for Users)
|
|
31
|
+
|
|
32
|
+
Once published, you can install `cod8a` directly using pip:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
pip install cod8a
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Development & Contribution
|
|
39
|
+
|
|
40
|
+
If you want to contribute to the project or run it from source:
|
|
41
|
+
|
|
42
|
+
### Setup
|
|
43
|
+
|
|
44
|
+
1. **Fork** the repository on GitHub.
|
|
45
|
+
2. **Clone** your fork:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
git clone https://github.com/yourusername/cod8a.git
|
|
49
|
+
cd cod8a
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Development Options
|
|
53
|
+
|
|
54
|
+
#### 1. Local Setup
|
|
55
|
+
3. **Install** Python dependencies using **[Poetry](https://python-poetry.org/docs/#installation)**:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
poetry install
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
4. **Optional**: Ensure .NET 10.0 is installed (if documenting C#)
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
dotnet --version
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
#### 2. VS Code Dev Container (Recommended)
|
|
68
|
+
If you use VS Code, you can skip the local setup by using the provided **Dev Container**. It comes pre-configured with Python 3.13, .NET 10.0, and Poetry.
|
|
69
|
+
- Simply open the project in VS Code and click **"Reopen in Container"** when prompted.
|
|
70
|
+
|
|
71
|
+
#### 3. Docker
|
|
72
|
+
You can also run `cod8a` as a standalone container without installing any dependencies locally:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# Build the image
|
|
76
|
+
docker build -t cod8a .
|
|
77
|
+
|
|
78
|
+
# Run the tool
|
|
79
|
+
docker run -v $(pwd):/app/data cod8a uml -p /app/data/src
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Usage
|
|
83
|
+
|
|
84
|
+
The tool uses a CLI interface to analyze code and generate visualizations.
|
|
85
|
+
|
|
86
|
+
### UML Diagrams
|
|
87
|
+
|
|
88
|
+
Generate Mermaid-compatible diagrams (Class, Sequence, Flowchart):
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# General syntax
|
|
92
|
+
cod8a uml -p <path_to_source> -d <diagram_type>
|
|
93
|
+
|
|
94
|
+
# Generate a class diagram (default)
|
|
95
|
+
cod8a uml -p src/my_project
|
|
96
|
+
|
|
97
|
+
# Generate a sequence diagram
|
|
98
|
+
cod8a uml -p src/my_file.py -d sequence
|
|
99
|
+
|
|
100
|
+
# Generate a flowchart
|
|
101
|
+
cod8a uml -p src/my_logic -d flow
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
#### Diagram Type Options:
|
|
105
|
+
- **Class:** `class`, `c`
|
|
106
|
+
- **Sequence:** `sequence`, `seq`, `s`
|
|
107
|
+
- **Flowchart:** `flowchart`, `flow`, `f`
|
|
108
|
+
|
|
109
|
+
### CLI Options
|
|
110
|
+
|
|
111
|
+
- `-p, --path`: Path to the file or directory to analyze.
|
|
112
|
+
- `-d, --diagram`: Type of diagram to generate (default: `class`).
|
|
113
|
+
- `-o, --output`: Output file path (saves as `.mmd`).
|
|
114
|
+
|
|
115
|
+
### Documentation (In development)
|
|
116
|
+
|
|
117
|
+
*Note: This feature is currently in development.*
|
|
118
|
+
|
|
119
|
+
Generate Markdown documentation from code structure:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
# Not yet implemented
|
|
123
|
+
cod8a doc -p path/to/source
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Features
|
|
127
|
+
|
|
128
|
+
- **Mermaid Integration:** Generates high-quality Mermaid.js diagrams for visualization.
|
|
129
|
+
- **Supported Diagrams:** Class, Sequence, and Flowchart diagrams.
|
|
130
|
+
- **C# Support:** Uses a Roslyn-based analyzer targeting **.NET 10.0** to extract deep structural information.
|
|
131
|
+
- **Python Support:** Uses AST-based parsing for Python files.
|
|
132
|
+
- **Markdown Documentation (TODO):** Detailed markdown generation for code documentation is currently in development.
|
|
133
|
+
|
|
134
|
+
|
cod8a-0.1.0/README.md
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# cod8a
|
|
2
|
+
|
|
3
|
+
cod8a pronounced codetta, is a code documentation and visualization tool for **Python** and **.NET** projects.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
### Prerequisites
|
|
8
|
+
|
|
9
|
+
- **[Python 3.9+](https://www.python.org/downloads/)**
|
|
10
|
+
- **[.NET 10.0 Runtime or SDK](https://dotnet.microsoft.com/download/dotnet/10.0)** (Required **only** for C#/.NET analysis)
|
|
11
|
+
|
|
12
|
+
### From PyPI (Recommended for Users)
|
|
13
|
+
|
|
14
|
+
Once published, you can install `cod8a` directly using pip:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
pip install cod8a
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Development & Contribution
|
|
21
|
+
|
|
22
|
+
If you want to contribute to the project or run it from source:
|
|
23
|
+
|
|
24
|
+
### Setup
|
|
25
|
+
|
|
26
|
+
1. **Fork** the repository on GitHub.
|
|
27
|
+
2. **Clone** your fork:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
git clone https://github.com/yourusername/cod8a.git
|
|
31
|
+
cd cod8a
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Development Options
|
|
35
|
+
|
|
36
|
+
#### 1. Local Setup
|
|
37
|
+
3. **Install** Python dependencies using **[Poetry](https://python-poetry.org/docs/#installation)**:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
poetry install
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
4. **Optional**: Ensure .NET 10.0 is installed (if documenting C#)
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
dotnet --version
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
#### 2. VS Code Dev Container (Recommended)
|
|
50
|
+
If you use VS Code, you can skip the local setup by using the provided **Dev Container**. It comes pre-configured with Python 3.13, .NET 10.0, and Poetry.
|
|
51
|
+
- Simply open the project in VS Code and click **"Reopen in Container"** when prompted.
|
|
52
|
+
|
|
53
|
+
#### 3. Docker
|
|
54
|
+
You can also run `cod8a` as a standalone container without installing any dependencies locally:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Build the image
|
|
58
|
+
docker build -t cod8a .
|
|
59
|
+
|
|
60
|
+
# Run the tool
|
|
61
|
+
docker run -v $(pwd):/app/data cod8a uml -p /app/data/src
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Usage
|
|
65
|
+
|
|
66
|
+
The tool uses a CLI interface to analyze code and generate visualizations.
|
|
67
|
+
|
|
68
|
+
### UML Diagrams
|
|
69
|
+
|
|
70
|
+
Generate Mermaid-compatible diagrams (Class, Sequence, Flowchart):
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# General syntax
|
|
74
|
+
cod8a uml -p <path_to_source> -d <diagram_type>
|
|
75
|
+
|
|
76
|
+
# Generate a class diagram (default)
|
|
77
|
+
cod8a uml -p src/my_project
|
|
78
|
+
|
|
79
|
+
# Generate a sequence diagram
|
|
80
|
+
cod8a uml -p src/my_file.py -d sequence
|
|
81
|
+
|
|
82
|
+
# Generate a flowchart
|
|
83
|
+
cod8a uml -p src/my_logic -d flow
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
#### Diagram Type Options:
|
|
87
|
+
- **Class:** `class`, `c`
|
|
88
|
+
- **Sequence:** `sequence`, `seq`, `s`
|
|
89
|
+
- **Flowchart:** `flowchart`, `flow`, `f`
|
|
90
|
+
|
|
91
|
+
### CLI Options
|
|
92
|
+
|
|
93
|
+
- `-p, --path`: Path to the file or directory to analyze.
|
|
94
|
+
- `-d, --diagram`: Type of diagram to generate (default: `class`).
|
|
95
|
+
- `-o, --output`: Output file path (saves as `.mmd`).
|
|
96
|
+
|
|
97
|
+
### Documentation (In development)
|
|
98
|
+
|
|
99
|
+
*Note: This feature is currently in development.*
|
|
100
|
+
|
|
101
|
+
Generate Markdown documentation from code structure:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Not yet implemented
|
|
105
|
+
cod8a doc -p path/to/source
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Features
|
|
109
|
+
|
|
110
|
+
- **Mermaid Integration:** Generates high-quality Mermaid.js diagrams for visualization.
|
|
111
|
+
- **Supported Diagrams:** Class, Sequence, and Flowchart diagrams.
|
|
112
|
+
- **C# Support:** Uses a Roslyn-based analyzer targeting **.NET 10.0** to extract deep structural information.
|
|
113
|
+
- **Python Support:** Uses AST-based parsing for Python files.
|
|
114
|
+
- **Markdown Documentation (TODO):** Detailed markdown generation for code documentation is currently in development.
|
|
115
|
+
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "cod8a"
|
|
3
|
+
version = "0.1.0"
|
|
4
|
+
description = "cod8a is a code documentation and visualization tool for Python and .NET projects"
|
|
5
|
+
authors = [
|
|
6
|
+
{ name = "Akumbom",email = "akumbom5ma@gmail.com"}
|
|
7
|
+
]
|
|
8
|
+
maintainers = [
|
|
9
|
+
{ name = "Marietta Akumbom" }
|
|
10
|
+
]
|
|
11
|
+
keywords = [ "visualization", "uml", "docs", "flowchart", "class", "sequence", "diagram" ]
|
|
12
|
+
license = "MIT"
|
|
13
|
+
readme = "README.md"
|
|
14
|
+
requires-python = ">=3.13"
|
|
15
|
+
dependencies = [
|
|
16
|
+
"click (>=8.3.3,<9.0.0)",
|
|
17
|
+
"pydantic (>=2.13.3,<3.0.0)"
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
[tool.poetry]
|
|
21
|
+
packages = [{include = "cod8a", from = "src"}]
|
|
22
|
+
include = [
|
|
23
|
+
{ path = "src/cod8a/dotnet/CodeAnalysis/bin/Release/net10.0/*.dll", format = ["wheel"] },
|
|
24
|
+
{ path = "src/cod8a/dotnet/CodeAnalysis/bin/Release/net10.0/*.json", format = ["wheel"] }
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
[tool.poetry.scripts]
|
|
28
|
+
cod8a = "cod8a.cli:main"
|
|
29
|
+
cde8a = "cod8a.cli:doc_main"
|
|
30
|
+
|
|
31
|
+
[build-system]
|
|
32
|
+
requires = ["poetry-core"]
|
|
33
|
+
build-backend = "poetry.core.masonry.api"
|
|
34
|
+
|
|
35
|
+
[dependency-groups]
|
|
36
|
+
dev = [
|
|
37
|
+
"pytest (>=9.0.3,<10.0.0)"
|
|
38
|
+
]
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import click
|
|
2
|
+
import os
|
|
3
|
+
from dataclasses import asdict
|
|
4
|
+
|
|
5
|
+
from cod8a.generators.mermaid.class_diagram import generate_class_diagram
|
|
6
|
+
from cod8a.generators.mermaid.flowchart_diagram import generate_flowchart_diagram
|
|
7
|
+
from cod8a.generators.mermaid.sequence_diagram import generate_sequence_diagram
|
|
8
|
+
from cod8a.helpers.cli_helper import extract_structure, save_diagram
|
|
9
|
+
from cod8a.enums.diagram_type import DiagramType
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ExpandedHelpGroup(click.Group):
|
|
13
|
+
def format_help(self, ctx, formatter):
|
|
14
|
+
# 1. Main help (Group docstring)
|
|
15
|
+
self.format_usage(ctx, formatter)
|
|
16
|
+
self.format_help_text(ctx, formatter)
|
|
17
|
+
self.format_options(ctx, formatter)
|
|
18
|
+
|
|
19
|
+
# 2. Subcommands and their options
|
|
20
|
+
for command_name in self.list_commands(ctx):
|
|
21
|
+
command = self.get_command(ctx, command_name)
|
|
22
|
+
if command and not command.hidden:
|
|
23
|
+
formatter.write_paragraph()
|
|
24
|
+
with formatter.section(f"Command: {command_name}"):
|
|
25
|
+
# Usage and help text
|
|
26
|
+
formatter.write_text(command.help or "")
|
|
27
|
+
command.format_options(ctx, formatter)
|
|
28
|
+
|
|
29
|
+
@click.group(cls=ExpandedHelpGroup)
|
|
30
|
+
def cli():
|
|
31
|
+
"""cod8a (pronounced codetta) is a tool for analyzing and visualizing code structure.
|
|
32
|
+
|
|
33
|
+
It supports both Python and C# projects, generating Mermaid-compatible diagrams.
|
|
34
|
+
"""
|
|
35
|
+
pass
|
|
36
|
+
|
|
37
|
+
# Generation of UML Diagrams
|
|
38
|
+
@cli.command(help="Generate a Mermaid diagram from the source code structure.")
|
|
39
|
+
@click.option('-p', '--path', required=True,
|
|
40
|
+
help='The path to the file or directory to analyze.')
|
|
41
|
+
@click.option('-d', '--diagram', 'diagram_type', default='class',
|
|
42
|
+
type=click.Choice(["seq", "s", "sequence", "flow", "f", "flowchart", "c", "class"]),
|
|
43
|
+
help='The type of diagram to generate (default: class).')
|
|
44
|
+
@click.option('-o', '--output',
|
|
45
|
+
help='Optional output file path. If not provided, you will be prompted to save to the Downloads folder.')
|
|
46
|
+
def uml(path, diagram_type, output):
|
|
47
|
+
"""Generate UML diagram (Mermaid format)."""
|
|
48
|
+
struct = extract_structure(path)
|
|
49
|
+
base_name = os.path.basename(path or os.getcwd())
|
|
50
|
+
# print(struct)
|
|
51
|
+
|
|
52
|
+
if not struct:
|
|
53
|
+
click.echo("Error: Could not extract structure.")
|
|
54
|
+
return
|
|
55
|
+
|
|
56
|
+
canon_type = "class"
|
|
57
|
+
if DiagramType.FLOWCHART.value.startswith(diagram_type):
|
|
58
|
+
diagram = generate_flowchart_diagram(struct, base_name)
|
|
59
|
+
canon_type = "flowchart"
|
|
60
|
+
elif DiagramType.SEQUENCE.value.startswith(diagram_type):
|
|
61
|
+
diagram = generate_sequence_diagram(struct)
|
|
62
|
+
canon_type = "sequence"
|
|
63
|
+
else:
|
|
64
|
+
diagram = generate_class_diagram(struct)
|
|
65
|
+
canon_type = "class"
|
|
66
|
+
|
|
67
|
+
print(diagram)
|
|
68
|
+
|
|
69
|
+
# Save diagram
|
|
70
|
+
save_diagram(struct, canon_type, diagram, output, path)
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
# TODO Generating code documentation
|
|
74
|
+
@click.command(help="[TODO] Generate documentation (Markdown format) from code structure.")
|
|
75
|
+
@click.option('-p', '--path', help='Specific path of file(s) to analyze')
|
|
76
|
+
@click.option('--json', 'output_json', is_flag=True, help='Output in JSON format')
|
|
77
|
+
def doc_cli(path, output_json):
|
|
78
|
+
"""Generate documentation (Markdown format)."""
|
|
79
|
+
target = path or os.getcwd()
|
|
80
|
+
struct = extract_structure(target)
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
# Main entry point for cod8a
|
|
84
|
+
def main():
|
|
85
|
+
cli.add_command(doc_cli, name="doc")
|
|
86
|
+
cli()
|
|
87
|
+
|
|
88
|
+
# Separate entry point for code8a
|
|
89
|
+
def doc_main():
|
|
90
|
+
doc_cli()
|
|
91
|
+
|
|
92
|
+
if __name__ == "__main__":
|
|
93
|
+
main()
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
|
2
|
+
|
|
3
|
+
<PropertyGroup>
|
|
4
|
+
<OutputType>Exe</OutputType>
|
|
5
|
+
<TargetFramework>net10.0</TargetFramework>
|
|
6
|
+
<ImplicitUsings>enable</ImplicitUsings>
|
|
7
|
+
<Nullable>enable</Nullable>
|
|
8
|
+
</PropertyGroup>
|
|
9
|
+
|
|
10
|
+
<ItemGroup>
|
|
11
|
+
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="5.3.0" />
|
|
12
|
+
</ItemGroup>
|
|
13
|
+
|
|
14
|
+
</Project>
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
version=1
|
|
2
|
+
|
|
3
|
+
# This file caches language service data to improve the performance of C# Dev Kit.
|
|
4
|
+
# It is not intended for manual editing. It can safely be deleted and will be
|
|
5
|
+
# regenerated automatically. For more information, see https://aka.ms/lscache
|
|
6
|
+
#
|
|
7
|
+
# To control where cache files are stored, use the following VS Code setting:
|
|
8
|
+
# "dotnet.projectsystem.cacheInProjectFolder": true
|
|
9
|
+
|
|
10
|
+
[project]
|
|
11
|
+
language=C#
|
|
12
|
+
primary
|
|
13
|
+
lastDtbSucceeded
|
|
14
|
+
|
|
15
|
+
[properties]
|
|
16
|
+
AssemblyName=CodeAnalyzer
|
|
17
|
+
CommandLineArgsForDesignTimeEvaluation=-langversion:14.0 -define:TRACE
|
|
18
|
+
CompilerGeneratedFilesOutputPath=
|
|
19
|
+
MaxSupportedLangVersion=14.0
|
|
20
|
+
ProjectAssetsFile=<PATH>obj/project.assets.json
|
|
21
|
+
RootNamespace=CodeAnalyzer
|
|
22
|
+
RunAnalyzers=
|
|
23
|
+
RunAnalyzersDuringLiveAnalysis=
|
|
24
|
+
SolutionPath=<PATH>../../../../cod8a.sln
|
|
25
|
+
TargetFrameworkIdentifier=.NETCoreApp
|
|
26
|
+
TargetPath=<PATH>bin/Debug/net10.0/CodeAnalyzer.dll
|
|
27
|
+
TargetRefPath=<PATH>obj/Debug/net10.0/ref/CodeAnalyzer.dll
|
|
28
|
+
TemporaryDependencyNodeTargetIdentifier=net10.0
|
|
29
|
+
|
|
30
|
+
[commandLineArguments]
|
|
31
|
+
/noconfig
|
|
32
|
+
/unsafe-
|
|
33
|
+
/checked-
|
|
34
|
+
/nowarn:1701,1702,1701,1702
|
|
35
|
+
/fullpaths
|
|
36
|
+
/nostdlib+
|
|
37
|
+
/errorreport:prompt
|
|
38
|
+
/warn:10
|
|
39
|
+
/define:TRACE;DEBUG;NET;NET10_0;NETCOREAPP;NET5_0_OR_GREATER;NET6_0_OR_GREATER;NET7_0_OR_GREATER;NET8_0_OR_GREATER;NET9_0_OR_GREATER;NET10_0_OR_GREATER;NETCOREAPP1_0_OR_GREATER;NETCOREAPP1_1_OR_GREATER;NETCOREAPP2_0_OR_GREATER;NETCOREAPP2_1_OR_GREATER;NETCOREAPP2_2_OR_GREATER;NETCOREAPP3_0_OR_GREATER;NETCOREAPP3_1_OR_GREATER
|
|
40
|
+
/highentropyva+
|
|
41
|
+
/nullable:enable
|
|
42
|
+
/features:"InterceptorsNamespaces=;Microsoft.Extensions.Validation.Generated"
|
|
43
|
+
/debug+
|
|
44
|
+
/debug:portable
|
|
45
|
+
/filealign:512
|
|
46
|
+
/optimize-
|
|
47
|
+
/out:obj/Debug/net10.0/CodeAnalyzer.dll
|
|
48
|
+
/refout:obj/Debug/net10.0/refint/CodeAnalyzer.dll
|
|
49
|
+
/target:exe
|
|
50
|
+
/warnaserror-
|
|
51
|
+
/utf8output
|
|
52
|
+
/deterministic+
|
|
53
|
+
/langversion:14.0
|
|
54
|
+
/warnaserror+:NU1605,SYSLIB0011
|
|
55
|
+
|
|
56
|
+
[sourceFiles]
|
|
57
|
+
models/
|
|
58
|
+
FileStructure.cs
|
|
59
|
+
ProjectStructure.cs
|
|
60
|
+
SolutionStructure.cs
|
|
61
|
+
obj/Debug/net10.0/
|
|
62
|
+
.NETCoreApp,Version=v10.0.AssemblyAttributes.cs
|
|
63
|
+
CodeAnalyzer.AssemblyInfo.cs
|
|
64
|
+
CodeAnalyzer.GlobalUsings.g.cs
|
|
65
|
+
Parsers/
|
|
66
|
+
BaseParser.cs
|
|
67
|
+
FileParser.cs
|
|
68
|
+
ProjectParser.cs
|
|
69
|
+
SolutionParser.cs
|
|
70
|
+
Program.cs
|
|
71
|
+
|
|
72
|
+
[metadataReferences]
|
|
73
|
+
<DOTNET>/packs/Microsoft.NETCore.App.Ref/10.0.3/ref/net10.0/
|
|
74
|
+
Microsoft.CSharp.dll
|
|
75
|
+
Microsoft.VisualBasic.Core.dll
|
|
76
|
+
Microsoft.VisualBasic.dll
|
|
77
|
+
Microsoft.Win32.Primitives.dll
|
|
78
|
+
Microsoft.Win32.Registry.dll
|
|
79
|
+
mscorlib.dll
|
|
80
|
+
netstandard.dll
|
|
81
|
+
System.AppContext.dll
|
|
82
|
+
System.Buffers.dll
|
|
83
|
+
System.Collections.Concurrent.dll
|
|
84
|
+
System.Collections.dll
|
|
85
|
+
System.Collections.Immutable.dll
|
|
86
|
+
System.Collections.NonGeneric.dll
|
|
87
|
+
System.Collections.Specialized.dll
|
|
88
|
+
System.ComponentModel.Annotations.dll
|
|
89
|
+
System.ComponentModel.DataAnnotations.dll
|
|
90
|
+
System.ComponentModel.dll
|
|
91
|
+
System.ComponentModel.EventBasedAsync.dll
|
|
92
|
+
System.ComponentModel.Primitives.dll
|
|
93
|
+
System.ComponentModel.TypeConverter.dll
|
|
94
|
+
System.Configuration.dll
|
|
95
|
+
System.Console.dll
|
|
96
|
+
System.Core.dll
|
|
97
|
+
System.Data.Common.dll
|
|
98
|
+
System.Data.DataSetExtensions.dll
|
|
99
|
+
System.Data.dll
|
|
100
|
+
System.Diagnostics.Contracts.dll
|
|
101
|
+
System.Diagnostics.Debug.dll
|
|
102
|
+
System.Diagnostics.DiagnosticSource.dll
|
|
103
|
+
System.Diagnostics.FileVersionInfo.dll
|
|
104
|
+
System.Diagnostics.Process.dll
|
|
105
|
+
System.Diagnostics.StackTrace.dll
|
|
106
|
+
System.Diagnostics.TextWriterTraceListener.dll
|
|
107
|
+
System.Diagnostics.Tools.dll
|
|
108
|
+
System.Diagnostics.TraceSource.dll
|
|
109
|
+
System.Diagnostics.Tracing.dll
|
|
110
|
+
System.dll
|
|
111
|
+
System.Drawing.dll
|
|
112
|
+
System.Drawing.Primitives.dll
|
|
113
|
+
System.Dynamic.Runtime.dll
|
|
114
|
+
System.Formats.Asn1.dll
|
|
115
|
+
System.Formats.Tar.dll
|
|
116
|
+
System.Globalization.Calendars.dll
|
|
117
|
+
System.Globalization.dll
|
|
118
|
+
System.Globalization.Extensions.dll
|
|
119
|
+
System.IO.Compression.Brotli.dll
|
|
120
|
+
System.IO.Compression.dll
|
|
121
|
+
System.IO.Compression.FileSystem.dll
|
|
122
|
+
System.IO.Compression.ZipFile.dll
|
|
123
|
+
System.IO.dll
|
|
124
|
+
System.IO.FileSystem.AccessControl.dll
|
|
125
|
+
System.IO.FileSystem.dll
|
|
126
|
+
System.IO.FileSystem.DriveInfo.dll
|
|
127
|
+
System.IO.FileSystem.Primitives.dll
|
|
128
|
+
System.IO.FileSystem.Watcher.dll
|
|
129
|
+
System.IO.IsolatedStorage.dll
|
|
130
|
+
System.IO.MemoryMappedFiles.dll
|
|
131
|
+
System.IO.Pipelines.dll
|
|
132
|
+
System.IO.Pipes.AccessControl.dll
|
|
133
|
+
System.IO.Pipes.dll
|
|
134
|
+
System.IO.UnmanagedMemoryStream.dll
|
|
135
|
+
System.Linq.AsyncEnumerable.dll
|
|
136
|
+
System.Linq.dll
|
|
137
|
+
System.Linq.Expressions.dll
|
|
138
|
+
System.Linq.Parallel.dll
|
|
139
|
+
System.Linq.Queryable.dll
|
|
140
|
+
System.Memory.dll
|
|
141
|
+
System.Net.dll
|
|
142
|
+
System.Net.Http.dll
|
|
143
|
+
System.Net.Http.Json.dll
|
|
144
|
+
System.Net.HttpListener.dll
|
|
145
|
+
System.Net.Mail.dll
|
|
146
|
+
System.Net.NameResolution.dll
|
|
147
|
+
System.Net.NetworkInformation.dll
|
|
148
|
+
System.Net.Ping.dll
|
|
149
|
+
System.Net.Primitives.dll
|
|
150
|
+
System.Net.Quic.dll
|
|
151
|
+
System.Net.Requests.dll
|
|
152
|
+
System.Net.Security.dll
|
|
153
|
+
System.Net.ServerSentEvents.dll
|
|
154
|
+
System.Net.ServicePoint.dll
|
|
155
|
+
System.Net.Sockets.dll
|
|
156
|
+
System.Net.WebClient.dll
|
|
157
|
+
System.Net.WebHeaderCollection.dll
|
|
158
|
+
System.Net.WebProxy.dll
|
|
159
|
+
System.Net.WebSockets.Client.dll
|
|
160
|
+
System.Net.WebSockets.dll
|
|
161
|
+
System.Numerics.dll
|
|
162
|
+
System.Numerics.Vectors.dll
|
|
163
|
+
System.ObjectModel.dll
|
|
164
|
+
System.Reflection.DispatchProxy.dll
|
|
165
|
+
System.Reflection.dll
|
|
166
|
+
System.Reflection.Emit.dll
|
|
167
|
+
System.Reflection.Emit.ILGeneration.dll
|
|
168
|
+
System.Reflection.Emit.Lightweight.dll
|
|
169
|
+
System.Reflection.Extensions.dll
|
|
170
|
+
System.Reflection.Metadata.dll
|
|
171
|
+
System.Reflection.Primitives.dll
|
|
172
|
+
System.Reflection.TypeExtensions.dll
|
|
173
|
+
System.Resources.Reader.dll
|
|
174
|
+
System.Resources.ResourceManager.dll
|
|
175
|
+
System.Resources.Writer.dll
|
|
176
|
+
System.Runtime.CompilerServices.Unsafe.dll
|
|
177
|
+
System.Runtime.CompilerServices.VisualC.dll
|
|
178
|
+
System.Runtime.dll
|
|
179
|
+
System.Runtime.Extensions.dll
|
|
180
|
+
System.Runtime.Handles.dll
|
|
181
|
+
System.Runtime.InteropServices.dll
|
|
182
|
+
System.Runtime.InteropServices.JavaScript.dll
|
|
183
|
+
System.Runtime.InteropServices.RuntimeInformation.dll
|
|
184
|
+
System.Runtime.Intrinsics.dll
|
|
185
|
+
System.Runtime.Loader.dll
|
|
186
|
+
System.Runtime.Numerics.dll
|
|
187
|
+
System.Runtime.Serialization.dll
|
|
188
|
+
System.Runtime.Serialization.Formatters.dll
|
|
189
|
+
System.Runtime.Serialization.Json.dll
|
|
190
|
+
System.Runtime.Serialization.Primitives.dll
|
|
191
|
+
System.Runtime.Serialization.Xml.dll
|
|
192
|
+
System.Security.AccessControl.dll
|
|
193
|
+
System.Security.Claims.dll
|
|
194
|
+
System.Security.Cryptography.Algorithms.dll
|
|
195
|
+
System.Security.Cryptography.Cng.dll
|
|
196
|
+
System.Security.Cryptography.Csp.dll
|
|
197
|
+
System.Security.Cryptography.dll
|
|
198
|
+
System.Security.Cryptography.Encoding.dll
|
|
199
|
+
System.Security.Cryptography.OpenSsl.dll
|
|
200
|
+
System.Security.Cryptography.Primitives.dll
|
|
201
|
+
System.Security.Cryptography.X509Certificates.dll
|
|
202
|
+
System.Security.dll
|
|
203
|
+
System.Security.Principal.dll
|
|
204
|
+
System.Security.Principal.Windows.dll
|
|
205
|
+
System.Security.SecureString.dll
|
|
206
|
+
System.ServiceModel.Web.dll
|
|
207
|
+
System.ServiceProcess.dll
|
|
208
|
+
System.Text.Encoding.CodePages.dll
|
|
209
|
+
System.Text.Encoding.dll
|
|
210
|
+
System.Text.Encoding.Extensions.dll
|
|
211
|
+
System.Text.Encodings.Web.dll
|
|
212
|
+
System.Text.Json.dll
|
|
213
|
+
System.Text.RegularExpressions.dll
|
|
214
|
+
System.Threading.AccessControl.dll
|
|
215
|
+
System.Threading.Channels.dll
|
|
216
|
+
System.Threading.dll
|
|
217
|
+
System.Threading.Overlapped.dll
|
|
218
|
+
System.Threading.Tasks.Dataflow.dll
|
|
219
|
+
System.Threading.Tasks.dll
|
|
220
|
+
System.Threading.Tasks.Extensions.dll
|
|
221
|
+
System.Threading.Tasks.Parallel.dll
|
|
222
|
+
System.Threading.Thread.dll
|
|
223
|
+
System.Threading.ThreadPool.dll
|
|
224
|
+
System.Threading.Timer.dll
|
|
225
|
+
System.Transactions.dll
|
|
226
|
+
System.Transactions.Local.dll
|
|
227
|
+
System.ValueTuple.dll
|
|
228
|
+
System.Web.dll
|
|
229
|
+
System.Web.HttpUtility.dll
|
|
230
|
+
System.Windows.dll
|
|
231
|
+
System.Xml.dll
|
|
232
|
+
System.Xml.Linq.dll
|
|
233
|
+
System.Xml.ReaderWriter.dll
|
|
234
|
+
System.Xml.Serialization.dll
|
|
235
|
+
System.Xml.XDocument.dll
|
|
236
|
+
System.Xml.XmlDocument.dll
|
|
237
|
+
System.Xml.XmlSerializer.dll
|
|
238
|
+
System.Xml.XPath.dll
|
|
239
|
+
System.Xml.XPath.XDocument.dll
|
|
240
|
+
WindowsBase.dll
|
|
241
|
+
<NUGET>/
|
|
242
|
+
microsoft.codeanalysis.common/5.3.0/lib/net10.0/Microsoft.CodeAnalysis.dll
|
|
243
|
+
microsoft.codeanalysis.csharp/5.3.0/lib/net10.0/Microsoft.CodeAnalysis.CSharp.dll
|
|
244
|
+
|
|
245
|
+
[analyzerReferences]
|
|
246
|
+
<DOTNET>/packs/Microsoft.NETCore.App.Ref/10.0.3/analyzers/dotnet/cs/
|
|
247
|
+
Microsoft.Interop.ComInterfaceGenerator.dll
|
|
248
|
+
Microsoft.Interop.JavaScript.JSImportGenerator.dll
|
|
249
|
+
Microsoft.Interop.LibraryImportGenerator.dll
|
|
250
|
+
Microsoft.Interop.SourceGeneration.dll
|
|
251
|
+
System.Text.Json.SourceGeneration.dll
|
|
252
|
+
System.Text.RegularExpressions.Generator.dll
|
|
253
|
+
<DOTNET>/sdk/10.0.103/Sdks/Microsoft.NET.Sdk/analyzers/
|
|
254
|
+
Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll
|
|
255
|
+
Microsoft.CodeAnalysis.NetAnalyzers.dll
|
|
256
|
+
<NUGET>/microsoft.codeanalysis.analyzers/5.3.0-2.25625.1/analyzers/dotnet/cs/
|
|
257
|
+
Microsoft.CodeAnalysis.Analyzers.dll
|
|
258
|
+
Microsoft.CodeAnalysis.CSharp.Analyzers.dll
|
|
259
|
+
|
|
260
|
+
[analyzerConfigFiles]
|
|
261
|
+
<DOTNET>/sdk/10.0.103/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_10_default.globalconfig
|
|
262
|
+
obj/Debug/net10.0/CodeAnalyzer.GeneratedMSBuildEditorConfig.editorconfig
|