tree fbea08377ce8e611634d2f216d1be3d53f0ead14
parent 335ad151d305f85ee197fb28470b7f0a5b077ac0
author Roberto Lublinerman <rluble@google.com> 1510286455 -0800
committer Roberto Lublinerman <rluble@google.com> 1510881666 -0800

Allow native JsMethods coexist with implementations with the same name.

Since there is no overloading in JavaScript, J2CL can only have one
member providing the implementation for a name. Based on that rule,
multiple native members using the same name are ok as long as at the
end there is only one method exists with an implementation.
We call this "one live implementation" rule and we won't emit an error
as long as the class follows the rule.

This allows user to override an implementation with a native override,
and provide a new member to take over the implementation.

For example;

  @JsType
  class A {
    public void m() { }
    public native void m(int i);
  }

  @JsType
  class B {
    @Override
    public native void m();
    public void m(Object o) { }
  }

is allowed because at class "B", "void m()" is overridden the previous
implementation in "A" making it native hence no existing implementation
remains except the new provided overload in "B". This makes the class B
fit into one live implementation rule.

Change-Id: I4fb2217231b97dee9f7e9c67bd4acb6f210c5b16
