@@ -189,30 +189,23 @@ else if (c.isArray())
189189 return buf .toString ();
190190 }
191191
192- public void generateProxy (ApplicationWriter aw , String proxyName , ClassDescriptor classTo , String [] methodOverrides , int ignored )
193- {
194- HashSet <String > methodOverridesSet = new HashSet <String >();
195- for (int i = 0 ; i < methodOverrides .length ; i ++)
196- {
197- String methodOverride = methodOverrides [i ];
198- methodOverridesSet .add (methodOverride );
199- }
200-
201- generateProxy (aw , proxyName , classTo , methodOverridesSet , null , null );
202- }
203-
204192 public void generateProxy (ApplicationWriter aw , String proxyName , ClassDescriptor classTo , HashSet <String > methodOverrides , HashSet <ClassDescriptor > implementedInterfaces , AnnotationDescriptor [] annotations )
205193 {
206194 String classSignature = getAsmDescriptor (classTo );
207195
208- String tnsClassSignature = LCOM_TNS +
209- classSignature .substring (1 , classSignature .length () - 1 ).replace ("$" , "_" );
196+ String tnsClassSignature ;
197+ if (proxyName .contains ("." )) {
198+ tnsClassSignature = "L" + proxyName .replace ('.' , '/' ) + ";" ;
199+ } else {
200+ tnsClassSignature = LCOM_TNS +
201+ classSignature .substring (1 , classSignature .length () - 1 ).replace ("$" , "_" );
210202
211- if (!classTo .isInterface ()) {
212- tnsClassSignature += CLASS_NAME_LOCATION_SEPARATOR + proxyName ;
213- }
203+ if (!classTo .isInterface ()) {
204+ tnsClassSignature += CLASS_NAME_LOCATION_SEPARATOR + proxyName ;
205+ }
214206
215- tnsClassSignature += ";" ;
207+ tnsClassSignature += ";" ;
208+ }
216209
217210 ClassVisitor cv = generateClass (aw , classTo , classSignature , tnsClassSignature , implementedInterfaces , annotations );
218211 MethodDescriptor [] methods = getSupportedMethods (classTo , methodOverrides , implementedInterfaces );
0 commit comments