{"action":"created","issue":{"url":"https://api.github.com/repos/shapesecurity/shift-parser-js/issues/25","labels_url":"https://api.github.com/repos/shapesecurity/shift-parser-js/issues/25/labels{/name}","comments_url":"https://api.github.com/repos/shapesecurity/shift-parser-js/issues/25/comments","events_url":"https://api.github.com/repos/shapesecurity/shift-parser-js/issues/25/events","html_url":"https://github.com/shapesecurity/shift-parser-js/issues/25","id":54948100,"number":25,"title":"ES6: modules: imports + exports + parseModule interface","user":{"login":"michaelficarra","id":218840,"avatar_url":"https://avatars.githubusercontent.com/u/218840?v=3","gravatar_id":"","url":"https://api.github.com/users/michaelficarra","html_url":"https://github.com/michaelficarra","followers_url":"https://api.github.com/users/michaelficarra/followers","following_url":"https://api.github.com/users/michaelficarra/following{/other_user}","gists_url":"https://api.github.com/users/michaelficarra/gists{/gist_id}","starred_url":"https://api.github.com/users/michaelficarra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michaelficarra/subscriptions","organizations_url":"https://api.github.com/users/michaelficarra/orgs","repos_url":"https://api.github.com/users/michaelficarra/repos","events_url":"https://api.github.com/users/michaelficarra/events{/privacy}","received_events_url":"https://api.github.com/users/michaelficarra/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/shapesecurity/shift-parser-js/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":{"login":"michaelficarra","id":218840,"avatar_url":"https://avatars.githubusercontent.com/u/218840?v=3","gravatar_id":"","url":"https://api.github.com/users/michaelficarra","html_url":"https://github.com/michaelficarra","followers_url":"https://api.github.com/users/michaelficarra/followers","following_url":"https://api.github.com/users/michaelficarra/following{/other_user}","gists_url":"https://api.github.com/users/michaelficarra/gists{/gist_id}","starred_url":"https://api.github.com/users/michaelficarra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michaelficarra/subscriptions","organizations_url":"https://api.github.com/users/michaelficarra/orgs","repos_url":"https://api.github.com/users/michaelficarra/repos","events_url":"https://api.github.com/users/michaelficarra/events{/privacy}","received_events_url":"https://api.github.com/users/michaelficarra/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/shapesecurity/shift-parser-js/milestones/1","labels_url":"https://api.github.com/repos/shapesecurity/shift-parser-js/milestones/1/labels","id":926562,"number":1,"title":"ES6","description":"","creator":{"login":"michaelficarra","id":218840,"avatar_url":"https://avatars.githubusercontent.com/u/218840?v=3","gravatar_id":"","url":"https://api.github.com/users/michaelficarra","html_url":"https://github.com/michaelficarra","followers_url":"https://api.github.com/users/michaelficarra/followers","following_url":"https://api.github.com/users/michaelficarra/following{/other_user}","gists_url":"https://api.github.com/users/michaelficarra/gists{/gist_id}","starred_url":"https://api.github.com/users/michaelficarra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michaelficarra/subscriptions","organizations_url":"https://api.github.com/users/michaelficarra/orgs","repos_url":"https://api.github.com/users/michaelficarra/repos","events_url":"https://api.github.com/users/michaelficarra/events{/privacy}","received_events_url":"https://api.github.com/users/michaelficarra/received_events","type":"User","site_admin":false},"open_issues":7,"closed_issues":13,"state":"open","created_at":"2015-01-08T03:39:20Z","updated_at":"2015-02-21T05:23:22Z","due_on":"2015-02-23T08:00:00Z","closed_at":null},"comments":1,"created_at":"2015-01-20T22:13:46Z","updated_at":"2015-02-21T05:23:22Z","closed_at":"2015-02-21T05:23:22Z","body":"# [15.2](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-modules) Modules\r\n\r\n### Syntax\r\n\r\n<pre>\r\nModule :\r\n  ModuleBody<sub>opt</sub>\r\n\r\nModuleBody :\r\n  ModuleItemList\r\n\r\nModuleItemList :\r\n  ModuleItem\r\n  ModuleItemList ModuleItem\r\n\r\nModuleItem :\r\n  ImportDeclaration\r\n  ExportDeclaration\r\n  StatementListItem\r\n</pre>\r\n\r\n### Static Semantics: Early Errors\r\n\r\n```\r\nModuleBody : ModuleItemList\r\n```\r\n\r\n- It is a Syntax Error if the LexicallyDeclaredNames of ModuleItemList contains any duplicate\r\nentries.\r\n- It is a Syntax Error if any element of the LexicallyDeclaredNames of ModuleItemList also occurs in\r\nthe VarDeclaredNames of ModuleItemList.\r\n- It is a Syntax Error if the ExportedNames of ModuleItemList contains any duplicate entries.\r\n- It is a Syntax Error if any element of the ExportedBindings of ModuleItemList do not also occurs in\r\neither the VarDeclaredNames of ModuleItemList, or the LexicallyDeclaredNames of\r\nModuleItemList.\r\n- It is a Syntax Error if ModuleItemList Contains super.\r\n- It is a Syntax Error if ModuleItemList Contains MetaProperty\r\n- It is a Syntax Error if ContainsDuplicateLabels of ModuleItemList with argument « » is true.\r\n- It is a Syntax Error if ContainsUndefinedBreakTarget of ModuleItemList with argument « » is true.© Ecma International 2014 321\r\n- It is a Syntax Error if ContainsUndefinedContineTarget of ModuleItemList with arguments « » and « »\r\nis true.\r\n\r\n# [15.2.2](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-imports) Imports\r\n\r\nextracted as #75.\r\n\r\n# [15.2.3](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-exports) Exports\r\n\r\n### Syntax\r\n\r\n<pre>\r\nExportDeclaration :\r\n  export * FromClause ;\r\n  export ExportClause FromClause ;\r\n  export ExportClause ;\r\n  export VariableStatement\r\n  export Declaration\r\n  export default HoistableDeclaration[Default]\r\n  export default ClassDeclaration[Default]\r\n  export default [lookahead ∉ {function, class}] AssignmentExpression[In] ;\r\n\r\nExportClause :\r\n  { }\r\n  { ExportsList }\r\n  { ExportsList , }\r\n\r\nExportsList :\r\n  ExportSpecifier\r\n  ExportsList , ExportSpecifier\r\n\r\nExportSpecifier :\r\n  IdentifierName\r\n  IdentifierName as IdentifierName\r\n</pre>\r\n\r\n### Static Semantics: Early Errors\r\n\r\n```\r\nExportDeclaration : export ExportClause ;\r\n```\r\n\r\n- For each IdentifierName n in ReferencedBindings of ExportClause : It is a Syntax Error if StringValue of n is a ReservedWord or if the StringValue of n is one of: \"implements\", \"interface\", \"let\", \"package\", \"private\", \"protected\", \"public\", \"static\", or \"yield\".\r\n\r\n**NOTE** The above rule means that each ReferencedBindings of ExportClause is treated as an IdentifierReference."},"comment":{"url":"https://api.github.com/repos/shapesecurity/shift-parser-js/issues/comments/75356740","html_url":"https://github.com/shapesecurity/shift-parser-js/issues/25#issuecomment-75356740","issue_url":"https://api.github.com/repos/shapesecurity/shift-parser-js/issues/25","id":75356740,"user":{"login":"ikarienator","id":1472048,"avatar_url":"https://avatars.githubusercontent.com/u/1472048?v=3","gravatar_id":"","url":"https://api.github.com/users/ikarienator","html_url":"https://github.com/ikarienator","followers_url":"https://api.github.com/users/ikarienator/followers","following_url":"https://api.github.com/users/ikarienator/following{/other_user}","gists_url":"https://api.github.com/users/ikarienator/gists{/gist_id}","starred_url":"https://api.github.com/users/ikarienator/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ikarienator/subscriptions","organizations_url":"https://api.github.com/users/ikarienator/orgs","repos_url":"https://api.github.com/users/ikarienator/repos","events_url":"https://api.github.com/users/ikarienator/events{/privacy}","received_events_url":"https://api.github.com/users/ikarienator/received_events","type":"User","site_admin":false},"created_at":"2015-02-21T05:23:22Z","updated_at":"2015-02-21T05:23:22Z","body":"Close as separate issues are created."}}