{"action":"created","issue":{"url":"https://api.github.com/repos/softdevteam/eco/issues/57","labels_url":"https://api.github.com/repos/softdevteam/eco/issues/57/labels{/name}","comments_url":"https://api.github.com/repos/softdevteam/eco/issues/57/comments","events_url":"https://api.github.com/repos/softdevteam/eco/issues/57/events","html_url":"https://github.com/softdevteam/eco/issues/57","id":119479882,"number":57,"title":"Implement support for extended PyHyp backtrace information.","user":{"login":"vext01","id":604955,"avatar_url":"https://avatars.githubusercontent.com/u/604955?v=3","gravatar_id":"","url":"https://api.github.com/users/vext01","html_url":"https://github.com/vext01","followers_url":"https://api.github.com/users/vext01/followers","following_url":"https://api.github.com/users/vext01/following{/other_user}","gists_url":"https://api.github.com/users/vext01/gists{/gist_id}","starred_url":"https://api.github.com/users/vext01/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vext01/subscriptions","organizations_url":"https://api.github.com/users/vext01/orgs","repos_url":"https://api.github.com/users/vext01/repos","events_url":"https://api.github.com/users/vext01/events{/privacy}","received_events_url":"https://api.github.com/users/vext01/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/softdevteam/eco/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":21,"created_at":"2015-11-30T12:12:08Z","updated_at":"2015-12-01T16:18:20Z","closed_at":null,"body":"The compilation functions used in PyHyp now accept additional arguments which allow the editor to feedback information which can later be used in the VM for backtraces. Although the VM could figure this stuff out itself at runtime, it is more convenient for the editor to supply this info as it already knows this ahead of time.\r\n\r\nFor the functions:\r\n * `compile_py_func_global` \r\n * `compile_py_func`\r\n * `compile_py_meth`\r\n * `compile_php_func`\r\n\r\neco should pass two additional arguments:\r\n * `filename` -- the filename in which the language box appears.\r\n * `line_offset` -- the line number in `filename` in which the language box appears.\r\n\r\nThis is required for the PyHyp paper.\r\n\r\nMany thanks"},"comment":{"url":"https://api.github.com/repos/softdevteam/eco/issues/comments/161018817","html_url":"https://github.com/softdevteam/eco/issues/57#issuecomment-161018817","issue_url":"https://api.github.com/repos/softdevteam/eco/issues/57","id":161018817,"user":{"login":"ptersilie","id":375552,"avatar_url":"https://avatars.githubusercontent.com/u/375552?v=3","gravatar_id":"","url":"https://api.github.com/users/ptersilie","html_url":"https://github.com/ptersilie","followers_url":"https://api.github.com/users/ptersilie/followers","following_url":"https://api.github.com/users/ptersilie/following{/other_user}","gists_url":"https://api.github.com/users/ptersilie/gists{/gist_id}","starred_url":"https://api.github.com/users/ptersilie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ptersilie/subscriptions","organizations_url":"https://api.github.com/users/ptersilie/orgs","repos_url":"https://api.github.com/users/ptersilie/repos","events_url":"https://api.github.com/users/ptersilie/events{/privacy}","received_events_url":"https://api.github.com/users/ptersilie/received_events","type":"User","site_admin":false},"created_at":"2015-12-01T16:18:19Z","updated_at":"2015-12-01T16:18:19Z","body":"Okay, so this program\r\n![newexport](https://cloud.githubusercontent.com/assets/375552/11506361/0808b4f6-9847-11e5-84d4-e0fbc125ada4.png)\r\n\r\ngives me this export:\r\n```\r\n<?php{\r\nclass X {\r\n\r\n    function test(){\r\n        print(12);\r\n    }\r\n    \r\n    \r\n\r\n    \r\n\r\n    \r\n}\r\ncompile_py_meth(\"X\", \"def x():\\n        print \\\"test\\\"\", \"/home/lukas/temp/pyhyp.eco\", 7);\r\ncompile_py_meth(\"X\", \"def another():\\n\\n        compile_php_func(\\\"\\\"\\\"\\nfunction test2(){\\n            return 12;\\n        }\\n\\\"\\\"\\\", \\\"/home/lukas/temp/pyhyp.eco\\\", 12)\\n        print \\\"another\\\"\", \"/home/lukas/temp/pyhyp.eco\", 10);\r\ncompile_py_meth(\"X\", \"def another2():\\n        pass\", \"/home/lukas/temp/pyhyp.eco\", 17);\r\n\r\ncompile_py_func_global(\"def globalone():\\n    pass\", \"/home/lukas/temp/pyhyp.eco\", 21);\r\n\r\n$s = compile_py_func(\"def bla():\\n    pass\", \"/home/lukas/temp/pyhyp.eco\", 24);;\r\n}?>\r\n```\r\n\r\nDoes that look sensible?"}}