{"action":"created","issue":{"url":"https://api.github.com/repos/ceylon/ceylon.language/issues/460","labels_url":"https://api.github.com/repos/ceylon/ceylon.language/issues/460/labels{/name}","comments_url":"https://api.github.com/repos/ceylon/ceylon.language/issues/460/comments","events_url":"https://api.github.com/repos/ceylon/ceylon.language/issues/460/events","html_url":"https://github.com/ceylon/ceylon.language/issues/460","id":33905588,"number":460,"title":"Add `AnnotatedDeclaration.isAnnotated(ClosedType<Annotation> annotations)`","user":{"login":"FroMage","id":179265,"avatar_url":"https://avatars.githubusercontent.com/u/179265?v=3","gravatar_id":"","url":"https://api.github.com/users/FroMage","html_url":"https://github.com/FroMage","followers_url":"https://api.github.com/users/FroMage/followers","following_url":"https://api.github.com/users/FroMage/following{/other_user}","gists_url":"https://api.github.com/users/FroMage/gists{/gist_id}","starred_url":"https://api.github.com/users/FroMage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FroMage/subscriptions","organizations_url":"https://api.github.com/users/FroMage/orgs","repos_url":"https://api.github.com/users/FroMage/repos","events_url":"https://api.github.com/users/FroMage/events{/privacy}","received_events_url":"https://api.github.com/users/FroMage/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ceylon/ceylon.language/labels/FEATURE","name":"FEATURE","color":"02e10c"},{"url":"https://api.github.com/repos/ceylon/ceylon.language/labels/Metamodel","name":"Metamodel","color":"006b75"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/ceylon/ceylon.language/milestones/10","html_url":"https://github.com/ceylon/ceylon.language/milestones/1.2","labels_url":"https://api.github.com/repos/ceylon/ceylon.language/milestones/10/labels","id":807571,"number":10,"title":"1.2","description":"","creator":{"login":"gavinking","id":579974,"avatar_url":"https://avatars.githubusercontent.com/u/579974?v=3","gravatar_id":"","url":"https://api.github.com/users/gavinking","html_url":"https://github.com/gavinking","followers_url":"https://api.github.com/users/gavinking/followers","following_url":"https://api.github.com/users/gavinking/following{/other_user}","gists_url":"https://api.github.com/users/gavinking/gists{/gist_id}","starred_url":"https://api.github.com/users/gavinking/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gavinking/subscriptions","organizations_url":"https://api.github.com/users/gavinking/orgs","repos_url":"https://api.github.com/users/gavinking/repos","events_url":"https://api.github.com/users/gavinking/events{/privacy}","received_events_url":"https://api.github.com/users/gavinking/received_events","type":"User","site_admin":false},"open_issues":19,"closed_issues":49,"state":"open","created_at":"2014-09-30T00:35:13Z","updated_at":"2015-03-19T11:39:36Z","due_on":"2014-10-28T23:00:00Z","closed_at":null},"comments":2,"created_at":"2014-05-20T16:31:23Z","updated_at":"2015-03-19T13:06:51Z","closed_at":null,"body":"Should be cheaper than getting the annotation instances."},"comment":{"url":"https://api.github.com/repos/ceylon/ceylon.language/issues/comments/83554274","html_url":"https://github.com/ceylon/ceylon.language/issues/460#issuecomment-83554274","issue_url":"https://api.github.com/repos/ceylon/ceylon.language/issues/460","id":83554274,"user":{"login":"tombentley","id":879487,"avatar_url":"https://avatars.githubusercontent.com/u/879487?v=3","gravatar_id":"","url":"https://api.github.com/users/tombentley","html_url":"https://github.com/tombentley","followers_url":"https://api.github.com/users/tombentley/followers","following_url":"https://api.github.com/users/tombentley/following{/other_user}","gists_url":"https://api.github.com/users/tombentley/gists{/gist_id}","starred_url":"https://api.github.com/users/tombentley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tombentley/subscriptions","organizations_url":"https://api.github.com/users/tombentley/orgs","repos_url":"https://api.github.com/users/tombentley/repos","events_url":"https://api.github.com/users/tombentley/events{/privacy}","received_events_url":"https://api.github.com/users/tombentley/received_events","type":"User","site_admin":false},"created_at":"2015-03-19T13:06:51Z","updated_at":"2015-03-19T13:06:51Z","body":"`AnnotatedDeclaration` does not include `Import` (which is not a `Declaration`), so maybe putting it on `Annotated` makes more sense? (OTOH, it's AnnotatedDeclaration which currently has the `annotations()` method).\r\n\r\nFor that existing `annotations<out Annotation>()` method we pass the annotation type as a type argument, not as a type model value argument. So for consistency maybe it should be \r\n\r\n    import ceylon.language{AnnotationType = Annotation}\r\n    shared interface Annotated {\r\n        shared formal Boolean isAnnotated<Annotation>() \r\n            given Annotation satisfies AnnotationType;\r\n    }\r\n\r\n?"}}