{"action":"created","issue":{"url":"https://api.github.com/repos/dart-lang/dart2js_info/issues/12","labels_url":"https://api.github.com/repos/dart-lang/dart2js_info/issues/12/labels{/name}","comments_url":"https://api.github.com/repos/dart-lang/dart2js_info/issues/12/comments","events_url":"https://api.github.com/repos/dart-lang/dart2js_info/issues/12/events","html_url":"https://github.com/dart-lang/dart2js_info/issues/12","id":111917319,"number":12,"title":"ensure all elements can be identified and map uniquely and easily","user":{"login":"sigmundch","id":2049220,"avatar_url":"https://avatars.githubusercontent.com/u/2049220?v=3","gravatar_id":"","url":"https://api.github.com/users/sigmundch","html_url":"https://github.com/sigmundch","followers_url":"https://api.github.com/users/sigmundch/followers","following_url":"https://api.github.com/users/sigmundch/following{/other_user}","gists_url":"https://api.github.com/users/sigmundch/gists{/gist_id}","starred_url":"https://api.github.com/users/sigmundch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sigmundch/subscriptions","organizations_url":"https://api.github.com/users/sigmundch/orgs","repos_url":"https://api.github.com/users/sigmundch/repos","events_url":"https://api.github.com/users/sigmundch/events{/privacy}","received_events_url":"https://api.github.com/users/sigmundch/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-10-16T21:51:31Z","updated_at":"2015-10-16T22:06:05Z","closed_at":null,"body":"even though we have ids, the ids are not stable across compiles. Besides the entrypoint, we don't have a uuid that easily maps from one run of the tool to another.\r\n\r\nNote for example that (longName)[1] is not unique either under these circumstances:\r\n  * when info parent links are not connected all the way up to a library (this might be an issue with some closures today)\r\n  * when there are setter/getter pairs => currently they both have the same long name. Other than some heuristics based on the parameter length, and a prefix of the generated code, we don't have a way to identify them.\r\n\r\n[1]: https://github.com/dart-lang/dart2js_info/blob/a6bdb61f8feaaed9b50c330e72bc035271fb6e0f/lib/src/util.dart#L50"},"comment":{"url":"https://api.github.com/repos/dart-lang/dart2js_info/issues/comments/148847293","html_url":"https://github.com/dart-lang/dart2js_info/issues/12#issuecomment-148847293","issue_url":"https://api.github.com/repos/dart-lang/dart2js_info/issues/12","id":148847293,"user":{"login":"sigmundch","id":2049220,"avatar_url":"https://avatars.githubusercontent.com/u/2049220?v=3","gravatar_id":"","url":"https://api.github.com/users/sigmundch","html_url":"https://github.com/sigmundch","followers_url":"https://api.github.com/users/sigmundch/followers","following_url":"https://api.github.com/users/sigmundch/following{/other_user}","gists_url":"https://api.github.com/users/sigmundch/gists{/gist_id}","starred_url":"https://api.github.com/users/sigmundch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sigmundch/subscriptions","organizations_url":"https://api.github.com/users/sigmundch/orgs","repos_url":"https://api.github.com/users/sigmundch/repos","events_url":"https://api.github.com/users/sigmundch/events{/privacy}","received_events_url":"https://api.github.com/users/sigmundch/received_events","type":"User","site_admin":false},"created_at":"2015-10-16T22:06:05Z","updated_at":"2015-10-16T22:06:05Z","body":"also - inlined setters are no longer identifiable that way. One possible solution here is to include the signature of the arguments in the uuid, similar to the unique names we pick in the generated code to invoke that function."}}