{"action":"created","issue":{"url":"https://api.github.com/repos/facebook/react-native/issues/10084","repository_url":"https://api.github.com/repos/facebook/react-native","labels_url":"https://api.github.com/repos/facebook/react-native/issues/10084/labels{/name}","comments_url":"https://api.github.com/repos/facebook/react-native/issues/10084/comments","events_url":"https://api.github.com/repos/facebook/react-native/issues/10084/events","html_url":"https://github.com/facebook/react-native/pull/10084","id":179029246,"number":10084,"title":"Improve init and runtime performance of native modules","user":{"login":"ransj","id":1728477,"avatar_url":"https://avatars2.githubusercontent.com/u/1728477?v=4","gravatar_id":"","url":"https://api.github.com/users/ransj","html_url":"https://github.com/ransj","followers_url":"https://api.github.com/users/ransj/followers","following_url":"https://api.github.com/users/ransj/following{/other_user}","gists_url":"https://api.github.com/users/ransj/gists{/gist_id}","starred_url":"https://api.github.com/users/ransj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ransj/subscriptions","organizations_url":"https://api.github.com/users/ransj/orgs","repos_url":"https://api.github.com/users/ransj/repos","events_url":"https://api.github.com/users/ransj/events{/privacy}","received_events_url":"https://api.github.com/users/ransj/received_events","type":"User","site_admin":false},"labels":[{"id":670281977,"url":"https://api.github.com/repos/facebook/react-native/labels/:clipboard:Large%20PR%20:bangbang:","name":":clipboard:Large PR :bangbang:","color":"d4c5f9","default":false},{"id":196858975,"url":"https://api.github.com/repos/facebook/react-native/labels/CLA%20Signed","name":"CLA Signed","color":"ffffff","default":false},{"id":468774151,"url":"https://api.github.com/repos/facebook/react-native/labels/Core%20Team","name":"Core Team","color":"0052cc","default":false}],"state":"closed","locked":false,"assignee":{"login":"AaaChiuuu","id":856742,"avatar_url":"https://avatars3.githubusercontent.com/u/856742?v=4","gravatar_id":"","url":"https://api.github.com/users/AaaChiuuu","html_url":"https://github.com/AaaChiuuu","followers_url":"https://api.github.com/users/AaaChiuuu/followers","following_url":"https://api.github.com/users/AaaChiuuu/following{/other_user}","gists_url":"https://api.github.com/users/AaaChiuuu/gists{/gist_id}","starred_url":"https://api.github.com/users/AaaChiuuu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AaaChiuuu/subscriptions","organizations_url":"https://api.github.com/users/AaaChiuuu/orgs","repos_url":"https://api.github.com/users/AaaChiuuu/repos","events_url":"https://api.github.com/users/AaaChiuuu/events{/privacy}","received_events_url":"https://api.github.com/users/AaaChiuuu/received_events","type":"User","site_admin":false},"assignees":[{"login":"AaaChiuuu","id":856742,"avatar_url":"https://avatars3.githubusercontent.com/u/856742?v=4","gravatar_id":"","url":"https://api.github.com/users/AaaChiuuu","html_url":"https://github.com/AaaChiuuu","followers_url":"https://api.github.com/users/AaaChiuuu/followers","following_url":"https://api.github.com/users/AaaChiuuu/following{/other_user}","gists_url":"https://api.github.com/users/AaaChiuuu/gists{/gist_id}","starred_url":"https://api.github.com/users/AaaChiuuu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AaaChiuuu/subscriptions","organizations_url":"https://api.github.com/users/AaaChiuuu/orgs","repos_url":"https://api.github.com/users/AaaChiuuu/repos","events_url":"https://api.github.com/users/AaaChiuuu/events{/privacy}","received_events_url":"https://api.github.com/users/AaaChiuuu/received_events","type":"User","site_admin":false}],"milestone":null,"comments":73,"created_at":"2016-09-24T13:02:02Z","updated_at":"2018-03-27T14:36:34Z","closed_at":"2017-08-17T00:25:43Z","author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/facebook/react-native/pulls/10084","html_url":"https://github.com/facebook/react-native/pull/10084","diff_url":"https://github.com/facebook/react-native/pull/10084.diff","patch_url":"https://github.com/facebook/react-native/pull/10084.patch"},"body":"During react context Initialization, exported methods in native module are found by call getAnnotation with declared methods in native modules, this procesure contains a large amount of\r\nreflections. More native modules, more methods in each module, that will be nightmare!\r\nSo ReactNativeModuleProcessor handle ReactMethod and ReactSyncHook annotations, assemble exported methods together and create method descriptors during compile time. Since Ids of exported methods are generated, we can use these ids to call target method of native modules directly.\r\nAlso this commit will enable ReactNativeModuleProcessor and ReactPropertyProcessor in gradle, anyone work with the source can see the change.\r\n"},"comment":{"url":"https://api.github.com/repos/facebook/react-native/issues/comments/376548893","html_url":"https://github.com/facebook/react-native/pull/10084#issuecomment-376548893","issue_url":"https://api.github.com/repos/facebook/react-native/issues/10084","id":376548893,"user":{"login":"miguelespinoza","id":6182543,"avatar_url":"https://avatars2.githubusercontent.com/u/6182543?v=4","gravatar_id":"","url":"https://api.github.com/users/miguelespinoza","html_url":"https://github.com/miguelespinoza","followers_url":"https://api.github.com/users/miguelespinoza/followers","following_url":"https://api.github.com/users/miguelespinoza/following{/other_user}","gists_url":"https://api.github.com/users/miguelespinoza/gists{/gist_id}","starred_url":"https://api.github.com/users/miguelespinoza/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/miguelespinoza/subscriptions","organizations_url":"https://api.github.com/users/miguelespinoza/orgs","repos_url":"https://api.github.com/users/miguelespinoza/repos","events_url":"https://api.github.com/users/miguelespinoza/events{/privacy}","received_events_url":"https://api.github.com/users/miguelespinoza/received_events","type":"User","site_admin":false},"created_at":"2018-03-27T14:36:34Z","updated_at":"2018-03-27T14:36:34Z","author_association":"NONE","body":"<img width=\"566\" alt=\"screen shot 2018-03-27 at 10 34 25 am\" src=\"https://user-images.githubusercontent.com/6182543/37974263-79403bea-31aa-11e8-8983-e8da112f1d58.png\">\r\n\r\nDid some digging and this is what the generated structure looks like.\r\n"}}
{"actor":{"display_login":"miguelespinoza"}}