- Build with net5.0
- Update roslyn to a more recent version
-
Make it a dotnet core tool
-
Optimize interned strings equality and
GetHashCode
.This can be dangerous if the type is extended and a new constructor is added that doesn't do interning but the performance gains in access to dictionary and hashtables are worth it.
- Use FParsec to parse the configuration
- Use BlackFox.ColoredPrintf instead of an internal solution
- Implement
IComparable
- Add
[DebuggerDisplayAttribute]
to the generated types
- Added color output to the console
- Display a message on the console when no file is matched and return '-1' as error level. Issue #16
- Fix 'Check' methods being unusable. Issue #38
- Lift
System.IFormattable
- Add an option to enable DataContract serialization. Issue #37
- Predefined types like
int
are now compared with their operators instead of relying onEquals
. Issue #36 - BUGFIX: Correct code is now generated for
!=
on underlying types that don't have a!=
operator. Issue #35
- Static methods
Parse
andTryParse
are lifted. - A variant of
TryParse
returning a nullable instead of using an out parameter is generated if TryParse exists. - Types can now be placed in the same file and the default is to place them
all in a file named as the .stidgen file but with a .Generated.cs extension.
The previous behavior is available by specifying
UseNameAsFileName: true
. - Added a more complete set of unit tests.
- Multiple files can now be passed to the command line.
- The command line now support globs like
**\*.stidgen
. - Generated files and types are now shown on the console.
- BUGFIX: Generic underlying types weren't correctly handled, the name was the FullName of the Type instead of C# code.
- BUGFIX: Casts to and from nullable were still generated for Nullable underlying resulting in invalid code.
- BUGFIX:
EqualsUnderlying: true
generated code for.Equals
but didn't generate the == and != operators.
- Add casts to and from nullable.
- Add an option to enable protobuf-net serialization.
- BUGFIX: When a value type was used as underlying compiler warning were present in the generated code.
- Generated files are now named with
.Generated.cs
at the end. - Generated file now start with a
<auto-generated>
comment. - All methods generated are now marked with
GeneratedCodeAttribute
. - A partial method named "Check" + propertyName is now generated to validate constructor arguments if needed.
- Remove package dependencies and include all necessary files in the
.nupkg
.
- First version