Skip to content

Commit 482303f

Browse files
committed
Cleaned up more enum stuff.
1 parent 9083805 commit 482303f

9 files changed

Lines changed: 103 additions & 291 deletions

File tree

GenerateReadOnly Tests/generator/BasicReadOnlyGeneratorTests.cs

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -105,38 +105,4 @@ public partial interface IReadOnlySimpleGenerics<T1, in T2> {
105105
106106
""");
107107
}
108-
109-
[Test]
110-
public void TestKeywords() {
111-
ReadOnlyGeneratorTestUtil.AssertGenerated(
112-
"""
113-
using readOnly.generator;
114-
115-
namespace @const;
116-
117-
[GenerateReadOnly]
118-
public partial class @void<@double> where @double : struct {
119-
[Const]
120-
public @void @int<@short>(@void @bool) where @short : @void { }
121-
122-
public @void @float { get; }
123-
}
124-
""",
125-
"""
126-
#nullable enable
127-
128-
namespace @const;
129-
130-
public partial class @void<@double> : IReadOnlyvoid<@double> {
131-
@void IReadOnlyvoid<@double>.@int<@short>(@void @bool) => @int<@short>(@bool);
132-
@void IReadOnlyvoid<@double>.@float => @float;
133-
}
134-
135-
public partial interface IReadOnlyvoid<out @double> where @double : struct {
136-
public @void @int<@short>(@void @bool) where @short : @void;
137-
public @void @float { get; }
138-
}
139-
140-
""");
141-
}
142108
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
using NUnit.Framework;
2+
3+
4+
namespace readOnly.generator;
5+
6+
internal class KeywordTests {
7+
[Test]
8+
public void TestKeywords() {
9+
ReadOnlyGeneratorTestUtil.AssertGenerated(
10+
"""
11+
using readOnly.generator;
12+
13+
namespace @const;
14+
15+
[GenerateReadOnly]
16+
public partial class @void<@double> where @double : struct {
17+
[Const]
18+
public @void @int<@short>(@void @bool) where @short : @void { }
19+
20+
public @void @float { get; }
21+
}
22+
""",
23+
"""
24+
#nullable enable
25+
26+
namespace @const;
27+
28+
public partial class @void<@double> : IReadOnlyvoid<@double> {
29+
@void IReadOnlyvoid<@double>.@int<@short>(@void @bool) => @int<@short>(@bool);
30+
@void IReadOnlyvoid<@double>.@float => @float;
31+
}
32+
33+
public partial interface IReadOnlyvoid<out @double> where @double : struct {
34+
public @void @int<@short>(@void @bool) where @short : @void;
35+
public @void @float { get; }
36+
}
37+
38+
""");
39+
}
40+
}

GenerateReadOnly/GenerateReadOnly.csproj

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424

2525
<ItemGroup>
2626
<PackageReference Include="Encoding.SpanExtensions" Version="1.0.0" />
27-
<PackageReference Include="Half" Version="1.0.0" />
2827
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.3">
2928
<PrivateAssets>all</PrivateAssets>
3029
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
@@ -36,7 +35,6 @@
3635
<ItemGroup>
3736
<!-- Generator dependencies -->
3837
<PackageReference Include="CommunityToolkit.HighPerformance" Version="8.3.2" GeneratePathProperty="true" PrivateAssets="all" />
39-
<PackageReference Include="Tedd.BitUtils" Version="1.0.7" />
4038
</ItemGroup>
4139

4240
<PropertyGroup>

GenerateReadOnly/src/util/symbols/IsExtensions.cs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,34 +17,34 @@ public static bool IsEnum(this ISymbol symbol) {
1717
}
1818

1919
return underlyingSymbol.IsPrimitive(out var primitiveType) &&
20-
primitiveType != SchemaPrimitiveType.UNDEFINED;
20+
primitiveType != PrimitiveType.UNDEFINED;
2121
}
2222

2323
public static bool IsPrimitive(this ISymbol symbol,
24-
out SchemaPrimitiveType primitiveType) {
24+
out PrimitiveType primitiveType) {
2525
var typeSymbol = symbol as ITypeSymbol;
2626

2727
if (typeSymbol?.TypeKind == TypeKind.Enum) {
28-
primitiveType = SchemaPrimitiveType.ENUM;
28+
primitiveType = PrimitiveType.ENUM;
2929
return true;
3030
}
3131

3232
primitiveType = typeSymbol?.SpecialType switch {
33-
SpecialType.System_Boolean => SchemaPrimitiveType.BOOLEAN,
34-
SpecialType.System_Char => SchemaPrimitiveType.CHAR,
35-
SpecialType.System_SByte => SchemaPrimitiveType.SBYTE,
36-
SpecialType.System_Byte => SchemaPrimitiveType.BYTE,
37-
SpecialType.System_Int16 => SchemaPrimitiveType.INT16,
38-
SpecialType.System_UInt16 => SchemaPrimitiveType.UINT16,
39-
SpecialType.System_Int32 => SchemaPrimitiveType.INT32,
40-
SpecialType.System_UInt32 => SchemaPrimitiveType.UINT32,
41-
SpecialType.System_Int64 => SchemaPrimitiveType.INT64,
42-
SpecialType.System_UInt64 => SchemaPrimitiveType.UINT64,
43-
SpecialType.System_Single => SchemaPrimitiveType.SINGLE,
44-
SpecialType.System_Double => SchemaPrimitiveType.DOUBLE,
45-
_ => SchemaPrimitiveType.UNDEFINED
33+
SpecialType.System_Boolean => PrimitiveType.BOOLEAN,
34+
SpecialType.System_Char => PrimitiveType.CHAR,
35+
SpecialType.System_SByte => PrimitiveType.SBYTE,
36+
SpecialType.System_Byte => PrimitiveType.BYTE,
37+
SpecialType.System_Int16 => PrimitiveType.INT16,
38+
SpecialType.System_UInt16 => PrimitiveType.UINT16,
39+
SpecialType.System_Int32 => PrimitiveType.INT32,
40+
SpecialType.System_UInt32 => PrimitiveType.UINT32,
41+
SpecialType.System_Int64 => PrimitiveType.INT64,
42+
SpecialType.System_UInt64 => PrimitiveType.UINT64,
43+
SpecialType.System_Single => PrimitiveType.SINGLE,
44+
SpecialType.System_Double => PrimitiveType.DOUBLE,
45+
_ => PrimitiveType.UNDEFINED
4646
};
47-
return primitiveType != SchemaPrimitiveType.UNDEFINED;
47+
return primitiveType != PrimitiveType.UNDEFINED;
4848
}
4949

5050
public static bool IsClass(this ISymbol symbol)

GenerateReadOnly/src/util/symbols/SymbolTypeUtil.cs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -160,18 +160,18 @@ var referencedNamedTypeSymbol
160160
!referencedSymbol.IsEnum()) {
161161
// TODO: Is there a built-in for this?
162162
return primitiveType switch {
163-
SchemaPrimitiveType.BOOLEAN => "bool",
164-
SchemaPrimitiveType.SBYTE => "sbyte",
165-
SchemaPrimitiveType.BYTE => "byte",
166-
SchemaPrimitiveType.INT16 => "short",
167-
SchemaPrimitiveType.UINT16 => "ushort",
168-
SchemaPrimitiveType.INT32 => "int",
169-
SchemaPrimitiveType.UINT32 => "uint",
170-
SchemaPrimitiveType.INT64 => "long",
171-
SchemaPrimitiveType.UINT64 => "ulong",
172-
SchemaPrimitiveType.SINGLE => "float",
173-
SchemaPrimitiveType.DOUBLE => "double",
174-
SchemaPrimitiveType.CHAR => "char",
163+
PrimitiveType.BOOLEAN => "bool",
164+
PrimitiveType.SBYTE => "sbyte",
165+
PrimitiveType.BYTE => "byte",
166+
PrimitiveType.INT16 => "short",
167+
PrimitiveType.UINT16 => "ushort",
168+
PrimitiveType.INT32 => "int",
169+
PrimitiveType.UINT32 => "uint",
170+
PrimitiveType.INT64 => "long",
171+
PrimitiveType.UINT64 => "ulong",
172+
PrimitiveType.SINGLE => "float",
173+
PrimitiveType.DOUBLE => "double",
174+
PrimitiveType.CHAR => "char",
175175
};
176176
}
177177

@@ -208,12 +208,12 @@ var referencedNamedTypeSymbol
208208
convertName,
209209
getNamespaceParts));
210210
if (tupleItemName.Length > 0 && tupleItemName != $"Item{1 + i}") {
211-
sb.Append(" ");
211+
sb.Append(' ');
212212
sb.Append(tupleItemName);
213213
}
214214
}
215215

216-
sb.Append(")");
216+
sb.Append(')');
217217

218218
return sb.ToString();
219219
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
namespace readOnly.util.types;
2+
3+
public enum PrimitiveType {
4+
UNDEFINED,
5+
6+
BOOLEAN,
7+
8+
SBYTE,
9+
BYTE,
10+
INT16,
11+
UINT16,
12+
INT24,
13+
UINT24,
14+
INT32,
15+
UINT32,
16+
INT64,
17+
UINT64,
18+
19+
HALF,
20+
SINGLE,
21+
DOUBLE,
22+
23+
SN8,
24+
UN8,
25+
26+
SN16,
27+
UN16,
28+
29+
CHAR,
30+
31+
ENUM,
32+
}

GenerateReadOnly/src/util/types/SchemaIntegerType.cs

Lines changed: 0 additions & 36 deletions
This file was deleted.

GenerateReadOnly/src/util/types/SchemaNumberType.cs

Lines changed: 0 additions & 71 deletions
This file was deleted.

0 commit comments

Comments
 (0)