You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Daan de Wit (JIRA)" <ji...@apache.org> on 2013/12/06 11:31:35 UTC

[jira] [Created] (FELIX-4347) manipulator should ignore static inner classes

Daan de Wit created FELIX-4347:
----------------------------------

             Summary: manipulator should ignore static inner classes
                 Key: FELIX-4347
                 URL: https://issues.apache.org/jira/browse/FELIX-4347
             Project: Felix
          Issue Type: Bug
          Components: iPOJO
    Affects Versions: ipojo-manipulator-1.11.0
            Reporter: Daan de Wit


The iPOJO manipulator also instruments static inner classes that don't have any iPOJO annotations.
For example:
{code}
private static final Function<String, String> TRIM = new Function() {
    public String apply(String input) {
        return input.trim();
    }
};
{code}
results in the following:
{code}
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();
    }
  };
{code}
This fails at runtime with NoSuchFieldError



--
This message was sent by Atlassian JIRA
(v6.1#6144)