Skip to content

Commit 79718c9

Browse files
author
Joanna May
authored
Merge pull request #10 from chickensoft-games/fix/edge-cases
fix: edge cases
2 parents 837f233 + d5493d7 commit 79718c9

19 files changed

+87
-38
lines changed

Chickensoft.Introspection.Generator.Tests/.generated/Chickensoft.Introspection.Generator/Chickensoft.Introspection.Generator.TypeGenerator/BaseClasses_A_BaseClass.g.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
3030
OpenType: typeof(string),
3131
ClosedType: typeof(string),
3232
Arguments: System.Array.Empty<GenericType>(),
33-
GenericTypeGetter: receiver => receiver.Receive<string>(),
33+
GenericTypeGetter: static receiver => receiver.Receive<string>(),
3434
GenericTypeGetter2: default
3535
),
3636
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {

Chickensoft.Introspection.Generator.Tests/.generated/Chickensoft.Introspection.Generator/Chickensoft.Introspection.Generator.TypeGenerator/TestCases_SetOnlyPropertyE303C8557E.g.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
2828
OpenType: typeof(string),
2929
ClosedType: typeof(string),
3030
Arguments: System.Array.Empty<GenericType>(),
31-
GenericTypeGetter: receiver => receiver.Receive<string>(),
31+
GenericTypeGetter: static receiver => receiver.Receive<string>(),
3232
GenericTypeGetter2: default
3333
),
3434
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {

Chickensoft.Introspection.Generator.Tests/.generated/Chickensoft.Introspection.Generator/Chickensoft.Introspection.Generator.TypeGenerator/Tests_TestCases_BaseModel6634CD33B5.g.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
3131
OpenType: typeof(string),
3232
ClosedType: typeof(string),
3333
Arguments: System.Array.Empty<GenericType>(),
34-
GenericTypeGetter: receiver => receiver.Receive<string>(),
34+
GenericTypeGetter: static receiver => receiver.Receive<string>(),
3535
GenericTypeGetter2: default
3636
),
3737
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {

Chickensoft.Introspection.Generator.Tests/.generated/Chickensoft.Introspection.Generator/Chickensoft.Introspection.Generator.TypeGenerator/_MyContainerClass_MyModel67E837FC39.g.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
3232
OpenType: typeof(int),
3333
ClosedType: typeof(int),
3434
Arguments: System.Array.Empty<GenericType>(),
35-
GenericTypeGetter: receiver => receiver.Receive<int>(),
35+
GenericTypeGetter: static receiver => receiver.Receive<int>(),
3636
GenericTypeGetter2: default
3737
),
3838
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {
@@ -52,7 +52,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
5252
OpenType: typeof(string),
5353
ClosedType: typeof(string),
5454
Arguments: System.Array.Empty<GenericType>(),
55-
GenericTypeGetter: receiver => receiver.Receive<string>(),
55+
GenericTypeGetter: static receiver => receiver.Receive<string>(),
5656
GenericTypeGetter2: default
5757
),
5858
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {

Chickensoft.Introspection.Generator.Tests/.generated/Chickensoft.Introspection.Generator/Chickensoft.Introspection.Generator.TypeGenerator/er2_DeeplyNestedBaseClassAC795ED913.g.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
3232
OpenType: typeof(string),
3333
ClosedType: typeof(string),
3434
Arguments: System.Array.Empty<GenericType>(),
35-
GenericTypeGetter: receiver => receiver.Receive<string>(),
35+
GenericTypeGetter: static receiver => receiver.Receive<string>(),
3636
GenericTypeGetter2: default
3737
),
3838
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {

Chickensoft.Introspection.Generator.Tests/.generated/Chickensoft.Introspection.Generator/Chickensoft.Introspection.Generator.TypeGenerator/her_A_B_C_D_SomeBaseClassECA01F390E.g.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
3434
OpenType: typeof(string),
3535
ClosedType: typeof(string),
3636
Arguments: System.Array.Empty<GenericType>(),
37-
GenericTypeGetter: receiver => receiver.Receive<string>(),
37+
GenericTypeGetter: static receiver => receiver.Receive<string>(),
3838
GenericTypeGetter2: default
3939
),
4040
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {

Chickensoft.Introspection.Generator.Tests/.generated/Chickensoft.Introspection.Generator/Chickensoft.Introspection.Generator.TypeGenerator/or_Tests_TestCases_MyType1CDCCD6086.g.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
3535
OpenType: typeof(string),
3636
ClosedType: typeof(string),
3737
Arguments: System.Array.Empty<GenericType>(),
38-
GenericTypeGetter: receiver => receiver.Receive<string>(),
38+
GenericTypeGetter: static receiver => receiver.Receive<string>(),
3939
GenericTypeGetter2: default
4040
),
4141
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {
@@ -59,7 +59,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
5959
OpenType: typeof(int),
6060
ClosedType: typeof(int),
6161
Arguments: System.Array.Empty<GenericType>(),
62-
GenericTypeGetter: receiver => receiver.Receive<int>(),
62+
GenericTypeGetter: static receiver => receiver.Receive<int>(),
6363
GenericTypeGetter2: default
6464
),
6565
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {
@@ -80,11 +80,11 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
8080
OpenType: typeof(float),
8181
ClosedType: typeof(float),
8282
Arguments: System.Array.Empty<GenericType>(),
83-
GenericTypeGetter: receiver => receiver.Receive<float>(),
83+
GenericTypeGetter: static receiver => receiver.Receive<float>(),
8484
GenericTypeGetter2: default
8585
)
8686
},
87-
GenericTypeGetter: receiver => receiver.Receive<Nullable<float>>(),
87+
GenericTypeGetter: static receiver => receiver.Receive<Nullable<float>>(),
8888
GenericTypeGetter2: default
8989
),
9090
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {
@@ -104,7 +104,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
104104
OpenType: typeof(int),
105105
ClosedType: typeof(int),
106106
Arguments: System.Array.Empty<GenericType>(),
107-
GenericTypeGetter: receiver => receiver.Receive<int>(),
107+
GenericTypeGetter: static receiver => receiver.Receive<int>(),
108108
GenericTypeGetter2: default
109109
),
110110
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {

Chickensoft.Introspection.Generator.Tests/.generated/Chickensoft.Introspection.Generator/Chickensoft.Introspection.Generator.TypeGenerator/s_AttributesWithNamedArgs21E465F742.g.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
3131
OpenType: typeof(string),
3232
ClosedType: typeof(string),
3333
Arguments: System.Array.Empty<GenericType>(),
34-
GenericTypeGetter: receiver => receiver.Receive<string>(),
34+
GenericTypeGetter: static receiver => receiver.Receive<string>(),
3535
GenericTypeGetter2: default
3636
),
3737
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {

Chickensoft.Introspection.Generator.Tests/.generated/Chickensoft.Introspection.Generator/Chickensoft.Introspection.Generator.TypeGenerator/s_TestCases_InitArgsModel651DDFA4A7.g.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
3131
OpenType: typeof(string),
3232
ClosedType: typeof(string),
3333
Arguments: System.Array.Empty<GenericType>(),
34-
GenericTypeGetter: receiver => receiver.Receive<string>(),
34+
GenericTypeGetter: static receiver => receiver.Receive<string>(),
3535
GenericTypeGetter2: default
3636
),
3737
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {
@@ -51,7 +51,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
5151
OpenType: typeof(int),
5252
ClosedType: typeof(int),
5353
Arguments: System.Array.Empty<GenericType>(),
54-
GenericTypeGetter: receiver => receiver.Receive<int>(),
54+
GenericTypeGetter: static receiver => receiver.Receive<int>(),
5555
GenericTypeGetter2: default
5656
),
5757
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {
@@ -71,7 +71,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
7171
OpenType: typeof(string),
7272
ClosedType: typeof(string),
7373
Arguments: System.Array.Empty<GenericType>(),
74-
GenericTypeGetter: receiver => receiver.Receive<string>(),
74+
GenericTypeGetter: static receiver => receiver.Receive<string>(),
7575
GenericTypeGetter2: default
7676
),
7777
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {
@@ -91,7 +91,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
9191
OpenType: typeof(InitArgsEnum),
9292
ClosedType: typeof(InitArgsEnum),
9393
Arguments: System.Array.Empty<GenericType>(),
94-
GenericTypeGetter: receiver => receiver.Receive<InitArgsEnum>(),
94+
GenericTypeGetter: static receiver => receiver.Receive<InitArgsEnum>(),
9595
GenericTypeGetter2: default
9696
),
9797
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {
@@ -111,7 +111,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
111111
OpenType: typeof(InitArgsEnum),
112112
ClosedType: typeof(InitArgsEnum),
113113
Arguments: System.Array.Empty<GenericType>(),
114-
GenericTypeGetter: receiver => receiver.Receive<InitArgsEnum>(),
114+
GenericTypeGetter: static receiver => receiver.Receive<InitArgsEnum>(),
115115
GenericTypeGetter2: default
116116
),
117117
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {
@@ -131,7 +131,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
131131
OpenType: typeof(string),
132132
ClosedType: typeof(string),
133133
Arguments: System.Array.Empty<GenericType>(),
134-
GenericTypeGetter: receiver => receiver.Receive<string>(),
134+
GenericTypeGetter: static receiver => receiver.Receive<string>(),
135135
GenericTypeGetter2: default
136136
),
137137
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {

Chickensoft.Introspection.Generator.Tests/.generated/Chickensoft.Introspection.Generator/Chickensoft.Introspection.Generator.TypeGenerator/s_TestCases_PropertyModel4D221791B1.g.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
2828
OpenType: typeof(string),
2929
ClosedType: typeof(string),
3030
Arguments: System.Array.Empty<GenericType>(),
31-
GenericTypeGetter: receiver => receiver.Receive<string>(),
31+
GenericTypeGetter: static receiver => receiver.Receive<string>(),
3232
GenericTypeGetter2: default
3333
),
3434
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {

Chickensoft.Introspection.Generator.Tests/.generated/Chickensoft.Introspection.Generator/Chickensoft.Introspection.Generator.TypeGenerator/sts_TestCases_Collections23D60571D5.g.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
3939
OpenType: typeof(string),
4040
ClosedType: typeof(string),
4141
Arguments: System.Array.Empty<GenericType>(),
42-
GenericTypeGetter: receiver => receiver.Receive<string>(),
42+
GenericTypeGetter: static receiver => receiver.Receive<string>(),
4343
GenericTypeGetter2: default
4444
)
4545
},
46-
GenericTypeGetter: receiver => receiver.Receive<List<string>>(),
46+
GenericTypeGetter: static receiver => receiver.Receive<List<string>>(),
4747
GenericTypeGetter2: default
4848
),
4949
new GenericType(
@@ -58,20 +58,20 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
5858
OpenType: typeof(int),
5959
ClosedType: typeof(int),
6060
Arguments: System.Array.Empty<GenericType>(),
61-
GenericTypeGetter: receiver => receiver.Receive<int>(),
61+
GenericTypeGetter: static receiver => receiver.Receive<int>(),
6262
GenericTypeGetter2: default
6363
)
6464
},
65-
GenericTypeGetter: receiver => receiver.Receive<List<int>>(),
65+
GenericTypeGetter: static receiver => receiver.Receive<List<int>>(),
6666
GenericTypeGetter2: default
6767
)
6868
},
69-
GenericTypeGetter: receiver => receiver.Receive<List<List<int>>>(),
69+
GenericTypeGetter: static receiver => receiver.Receive<List<List<int>>>(),
7070
GenericTypeGetter2: default
7171
)
7272
},
73-
GenericTypeGetter: receiver => receiver.Receive<Dictionary<List<string>, List<List<int>>>>(),
74-
GenericTypeGetter2: receiver => receiver.Receive<List<string>, List<List<int>>>()
73+
GenericTypeGetter: static receiver => receiver.Receive<Dictionary<List<string>, List<List<int>>>>(),
74+
GenericTypeGetter2: static receiver => receiver.Receive<List<string>, List<List<int>>>()
7575
),
7676
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {
7777
[typeof(TagAttribute)] = new System.Attribute[] {

Chickensoft.Introspection.Generator.Tests/.generated/Chickensoft.Introspection.Generator/Chickensoft.Introspection.Generator.TypeGenerator/ts_TestCases_DerivedModel2583598D69.g.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
3131
OpenType: typeof(int),
3232
ClosedType: typeof(int),
3333
Arguments: System.Array.Empty<GenericType>(),
34-
GenericTypeGetter: receiver => receiver.Receive<int>(),
34+
GenericTypeGetter: static receiver => receiver.Receive<int>(),
3535
GenericTypeGetter2: default
3636
),
3737
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {

Chickensoft.Introspection.Generator.Tests/.generated/Chickensoft.Introspection.Generator/Chickensoft.Introspection.Generator.TypeGenerator/ts_TestCases_PartialModelED2F9C08D8.g.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
3131
OpenType: typeof(int),
3232
ClosedType: typeof(int),
3333
Arguments: System.Array.Empty<GenericType>(),
34-
GenericTypeGetter: receiver => receiver.Receive<int>(),
34+
GenericTypeGetter: static receiver => receiver.Receive<int>(),
3535
GenericTypeGetter2: default
3636
),
3737
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {
@@ -51,7 +51,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
5151
OpenType: typeof(string),
5252
ClosedType: typeof(string),
5353
Arguments: System.Array.Empty<GenericType>(),
54-
GenericTypeGetter: receiver => receiver.Receive<string>(),
54+
GenericTypeGetter: static receiver => receiver.Receive<string>(),
5555
GenericTypeGetter2: default
5656
),
5757
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {

Chickensoft.Introspection.Generator.Tests/.generated/Chickensoft.Introspection.Generator/Chickensoft.Introspection.Generator.TypeGenerator/wo_IThree_Four_NestedType7FDE758058.g.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
3939
OpenType: typeof(string),
4040
ClosedType: typeof(string),
4141
Arguments: System.Array.Empty<GenericType>(),
42-
GenericTypeGetter: receiver => receiver.Receive<string>(),
42+
GenericTypeGetter: static receiver => receiver.Receive<string>(),
4343
GenericTypeGetter2: default
4444
),
4545
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {
@@ -63,7 +63,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
6363
OpenType: typeof(float),
6464
ClosedType: typeof(float),
6565
Arguments: System.Array.Empty<GenericType>(),
66-
GenericTypeGetter: receiver => receiver.Receive<float>(),
66+
GenericTypeGetter: static receiver => receiver.Receive<float>(),
6767
GenericTypeGetter2: default
6868
),
6969
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {
@@ -83,7 +83,7 @@ public class MetatypeMetadata : Chickensoft.Introspection.IMetatype {
8383
OpenType: typeof(int),
8484
ClosedType: typeof(int),
8585
Arguments: System.Array.Empty<GenericType>(),
86-
GenericTypeGetter: receiver => receiver.Receive<int>(),
86+
GenericTypeGetter: static receiver => receiver.Receive<int>(),
8787
GenericTypeGetter2: default
8888
),
8989
Attributes: new System.Collections.Generic.Dictionary<System.Type, System.Attribute[]>() {
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
namespace Chickensoft.Introspection.Generator.Tests.TestCases;
2+
3+
using System.IO;
4+
using Result = (int, string);
5+
6+
public static class UsingAmbiguity {
7+
// make sure tuple aliases don't interfere with using imports
8+
public static Result DoSomething() => (1, "Hello");
9+
10+
public static void DoSomethingWithADisposable() {
11+
// make sure using statements don't interfere with using imports
12+
using var stream = new MemoryStream();
13+
}
14+
}

Chickensoft.Introspection.Generator/src/TypeGenerator.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ public void Initialize(IncrementalGeneratorInitializationContext context) {
8383
typeA.MergePartialDefinition(typeB)
8484
)
8585
)
86+
.Where(type => type.Kind != DeclaredTypeKind.Error)
8687
.OrderBy(type => type.FullNameOpen);
8788

8889
var uniqueTypes = uniqueTypeList.ToDictionary(
@@ -479,7 +480,15 @@ TypeDeclarationSyntax type
479480
allUsings = allUsings.AddRange(comp.Usings);
480481
}
481482
}
482-
return allUsings.Select(GetUsing).ToImmutableHashSet();
483+
return allUsings
484+
// `Name` will be null if used as an alias for a tuple (unrelated to
485+
// the using import directive).
486+
//
487+
// Note that we don't have access to the NamespaceOrType property
488+
// introduced after Microsoft.CodeAnalysis.CSharp v4.4.0 which would
489+
// reference the tuple aliasing.
490+
.Where(@using => @using.Name is not null)
491+
.Select(GetUsing).ToImmutableHashSet();
483492
}
484493

