File tree 1 file changed +14
-7
lines changed
src/Generator/Generators/CSharp
1 file changed +14
-7
lines changed Original file line number Diff line number Diff line change @@ -672,6 +672,18 @@ public static bool ShouldGenerateClassNativeField(Class @class)
672
672
return @class . IsValueType || ! @class . HasBase || ! @class . HasRefBase ( ) ;
673
673
}
674
674
675
+ public virtual string GetBaseClassTypeName ( BaseClassSpecifier @base )
676
+ {
677
+ this . DisableTypeMap ( @base . Class ) ;
678
+
679
+ var typeName = @base . Type . Desugar ( ) . Visit ( TypePrinter ) ;
680
+
681
+ foreach ( var typeMap in Context . TypeMaps . TypeMaps . Values )
682
+ typeMap . IsEnabled = true ;
683
+
684
+ return typeName ;
685
+ }
686
+
675
687
public override void GenerateClassSpecifier ( Class @class )
676
688
{
677
689
// private classes must be visible to because the internal structs can be used in dependencies
@@ -707,13 +719,8 @@ public override void GenerateClassSpecifier(Class @class)
707
719
foreach ( var @base in @class . Bases . Where ( b => b . IsGenerated &&
708
720
b . IsClass && b . Class . IsGenerated ) )
709
721
{
710
- var typeMaps = new List < System . Type > ( ) ;
711
- var keys = new List < string > ( ) ;
712
- this . DisableTypeMap ( @base . Class ) ;
713
- var printedBase = @base . Type . Desugar ( ) . Visit ( TypePrinter ) ;
714
- bases . Add ( printedBase . Type ) ;
715
- foreach ( var typeMap in Context . TypeMaps . TypeMaps . Values )
716
- typeMap . IsEnabled = true ;
722
+ var printedBase = GetBaseClassTypeName ( @base ) ;
723
+ bases . Add ( printedBase ) ;
717
724
}
718
725
}
719
726
You can’t perform that action at this time.
0 commit comments