Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/protomorphine/immutableanalyzer
Roslyn Analyzer to check immutability of classes on compile time.
https://github.com/protomorphine/immutableanalyzer
immutability immutable roslyn roslyn-analyzer roslyn-analyzers
Last synced: 28 days ago
JSON representation
Roslyn Analyzer to check immutability of classes on compile time.
- Host: GitHub
- URL: https://github.com/protomorphine/immutableanalyzer
- Owner: protomorphine
- License: mit
- Created: 2024-02-17T20:17:28.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-09-16T20:17:43.000Z (about 2 months ago)
- Last Synced: 2024-09-17T01:02:40.974Z (about 2 months ago)
- Topics: immutability, immutable, roslyn, roslyn-analyzer, roslyn-analyzers
- Language: C#
- Homepage: https://protomorphine.github.io/ImmutableAnalyzer/
- Size: 6.14 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Immutable Analyzer
[![Tests](https://github.com/protomorphine/ImmutableAnalyzer/actions/workflows/test-report.yaml/badge.svg)](https://github.com/protomorphine/ImmutableAnalyzer/runs/30222165790)
[![Docs](https://github.com/protomorphine/ImmutableAnalyzer/actions/workflows/docs.yml/badge.svg?branch=master)](https://github.com/protomorphine/ImmutableAnalyzer/actions/workflows/docs.yml)This project is a .NET analyzer tool that utilizes Roslyn to check a class for immutability based on
the types of it's properties and their accessor list.## Overview
Immutability is a key concept in functional programming and can help prevent bugs related to mutable state.
The purpose of this tool is to help developers ensure that their classes follow immutability principles,
which can lead to more stable and predictable code.## How To Use
- Manually
Get the sources of analyzer projects
```bash
$ git clone https://github.com/protomorphine/ImmutableAnalyzer
```
Add project reference to your `.csproj` file:
```xml
```
- Nuget
At this moment project **NOT** published on [NuGet](https://nuget.org/). Stay tuned.## Documentation
Made with:
- [Doxygen](https://www.doxygen.nl/)
- [doxygen-awesome-css](https://github.com/jothepro/doxygen-awesome-css)