485494
public static UsingDirective GetUsing(UsingDirectiveSyntax @using) =>

Chickensoft.Introspection.Generator/src/models/DeclaredType.cs

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ DeclaredType declaredType
243243
Location: Location,
244244
BaseType: BaseType,
245245
Usings: Usings.Union(declaredType.Usings),
246-
Kind: Kind,
246+
Kind: PickDeclaredTypeKind(Kind, declaredType.Kind),
247247
IsStatic: PickIsStatic(declaredType.IsStatic),
248248
IsPublicOrInternal: PickIsPublicOrInternal(declaredType.IsPublicOrInternal),
249249
Properties
@@ -257,6 +257,31 @@ DeclaredType declaredType
257257
internal Location PickSyntaxLocation(Location other) =>
258258
HasIntrospectiveAttribute ? SyntaxLocation : other;
259259

260+
internal static DeclaredTypeKind PickDeclaredTypeKind(
261+
DeclaredTypeKind kind,
262+
DeclaredTypeKind other
263+
) => kind switch {
264+
// both are the same — no change
265+
_ when other == kind => kind,
266+
267+
// abstract + concrete = abstract
268+
DeclaredTypeKind.AbstractType when other is DeclaredTypeKind.ConcreteType
269+
=> DeclaredTypeKind.AbstractType,
270+
DeclaredTypeKind.ConcreteType when other is DeclaredTypeKind.AbstractType
271+
=> DeclaredTypeKind.AbstractType,
272+
// ---
273+
274+
// static + concrete = static
275+
DeclaredTypeKind.StaticClass when other is DeclaredTypeKind.ConcreteType
276+
=> DeclaredTypeKind.StaticClass,
277+
DeclaredTypeKind.ConcreteType when other is DeclaredTypeKind.StaticClass
278+
=> DeclaredTypeKind.StaticClass,
279+
// ---
280+
281+
// no other combinations have valid results
282+
_ => DeclaredTypeKind.Error
283+
};
284+
260285
internal bool PickIsStatic(bool other) => IsStatic || other;
261286

262287
internal bool PickIsPublicOrInternal(bool other) =>

Chickensoft.Introspection.Generator/src/models/DeclaredTypeKind.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ public enum DeclaredTypeKind {
44
StaticClass,
55
AbstractType,
66
ConcreteType,
7-
Interface
7+
Interface,
8+
Error
89
}

Chickensoft.Introspection/src/types/IIntrospective.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ public interface IIntrospective {
3030
/// Invokes the handler of each mixin that is applied to the type.
3131
/// </summary>
3232
public void InvokeMixins() {
33-
foreach (var mixin in Metatype.Mixins) {
34-
Metatype.MixinHandlers[mixin](this);
33+
for (var i = 0; i < Metatype.Mixins.Count; i++) {
34+
Metatype.MixinHandlers[Metatype.Mixins[i]](this);
3535
}
3636
}
3737

0 commit comments

Comments
 (0)