@@ -64,21 +64,21 @@ public ClassInvokerClass (ClassGen klass, CodeGenerationOptions opt)
64
64
Properties . Add ( new ThresholdTypeGetter ( ) ) ;
65
65
}
66
66
67
- AddMemberInvokers ( klass , opt , new HashSet < string > ( ) ) ;
67
+ AddMemberInvokers ( klass , opt , new HashSet < string > ( ) , klass . SkippedInvokerMethods ) ;
68
68
}
69
69
70
- void AddMemberInvokers ( ClassGen klass , CodeGenerationOptions opt , HashSet < string > members )
70
+ void AddMemberInvokers ( ClassGen klass , CodeGenerationOptions opt , HashSet < string > members , HashSet < string > skipInvokers )
71
71
{
72
72
AddPropertyInvokers ( klass , klass . Properties , members , opt ) ;
73
- AddMethodInvokers ( klass , klass . Methods , members , null , opt ) ;
73
+ AddMethodInvokers ( klass , klass . Methods , members , skipInvokers , null , opt ) ;
74
74
75
75
foreach ( var iface in klass . GetAllDerivedInterfaces ( ) ) {
76
76
AddPropertyInvokers ( klass , iface . Properties . Where ( p => ! klass . ContainsProperty ( p . Name , false , false ) ) , members , opt ) ;
77
- AddMethodInvokers ( klass , iface . Methods . Where ( m => ( opt . SupportDefaultInterfaceMethods || ! m . IsInterfaceDefaultMethod ) && ! klass . ContainsMethod ( m , false , false ) && ! klass . IsCovariantMethod ( m ) && ! klass . ExplicitlyImplementedInterfaceMethods . Contains ( m . GetSignature ( ) ) ) , members , iface , opt ) ;
77
+ AddMethodInvokers ( klass , iface . Methods . Where ( m => ( opt . SupportDefaultInterfaceMethods || ! m . IsInterfaceDefaultMethod ) && ! klass . ContainsMethod ( m , false , false ) && ! klass . IsCovariantMethod ( m ) && ! klass . ExplicitlyImplementedInterfaceMethods . Contains ( m . GetSignature ( ) ) ) , members , skipInvokers , iface , opt ) ;
78
78
}
79
79
80
80
if ( klass . BaseGen != null && klass . BaseGen . FullName != "Java.Lang.Object" )
81
- AddMemberInvokers ( klass . BaseGen , opt , members ) ;
81
+ AddMemberInvokers ( klass . BaseGen , opt , members , skipInvokers ) ;
82
82
}
83
83
84
84
void AddPropertyInvokers ( ClassGen klass , IEnumerable < Property > properties , HashSet < string > members , CodeGenerationOptions opt )
@@ -100,9 +100,12 @@ void AddPropertyInvokers (ClassGen klass, IEnumerable<Property> properties, Hash
100
100
}
101
101
}
102
102
103
- void AddMethodInvokers ( ClassGen klass , IEnumerable < Method > methods , HashSet < string > members , InterfaceGen gen , CodeGenerationOptions opt )
103
+ void AddMethodInvokers ( ClassGen klass , IEnumerable < Method > methods , HashSet < string > members , HashSet < string > skipInvokers , InterfaceGen gen , CodeGenerationOptions opt )
104
104
{
105
105
foreach ( var m in methods ) {
106
+ if ( skipInvokers . Contains ( $ "{ m . DeclaringType . RawJniName } .{ m . JavaName } { m . JniSignature } ") )
107
+ continue ;
108
+
106
109
var sig = m . GetSignature ( ) ;
107
110
108
111
if ( members . Contains ( sig ) )
0 commit comments