{"action":"created","issue":{"url":"https://api.github.com/repos/estree/estree/issues/154","repository_url":"https://api.github.com/repos/estree/estree","labels_url":"https://api.github.com/repos/estree/estree/issues/154/labels{/name}","comments_url":"https://api.github.com/repos/estree/estree/issues/154/comments","events_url":"https://api.github.com/repos/estree/estree/issues/154/events","html_url":"https://github.com/estree/estree/issues/154","id":207135242,"number":154,"title":"Private Class Field representation","user":{"login":"loganfsmyth","id":132260,"avatar_url":"https://avatars.githubusercontent.com/u/132260?v=3","gravatar_id":"","url":"https://api.github.com/users/loganfsmyth","html_url":"https://github.com/loganfsmyth","followers_url":"https://api.github.com/users/loganfsmyth/followers","following_url":"https://api.github.com/users/loganfsmyth/following{/other_user}","gists_url":"https://api.github.com/users/loganfsmyth/gists{/gist_id}","starred_url":"https://api.github.com/users/loganfsmyth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/loganfsmyth/subscriptions","organizations_url":"https://api.github.com/users/loganfsmyth/orgs","repos_url":"https://api.github.com/users/loganfsmyth/repos","events_url":"https://api.github.com/users/loganfsmyth/events{/privacy}","received_events_url":"https://api.github.com/users/loganfsmyth/received_events","type":"User","site_admin":false},"labels":[{"id":177471413,"url":"https://api.github.com/repos/estree/estree/labels/experimental","name":"experimental","color":"fad8c7","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-02-13T06:46:57Z","updated_at":"2017-02-17T02:51:52Z","closed_at":null,"body":"Some discussion in https://github.com/babel/babylon/pull/260 currently, figured I'd raise it over here before we accept anything.\r\n\r\nCurrent proposal there being\r\n```\r\ninterface PrivateName <: Expression, Pattern {\r\n  type: \"PrivateName\";\r\n  name: string;\r\n}\r\n\r\ninterface ClassPrivateProperty <: Node {\r\n  type: \"ClassPrivateProperty\";\r\n  key: Identifier;\r\n  value: Expression;\r\n}\r\n\r\nextend interface ClassBody {\r\n  body: [ MethodDefinition | ClassPrivateProperty ]\r\n}\r\n```\r\n\r\nI'm not sure I love the duplication between `PrivateName` and `Identifier` so perhaps `name` could be an `Identifier` instead of a string.\r\n\r\nKeep in mind that both `this.#priv = 1234` and `#priv = 1234` are allowed, otherwise there'd be the potential for `MemberExpression` to just have a `private: boolean` property."},"comment":{"url":"https://api.github.com/repos/estree/estree/issues/comments/280534865","html_url":"https://github.com/estree/estree/issues/154#issuecomment-280534865","issue_url":"https://api.github.com/repos/estree/estree/issues/154","id":280534865,"user":{"login":"loganfsmyth","id":132260,"avatar_url":"https://avatars.githubusercontent.com/u/132260?v=3","gravatar_id":"","url":"https://api.github.com/users/loganfsmyth","html_url":"https://github.com/loganfsmyth","followers_url":"https://api.github.com/users/loganfsmyth/followers","following_url":"https://api.github.com/users/loganfsmyth/following{/other_user}","gists_url":"https://api.github.com/users/loganfsmyth/gists{/gist_id}","starred_url":"https://api.github.com/users/loganfsmyth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/loganfsmyth/subscriptions","organizations_url":"https://api.github.com/users/loganfsmyth/orgs","repos_url":"https://api.github.com/users/loganfsmyth/repos","events_url":"https://api.github.com/users/loganfsmyth/events{/privacy}","received_events_url":"https://api.github.com/users/loganfsmyth/received_events","type":"User","site_admin":false},"created_at":"2017-02-17T02:51:52Z","updated_at":"2017-02-17T02:51:52Z","body":"Babel appends \"Class\" I can only assume to avoid potential confusion between objects and classes. For ESTree I suggested it because PrivateProperty vs PublicProperty vs Property isn't necessarily obvious. I suppose we could also overload `kind` on `property` to include `public` and `private` for the class usecase.\r\n\r\nNo strong feelings really."}}
{"actor":{"display_login":"loganfsmyth"}}