@@ -69,7 +69,7 @@ public InterfaceInvokerClass (InterfaceGen iface, CodeGenerationOptions opt, Cod
69
69
70
70
Constructors . Add ( new InterfaceInvokerConstructor ( opt , iface , context ) ) ;
71
71
72
- AddMemberInvokers ( iface , new HashSet < string > ( ) , opt , context ) ;
72
+ AddMemberInvokers ( iface , new HashSet < string > ( ) , iface . SkippedInvokerMethods , opt , context ) ;
73
73
}
74
74
75
75
static HashSet < InterfaceGen > GetCompleteImplementedInterfaces ( HashSet < InterfaceGen > ifaces , InterfaceGen toplevel )
@@ -81,15 +81,15 @@ static HashSet<InterfaceGen> GetCompleteImplementedInterfaces (HashSet<Interface
81
81
return ifaces ;
82
82
}
83
83
84
- void AddMemberInvokers ( InterfaceGen iface , HashSet < string > members , CodeGenerationOptions opt , CodeGeneratorContext context )
84
+ void AddMemberInvokers ( InterfaceGen iface , HashSet < string > members , HashSet < string > skipInvokers , CodeGenerationOptions opt , CodeGeneratorContext context )
85
85
{
86
86
AddPropertyInvokers ( iface , iface . Properties . Where ( p => ! p . Getter . IsStatic && ! p . Getter . IsInterfaceDefaultMethod ) , members , opt , context ) ;
87
- AddMethodInvokers ( iface , iface . Methods . Where ( m => ! m . IsStatic && ! m . IsInterfaceDefaultMethod ) , members , opt , context ) ;
87
+ AddMethodInvokers ( iface , iface . Methods . Where ( m => ! m . IsStatic && ! m . IsInterfaceDefaultMethod ) , members , skipInvokers , opt , context ) ;
88
88
AddCharSequenceEnumerators ( iface ) ;
89
89
90
90
foreach ( var i in iface . GetAllDerivedInterfaces ( ) ) {
91
91
AddPropertyInvokers ( iface , i . Properties . Where ( p => ! p . Getter . IsStatic && ! p . Getter . IsInterfaceDefaultMethod ) , members , opt , context ) ;
92
- AddMethodInvokers ( iface , i . Methods . Where ( m => ! m . IsStatic && ! m . IsInterfaceDefaultMethod && ! iface . IsCovariantMethod ( m ) && ! ( i . FullName . StartsWith ( "Java.Lang.ICharSequence" , StringComparison . Ordinal ) && m . Name . EndsWith ( "Formatted" , StringComparison . Ordinal ) ) ) , members , opt , context ) ;
92
+ AddMethodInvokers ( iface , i . Methods . Where ( m => ! m . IsStatic && ! m . IsInterfaceDefaultMethod && ! iface . IsCovariantMethod ( m ) && ! ( i . FullName . StartsWith ( "Java.Lang.ICharSequence" , StringComparison . Ordinal ) && m . Name . EndsWith ( "Formatted" , StringComparison . Ordinal ) ) ) , members , skipInvokers , opt , context ) ;
93
93
AddCharSequenceEnumerators ( i ) ;
94
94
}
95
95
}
@@ -113,10 +113,13 @@ void AddPropertyInvokers (InterfaceGen iface, IEnumerable<Property> properties,
113
113
Properties . Add ( new InterfaceInvokerProperty ( iface , prop , opt , context ) ) ;
114
114
}
115
115
}
116
-
117
- void AddMethodInvokers ( InterfaceGen iface , IEnumerable < Method > methods , HashSet < string > members , CodeGenerationOptions opt , CodeGeneratorContext context )
116
+
117
+ void AddMethodInvokers ( InterfaceGen iface , IEnumerable < Method > methods , HashSet < string > members , HashSet < string > skipInvokers , CodeGenerationOptions opt , CodeGeneratorContext context )
118
118
{
119
119
foreach ( var m in methods ) {
120
+ if ( skipInvokers . Contains ( $ "{ m . DeclaringType . RawJniName } .{ m . JavaName } { m . JniSignature } ") )
121
+ continue ;
122
+
120
123
var sig = m . GetSignature ( ) ;
121
124
122
125
if ( members . Contains ( sig ) )
0 commit comments