Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
ipojo-manipulator-1.11.0
-
None
Description
The iPOJO manipulator also instruments static inner classes that don't have any iPOJO annotations.
For example:
private static final Function<String, String> TRIM = new Function() { public String apply(String input) { return input.trim(); } };
results in the following:
private static final Function<String, String> TRIM = new Function() { public String apply(String paramAnonymousString) { if (!this.this$0.__M1___apply$java_lang_String) { return super.__M_apply(paramAnonymousString); } String str; try { this.this$0.__IM.onEntry(this, "1___apply$java_lang_String", new Object[] { paramAnonymousString }); str = super.__M_apply(paramAnonymousString); this.this$0.__IM.onExit(this, "1___apply$java_lang_String", str); } catch (Throwable localThrowable) { this.this$0.__IM.onError(this, "1___apply$java_lang_String", localThrowable); throw localThrowable; } return str; } public String __M_apply(String input) { return input.trim(); } };
This fails at runtime with NoSuchFieldError for this.this$0
Attachments
Issue Links
- relates to
-
FELIX-4480 should ignore inner classes that are created within static methods
- Closed