Albatross.CodeAnalysis
8.0.3
Prefix Reserved
dotnet add package Albatross.CodeAnalysis --version 8.0.3
NuGet\Install-Package Albatross.CodeAnalysis -Version 8.0.3
<PackageReference Include="Albatross.CodeAnalysis" Version="8.0.3" />
<PackageVersion Include="Albatross.CodeAnalysis" Version="8.0.3" />
<PackageReference Include="Albatross.CodeAnalysis" />
paket add Albatross.CodeAnalysis --version 8.0.3
#r "nuget: Albatross.CodeAnalysis, 8.0.3"
#:package Albatross.CodeAnalysis@8.0.3
#addin nuget:?package=Albatross.CodeAnalysis&version=8.0.3
#tool nuget:?package=Albatross.CodeAnalysis&version=8.0.3
Albatross.CodeAnalysis
A powerful code analysis library that provides symbol analysis utilities and extensions to simplify working with Roslyn-based code generators and analyzers. This library helps you analyze types, symbols, and compilation information when building source generators and code analysis tools.
Note: The
Albatross.CodeAnalysis.Syntaxnamespace has been deprecated. Use Albatross.CodeGen.CSharp for C# code generation.
📚 Documentation
📖 Complete Documentation | 📚 API Reference | 📝 Release Notes
✨ Key Features
- Symbol Analysis: Comprehensive type and symbol inspection utilities
- Nullability Detection: Smart nullable reference and value type analysis
- Collection Analysis: Element type extraction and collection detection
- Attribute Inspection: Powerful attribute data analysis tools
- Type Relationships: Inheritance, interface, and generic type checking
- Multi-targeting: Full .NET Standard 2.0 and .NET 8.0 support
🚀 Quick Start
Installation
dotnet add package Albatross.CodeAnalysis
Basic Usage
using Albatross.CodeAnalysis;
using Microsoft.CodeAnalysis;
// Analyze type nullability
bool isNullable = typeSymbol.IsNullable(compilation);
// Check collection types and get element type
if (typeSymbol.TryGetCollectionElementType(compilation, out var elementType)) {
Console.WriteLine($"Collection of: {elementType.Name}");
}
// Work with attributes
if (symbol.TryGetAttribute(attributeSymbol, out var attrData)) {
// Process attribute data
}
// Get common framework types
var stringType = compilation.String();
var dateTimeType = compilation.DateTime();
📦 Related Packages
- Albatross.CodeAnalysis.Polyfill - Modern C# features for .NET Standard 2.0
- Albatross.CodeAnalysis.Testing - Testing utilities for analyzers/generators
📖 Learn More
For detailed examples, advanced usage, and comprehensive API documentation:
- Symbol Analysis Guide - Deep dive into type and symbol inspection
- Nullability Detection - Working with nullable types
- Collection Types - Analyzing collections and their elements
- Attribute Inspection - Working with attributes on symbols
- Testing Your Analyzers - Unit testing best practices
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Humanizer.Core (>= 2.14.1)
- Microsoft.CodeAnalysis.CSharp (>= 4.10.0)
-
net8.0
- Humanizer.Core (>= 2.14.1)
- Microsoft.CodeAnalysis.CSharp (>= 4.10.0)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Albatross.CodeAnalysis:
| Package | Downloads |
|---|---|
|
Albatross.CodeGen
A customizable code generator engine with built in support for C# and TypeScript code generation |
|
|
Albatross.CodeGen.WebClient
This assembly contains code generator that can generate C# and TypeScript Proxies from AspNetCore controller classes |
|
|
Albatross.CodeGen.TypeScript
Package Description |
|
|
Albatross.CodeGen.Python
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.