{"action":"created","issue":{"url":"https://api.github.com/repos/gwtproject/gwt/issues/9438","repository_url":"https://api.github.com/repos/gwtproject/gwt","labels_url":"https://api.github.com/repos/gwtproject/gwt/issues/9438/labels{/name}","comments_url":"https://api.github.com/repos/gwtproject/gwt/issues/9438/comments","events_url":"https://api.github.com/repos/gwtproject/gwt/issues/9438/events","html_url":"https://github.com/gwtproject/gwt/issues/9438","id":180484281,"number":9438,"title":"JsInterop: look at scalar constants (static final primitive types) as if they are JsOverlay","user":{"login":"kirillp","id":4068190,"avatar_url":"https://avatars.githubusercontent.com/u/4068190?v=3","gravatar_id":"","url":"https://api.github.com/users/kirillp","html_url":"https://github.com/kirillp","followers_url":"https://api.github.com/users/kirillp/followers","following_url":"https://api.github.com/users/kirillp/following{/other_user}","gists_url":"https://api.github.com/users/kirillp/gists{/gist_id}","starred_url":"https://api.github.com/users/kirillp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kirillp/subscriptions","organizations_url":"https://api.github.com/users/kirillp/orgs","repos_url":"https://api.github.com/users/kirillp/repos","events_url":"https://api.github.com/users/kirillp/events{/privacy}","received_events_url":"https://api.github.com/users/kirillp/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2016-10-01T22:39:48Z","updated_at":"2016-10-03T19:50:34Z","closed_at":null,"body":"It should be possible to declare numeric and string constants in JsType interface declarations. \r\n\r\nNow it requires JsOverlay  annotation, however it can be relaxed.\r\nFor example WebGL API has more then 100 numeric constants in WebGLContext interface.\r\nThere is no need to write JsOverlay  100+ times.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/gwtproject/gwt/issues/comments/251207482","html_url":"https://github.com/gwtproject/gwt/issues/9438#issuecomment-251207482","issue_url":"https://api.github.com/repos/gwtproject/gwt/issues/9438","id":251207482,"user":{"login":"rluble","id":4175508,"avatar_url":"https://avatars.githubusercontent.com/u/4175508?v=3","gravatar_id":"","url":"https://api.github.com/users/rluble","html_url":"https://github.com/rluble","followers_url":"https://api.github.com/users/rluble/followers","following_url":"https://api.github.com/users/rluble/following{/other_user}","gists_url":"https://api.github.com/users/rluble/gists{/gist_id}","starred_url":"https://api.github.com/users/rluble/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rluble/subscriptions","organizations_url":"https://api.github.com/users/rluble/orgs","repos_url":"https://api.github.com/users/rluble/repos","events_url":"https://api.github.com/users/rluble/events{/privacy}","received_events_url":"https://api.github.com/users/rluble/received_events","type":"User","site_admin":false},"created_at":"2016-10-03T19:50:34Z","updated_at":"2016-10-03T19:50:34Z","body":"Well native JsType classes are just a way to surface JS classes to Java. As opposed to interfaces native JsType classes allow you to create instances and map Java instanceof to Js instanceof operator (e.g see https://github.com/gwtproject/gwt/blob/48e3ba9e67f4b0d4ba25af5263d552f8f03ece9f/user/super/com/google/gwt/emul/java/lang/NullPointerException.java#L44). Interfaces only provide a way to access a JS API. Other than that native classes and native interfaces are pretty much the same.\r\n\r\nIsn't the whole argument here that <tt>final static </tt> fields in native JsTypes can be \"automatically\" considered @JsOverlay, because there is no other option (omitting @JsOverlay will result in a compilation error)? \r\n\r\n\r\n\r\n"}}
{"actor":{"display_login":"rluble"}}