{"action":"created","comment":{"url":"https://api.github.com/repos/flix/flix/pulls/comments/142428287","pull_request_review_id":66787769,"id":142428287,"diff_hunk":"@@ -64,8 +66,28 @@ object GenContinuationInterfaces {\n     // We can use `getErasedType` to map it down into one of the primitive types or to Object.\n     //\n \n+    // Class visitor\n+    val visitor = new ClassWriter(ClassWriter.COMPUTE_FRAMES){\n+      override def getCommonSuperClass(tpe1: String, tpe2: String) : String = {\n+        JvmType.Obj.name.toInternalName\n+      }\n+    }\n+\n+    // Class header\n+    visitor.visit(JvmOps.JavaVersion, ACC_PUBLIC + ACC_ABSTRACT + ACC_INTERFACE, interfaceType.name.toInternalName, null,\n+      JvmType.Obj.name.toInternalName, null)\n+\n+    // `getResult()` method\n+    val getResultMethod = visitor.visitMethod(ACC_PUBLIC + ACC_ABSTRACT, \"getResult\", s\"()${resultType.toDescriptor}\", null, null)","path":"main/src/ca/uwaterloo/flix/language/phase/jvm/GenContinuationInterfaces.scala","position":25,"original_position":25,"commit_id":"263e9cf1fdeec33e61e87def665e1ed7d9beb992","original_commit_id":"263e9cf1fdeec33e61e87def665e1ed7d9beb992","user":{"login":"FlaminGuy","id":7500469,"avatar_url":"https://avatars3.githubusercontent.com/u/7500469?v=4","gravatar_id":"","url":"https://api.github.com/users/FlaminGuy","html_url":"https://github.com/FlaminGuy","followers_url":"https://api.github.com/users/FlaminGuy/followers","following_url":"https://api.github.com/users/FlaminGuy/following{/other_user}","gists_url":"https://api.github.com/users/FlaminGuy/gists{/gist_id}","starred_url":"https://api.github.com/users/FlaminGuy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FlaminGuy/subscriptions","organizations_url":"https://api.github.com/users/FlaminGuy/orgs","repos_url":"https://api.github.com/users/FlaminGuy/repos","events_url":"https://api.github.com/users/FlaminGuy/events{/privacy}","received_events_url":"https://api.github.com/users/FlaminGuy/received_events","type":"User","site_admin":false},"body":"Descriptor of a function is different than a descriptor of an object. `()` means there is no argument for the method and what comes after is the descriptor of the return type. It's basically \r\n```\r\n\"(\" ++ args.map(_.toDescriptor).mkString ++ \")\" ++ resultType.toDescriptor\r\n```","created_at":"2017-10-03T15:01:20Z","updated_at":"2017-10-03T15:01:20Z","html_url":"https://github.com/flix/flix/pull/566#discussion_r142428287","pull_request_url":"https://api.github.com/repos/flix/flix/pulls/566","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/flix/flix/pulls/comments/142428287"},"html":{"href":"https://github.com/flix/flix/pull/566#discussion_r142428287"},"pull_request":{"href":"https://api.github.com/repos/flix/flix/pulls/566"}},"in_reply_to_id":142335054},"pull_request":{"url":"https://api.github.com/repos/flix/flix/pulls/566","id":144333912,"html_url":"https://github.com/flix/flix/pull/566","diff_url":"https://github.com/flix/flix/pull/566.diff","patch_url":"https://github.com/flix/flix/pull/566.patch","issue_url":"https://api.github.com/repos/flix/flix/issues/566","number":566,"state":"open","locked":false,"title":"JvmBackend implementation ","user":{"login":"FlaminGuy","id":7500469,"avatar_url":"https://avatars3.githubusercontent.com/u/7500469?v=4","gravatar_id":"","url":"https://api.github.com/users/FlaminGuy","html_url":"https://github.com/FlaminGuy","followers_url":"https://api.github.com/users/FlaminGuy/followers","following_url":"https://api.github.com/users/FlaminGuy/following{/other_user}","gists_url":"https://api.github.com/users/FlaminGuy/gists{/gist_id}","starred_url":"https://api.github.com/users/FlaminGuy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FlaminGuy/subscriptions","organizations_url":"https://api.github.com/users/FlaminGuy/orgs","repos_url":"https://api.github.com/users/FlaminGuy/repos","events_url":"https://api.github.com/users/FlaminGuy/events{/privacy}","received_events_url":"https://api.github.com/users/FlaminGuy/received_events","type":"User","site_admin":false},"body":"So far, I have implemented GenContext, GenContinuationInterfaces, GenNamespaces and GenFunctionInterfaces.     \r\nThese are obviously not tested since JvmOps isn't fully implemented. ","created_at":"2017-10-03T04:22:47Z","updated_at":"2017-10-03T15:01:20Z","closed_at":null,"merged_at":null,"merge_commit_sha":"06662466b8b73b8618e115ab630eff752ac041c9","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/flix/flix/pulls/566/commits","review_comments_url":"https://api.github.com/repos/flix/flix/pulls/566/comments","review_comment_url":"https://api.github.com/repos/flix/flix/pulls/comments{/number}","comments_url":"https://api.github.com/repos/flix/flix/issues/566/comments","statuses_url":"https://api.github.com/repos/flix/flix/statuses/263e9cf1fdeec33e61e87def665e1ed7d9beb992","head":{"label":"FlaminGuy:Interfaces","ref":"Interfaces","sha":"263e9cf1fdeec33e61e87def665e1ed7d9beb992","user":{"login":"FlaminGuy","id":7500469,"avatar_url":"https://avatars3.githubusercontent.com/u/7500469?v=4","gravatar_id":"","url":"https://api.github.com/users/FlaminGuy","html_url":"https://github.com/FlaminGuy","followers_url":"https://api.github.com/users/FlaminGuy/followers","following_url":"https://api.github.com/users/FlaminGuy/following{/other_user}","gists_url":"https://api.github.com/users/FlaminGuy/gists{/gist_id}","starred_url":"https://api.github.com/users/FlaminGuy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FlaminGuy/subscriptions","organizations_url":"https://api.github.com/users/FlaminGuy/orgs","repos_url":"https://api.github.com/users/FlaminGuy/repos","events_url":"https://api.github.com/users/FlaminGuy/events{/privacy}","received_events_url":"https://api.github.com/users/FlaminGuy/received_events","type":"User","site_admin":false},"repo":{"id":89948189,"name":"flix","full_name":"FlaminGuy/flix","owner":{"login":"FlaminGuy","id":7500469,"avatar_url":"https://avatars3.githubusercontent.com/u/7500469?v=4","gravatar_id":"","url":"https://api.github.com/users/FlaminGuy","html_url":"https://github.com/FlaminGuy","followers_url":"https://api.github.com/users/FlaminGuy/followers","following_url":"https://api.github.com/users/FlaminGuy/following{/other_user}","gists_url":"https://api.github.com/users/FlaminGuy/gists{/gist_id}","starred_url":"https://api.github.com/users/FlaminGuy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FlaminGuy/subscriptions","organizations_url":"https://api.github.com/users/FlaminGuy/orgs","repos_url":"https://api.github.com/users/FlaminGuy/repos","events_url":"https://api.github.com/users/FlaminGuy/events{/privacy}","received_events_url":"https://api.github.com/users/FlaminGuy/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/FlaminGuy/flix","description":"The Flix Programming Language","fork":true,"url":"https://api.github.com/repos/FlaminGuy/flix","forks_url":"https://api.github.com/repos/FlaminGuy/flix/forks","keys_url":"https://api.github.com/repos/FlaminGuy/flix/keys{/key_id}","collaborators_url":"https://api.github.com/repos/FlaminGuy/flix/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/FlaminGuy/flix/teams","hooks_url":"https://api.github.com/repos/FlaminGuy/flix/hooks","issue_events_url":"https://api.github.com/repos/FlaminGuy/flix/issues/events{/number}","events_url":"https://api.github.com/repos/FlaminGuy/flix/events","assignees_url":"https://api.github.com/repos/FlaminGuy/flix/assignees{/user}","branches_url":"https://api.github.com/repos/FlaminGuy/flix/branches{/branch}","tags_url":"https://api.github.com/repos/FlaminGuy/flix/tags","blobs_url":"https://api.github.com/repos/FlaminGuy/flix/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/FlaminGuy/flix/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/FlaminGuy/flix/git/refs{/sha}","trees_url":"https://api.github.com/repos/FlaminGuy/flix/git/trees{/sha}","statuses_url":"https://api.github.com/repos/FlaminGuy/flix/statuses/{sha}","languages_url":"https://api.github.com/repos/FlaminGuy/flix/languages","stargazers_url":"https://api.github.com/repos/FlaminGuy/flix/stargazers","contributors_url":"https://api.github.com/repos/FlaminGuy/flix/contributors","subscribers_url":"https://api.github.com/repos/FlaminGuy/flix/subscribers","subscription_url":"https://api.github.com/repos/FlaminGuy/flix/subscription","commits_url":"https://api.github.com/repos/FlaminGuy/flix/commits{/sha}","git_commits_url":"https://api.github.com/repos/FlaminGuy/flix/git/commits{/sha}","comments_url":"https://api.github.com/repos/FlaminGuy/flix/comments{/number}","issue_comment_url":"https://api.github.com/repos/FlaminGuy/flix/issues/comments{/number}","contents_url":"https://api.github.com/repos/FlaminGuy/flix/contents/{+path}","compare_url":"https://api.github.com/repos/FlaminGuy/flix/compare/{base}...{head}","merges_url":"https://api.github.com/repos/FlaminGuy/flix/merges","archive_url":"https://api.github.com/repos/FlaminGuy/flix/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/FlaminGuy/flix/downloads","issues_url":"https://api.github.com/repos/FlaminGuy/flix/issues{/number}","pulls_url":"https://api.github.com/repos/FlaminGuy/flix/pulls{/number}","milestones_url":"https://api.github.com/repos/FlaminGuy/flix/milestones{/number}","notifications_url":"https://api.github.com/repos/FlaminGuy/flix/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/FlaminGuy/flix/labels{/name}","releases_url":"https://api.github.com/repos/FlaminGuy/flix/releases{/id}","deployments_url":"https://api.github.com/repos/FlaminGuy/flix/deployments","created_at":"2017-05-01T17:57:24Z","updated_at":"2017-05-01T17:57:26Z","pushed_at":"2017-10-03T04:32:27Z","git_url":"git://github.com/FlaminGuy/flix.git","ssh_url":"git@github.com:FlaminGuy/flix.git","clone_url":"https://github.com/FlaminGuy/flix.git","svn_url":"https://github.com/FlaminGuy/flix","homepage":"http://flix.github.io","size":63364,"stargazers_count":0,"watchers_count":0,"language":"Scala","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"flix:master","ref":"master","sha":"1c021444aad2f0884db6d01b80c2a8bd94136576","user":{"login":"flix","id":16831634,"avatar_url":"https://avatars3.githubusercontent.com/u/16831634?v=4","gravatar_id":"","url":"https://api.github.com/users/flix","html_url":"https://github.com/flix","followers_url":"https://api.github.com/users/flix/followers","following_url":"https://api.github.com/users/flix/following{/other_user}","gists_url":"https://api.github.com/users/flix/gists{/gist_id}","starred_url":"https://api.github.com/users/flix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flix/subscriptions","organizations_url":"https://api.github.com/users/flix/orgs","repos_url":"https://api.github.com/users/flix/repos","events_url":"https://api.github.com/users/flix/events{/privacy}","received_events_url":"https://api.github.com/users/flix/received_events","type":"Organization","site_admin":false},"repo":{"id":37299718,"name":"flix","full_name":"flix/flix","owner":{"login":"flix","id":16831634,"avatar_url":"https://avatars3.githubusercontent.com/u/16831634?v=4","gravatar_id":"","url":"https://api.github.com/users/flix","html_url":"https://github.com/flix","followers_url":"https://api.github.com/users/flix/followers","following_url":"https://api.github.com/users/flix/following{/other_user}","gists_url":"https://api.github.com/users/flix/gists{/gist_id}","starred_url":"https://api.github.com/users/flix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flix/subscriptions","organizations_url":"https://api.github.com/users/flix/orgs","repos_url":"https://api.github.com/users/flix/repos","events_url":"https://api.github.com/users/flix/events{/privacy}","received_events_url":"https://api.github.com/users/flix/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/flix/flix","description":"The Flix Programming Language","fork":false,"url":"https://api.github.com/repos/flix/flix","forks_url":"https://api.github.com/repos/flix/flix/forks","keys_url":"https://api.github.com/repos/flix/flix/keys{/key_id}","collaborators_url":"https://api.github.com/repos/flix/flix/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/flix/flix/teams","hooks_url":"https://api.github.com/repos/flix/flix/hooks","issue_events_url":"https://api.github.com/repos/flix/flix/issues/events{/number}","events_url":"https://api.github.com/repos/flix/flix/events","assignees_url":"https://api.github.com/repos/flix/flix/assignees{/user}","branches_url":"https://api.github.com/repos/flix/flix/branches{/branch}","tags_url":"https://api.github.com/repos/flix/flix/tags","blobs_url":"https://api.github.com/repos/flix/flix/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/flix/flix/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/flix/flix/git/refs{/sha}","trees_url":"https://api.github.com/repos/flix/flix/git/trees{/sha}","statuses_url":"https://api.github.com/repos/flix/flix/statuses/{sha}","languages_url":"https://api.github.com/repos/flix/flix/languages","stargazers_url":"https://api.github.com/repos/flix/flix/stargazers","contributors_url":"https://api.github.com/repos/flix/flix/contributors","subscribers_url":"https://api.github.com/repos/flix/flix/subscribers","subscription_url":"https://api.github.com/repos/flix/flix/subscription","commits_url":"https://api.github.com/repos/flix/flix/commits{/sha}","git_commits_url":"https://api.github.com/repos/flix/flix/git/commits{/sha}","comments_url":"https://api.github.com/repos/flix/flix/comments{/number}","issue_comment_url":"https://api.github.com/repos/flix/flix/issues/comments{/number}","contents_url":"https://api.github.com/repos/flix/flix/contents/{+path}","compare_url":"https://api.github.com/repos/flix/flix/compare/{base}...{head}","merges_url":"https://api.github.com/repos/flix/flix/merges","archive_url":"https://api.github.com/repos/flix/flix/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/flix/flix/downloads","issues_url":"https://api.github.com/repos/flix/flix/issues{/number}","pulls_url":"https://api.github.com/repos/flix/flix/pulls{/number}","milestones_url":"https://api.github.com/repos/flix/flix/milestones{/number}","notifications_url":"https://api.github.com/repos/flix/flix/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/flix/flix/labels{/name}","releases_url":"https://api.github.com/repos/flix/flix/releases{/id}","deployments_url":"https://api.github.com/repos/flix/flix/deployments","created_at":"2015-06-12T03:20:35Z","updated_at":"2017-09-24T02:37:49Z","pushed_at":"2017-10-03T10:54:21Z","git_url":"git://github.com/flix/flix.git","ssh_url":"git@github.com:flix/flix.git","clone_url":"https://github.com/flix/flix.git","svn_url":"https://github.com/flix/flix","homepage":"http://flix.github.io","size":63249,"stargazers_count":138,"watchers_count":138,"language":"Scala","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":14,"mirror_url":null,"open_issues_count":102,"forks":14,"open_issues":102,"watchers":138,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/flix/flix/pulls/566"},"html":{"href":"https://github.com/flix/flix/pull/566"},"issue":{"href":"https://api.github.com/repos/flix/flix/issues/566"},"comments":{"href":"https://api.github.com/repos/flix/flix/issues/566/comments"},"review_comments":{"href":"https://api.github.com/repos/flix/flix/pulls/566/comments"},"review_comment":{"href":"https://api.github.com/repos/flix/flix/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/flix/flix/pulls/566/commits"},"statuses":{"href":"https://api.github.com/repos/flix/flix/statuses/263e9cf1fdeec33e61e87def665e1ed7d9beb992"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"FlaminGuy"}}