{"action":"created","comment":{"url":"https://api.github.com/repos/nette/utils/pulls/comments/58612580","id":58612580,"diff_hunk":"@@ -0,0 +1,117 @@\n+<?php\n+\n+/**\n+ * Test: Nette\\Utils\\ObjectMixin::getMagicProperties()\n+ */\n+\n+use Nette\\Utils\\ObjectMixin;\n+use Tester\\Assert;\n+\n+\n+require __DIR__ . '/../bootstrap.php';\n+\n+\n+/**\n+ * @property $getter\n+ * @property $getter2 by ref\n+ * @property $setter\n+ * @property A\\B $both with typehint\n+ * @property $missing\n+ * @property $Upper\n+ * @property $cAse\n+ * @property $private\n+ * @property $protected\n+ * @property $static\n+ * @property-read $read\n+ * @property-write $write\n+ * @property-x $invalid\n+ * abc @property $invalid2\n+ */\n+class TestClass","path":"tests/Utils/ObjectMixin.getMagicProperites().phpt","position":30,"original_position":30,"commit_id":"c369f2269adda3d8c6eec4a59ff1dc49b0b01aa5","original_commit_id":"c369f2269adda3d8c6eec4a59ff1dc49b0b01aa5","user":{"login":"JanTvrdik","id":175109,"avatar_url":"https://avatars.githubusercontent.com/u/175109?v=3","gravatar_id":"","url":"https://api.github.com/users/JanTvrdik","html_url":"https://github.com/JanTvrdik","followers_url":"https://api.github.com/users/JanTvrdik/followers","following_url":"https://api.github.com/users/JanTvrdik/following{/other_user}","gists_url":"https://api.github.com/users/JanTvrdik/gists{/gist_id}","starred_url":"https://api.github.com/users/JanTvrdik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JanTvrdik/subscriptions","organizations_url":"https://api.github.com/users/JanTvrdik/orgs","repos_url":"https://api.github.com/users/JanTvrdik/repos","events_url":"https://api.github.com/users/JanTvrdik/events{/privacy}","received_events_url":"https://api.github.com/users/JanTvrdik/received_events","type":"User","site_admin":false},"body":"* You test property annotations without types (except for one case), even though in the wild types are almost always present. \r\n* We may even consider not supporting property annotations without types (`mixed` can be used if type is unknown) to encourage programmers to write the annotations properly.\r\n* You're missing edge case when `$this` is used as a type.","created_at":"2016-04-05T20:47:26Z","updated_at":"2016-04-05T20:47:29Z","html_url":"https://github.com/nette/utils/pull/105#discussion_r58612580","pull_request_url":"https://api.github.com/repos/nette/utils/pulls/105","_links":{"self":{"href":"https://api.github.com/repos/nette/utils/pulls/comments/58612580"},"html":{"href":"https://github.com/nette/utils/pull/105#discussion_r58612580"},"pull_request":{"href":"https://api.github.com/repos/nette/utils/pulls/105"}}},"pull_request":{"url":"https://api.github.com/repos/nette/utils/pulls/105","id":65168627,"html_url":"https://github.com/nette/utils/pull/105","diff_url":"https://github.com/nette/utils/pull/105.diff","patch_url":"https://github.com/nette/utils/pull/105.patch","issue_url":"https://api.github.com/repos/nette/utils/issues/105","number":105,"state":"open","locked":false,"title":"Nette\\Strict & StrictPlus [WIP]","user":{"login":"dg","id":194960,"avatar_url":"https://avatars.githubusercontent.com/u/194960?v=3","gravatar_id":"","url":"https://api.github.com/users/dg","html_url":"https://github.com/dg","followers_url":"https://api.github.com/users/dg/followers","following_url":"https://api.github.com/users/dg/following{/other_user}","gists_url":"https://api.github.com/users/dg/gists{/gist_id}","starred_url":"https://api.github.com/users/dg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dg/subscriptions","organizations_url":"https://api.github.com/users/dg/orgs","repos_url":"https://api.github.com/users/dg/repos","events_url":"https://api.github.com/users/dg/events{/privacy}","received_events_url":"https://api.github.com/users/dg/received_events","type":"User","site_admin":false},"body":"https://forum.nette.org/cs/25958-jak-se-vyporadat-s-nette-object (Czech)","created_at":"2016-04-04T15:54:01Z","updated_at":"2016-04-05T20:47:30Z","closed_at":null,"merged_at":null,"merge_commit_sha":"edff861f9ff9af4b9fe4c9eed0ec3b0a8bfc3861","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/nette/utils/pulls/105/commits","review_comments_url":"https://api.github.com/repos/nette/utils/pulls/105/comments","review_comment_url":"https://api.github.com/repos/nette/utils/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nette/utils/issues/105/comments","statuses_url":"https://api.github.com/repos/nette/utils/statuses/c369f2269adda3d8c6eec4a59ff1dc49b0b01aa5","head":{"label":"dg:strict","ref":"strict","sha":"c369f2269adda3d8c6eec4a59ff1dc49b0b01aa5","user":{"login":"dg","id":194960,"avatar_url":"https://avatars.githubusercontent.com/u/194960?v=3","gravatar_id":"","url":"https://api.github.com/users/dg","html_url":"https://github.com/dg","followers_url":"https://api.github.com/users/dg/followers","following_url":"https://api.github.com/users/dg/following{/other_user}","gists_url":"https://api.github.com/users/dg/gists{/gist_id}","starred_url":"https://api.github.com/users/dg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dg/subscriptions","organizations_url":"https://api.github.com/users/dg/orgs","repos_url":"https://api.github.com/users/dg/repos","events_url":"https://api.github.com/users/dg/events{/privacy}","received_events_url":"https://api.github.com/users/dg/received_events","type":"User","site_admin":false},"repo":{"id":18046042,"name":"nette-utils","full_name":"dg/nette-utils","owner":{"login":"dg","id":194960,"avatar_url":"https://avatars.githubusercontent.com/u/194960?v=3","gravatar_id":"","url":"https://api.github.com/users/dg","html_url":"https://github.com/dg","followers_url":"https://api.github.com/users/dg/followers","following_url":"https://api.github.com/users/dg/following{/other_user}","gists_url":"https://api.github.com/users/dg/gists{/gist_id}","starred_url":"https://api.github.com/users/dg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dg/subscriptions","organizations_url":"https://api.github.com/users/dg/orgs","repos_url":"https://api.github.com/users/dg/repos","events_url":"https://api.github.com/users/dg/events{/privacy}","received_events_url":"https://api.github.com/users/dg/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dg/nette-utils","description":"Nette Utility Classes","fork":true,"url":"https://api.github.com/repos/dg/nette-utils","forks_url":"https://api.github.com/repos/dg/nette-utils/forks","keys_url":"https://api.github.com/repos/dg/nette-utils/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dg/nette-utils/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dg/nette-utils/teams","hooks_url":"https://api.github.com/repos/dg/nette-utils/hooks","issue_events_url":"https://api.github.com/repos/dg/nette-utils/issues/events{/number}","events_url":"https://api.github.com/repos/dg/nette-utils/events","assignees_url":"https://api.github.com/repos/dg/nette-utils/assignees{/user}","branches_url":"https://api.github.com/repos/dg/nette-utils/branches{/branch}","tags_url":"https://api.github.com/repos/dg/nette-utils/tags","blobs_url":"https://api.github.com/repos/dg/nette-utils/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dg/nette-utils/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dg/nette-utils/git/refs{/sha}","trees_url":"https://api.github.com/repos/dg/nette-utils/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dg/nette-utils/statuses/{sha}","languages_url":"https://api.github.com/repos/dg/nette-utils/languages","stargazers_url":"https://api.github.com/repos/dg/nette-utils/stargazers","contributors_url":"https://api.github.com/repos/dg/nette-utils/contributors","subscribers_url":"https://api.github.com/repos/dg/nette-utils/subscribers","subscription_url":"https://api.github.com/repos/dg/nette-utils/subscription","commits_url":"https://api.github.com/repos/dg/nette-utils/commits{/sha}","git_commits_url":"https://api.github.com/repos/dg/nette-utils/git/commits{/sha}","comments_url":"https://api.github.com/repos/dg/nette-utils/comments{/number}","issue_comment_url":"https://api.github.com/repos/dg/nette-utils/issues/comments{/number}","contents_url":"https://api.github.com/repos/dg/nette-utils/contents/{+path}","compare_url":"https://api.github.com/repos/dg/nette-utils/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dg/nette-utils/merges","archive_url":"https://api.github.com/repos/dg/nette-utils/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dg/nette-utils/downloads","issues_url":"https://api.github.com/repos/dg/nette-utils/issues{/number}","pulls_url":"https://api.github.com/repos/dg/nette-utils/pulls{/number}","milestones_url":"https://api.github.com/repos/dg/nette-utils/milestones{/number}","notifications_url":"https://api.github.com/repos/dg/nette-utils/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dg/nette-utils/labels{/name}","releases_url":"https://api.github.com/repos/dg/nette-utils/releases{/id}","deployments_url":"https://api.github.com/repos/dg/nette-utils/deployments","created_at":"2014-03-23T23:12:26Z","updated_at":"2015-02-25T18:46:01Z","pushed_at":"2016-04-05T19:44:29Z","git_url":"git://github.com/dg/nette-utils.git","ssh_url":"git@github.com:dg/nette-utils.git","clone_url":"https://github.com/dg/nette-utils.git","svn_url":"https://github.com/dg/nette-utils","homepage":"","size":991,"stargazers_count":0,"watchers_count":0,"language":"PHP","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"nette:master","ref":"master","sha":"cf3bb5e487e57776103828d6b5ad2a446fcdf17d","user":{"login":"nette","id":99965,"avatar_url":"https://avatars.githubusercontent.com/u/99965?v=3","gravatar_id":"","url":"https://api.github.com/users/nette","html_url":"https://github.com/nette","followers_url":"https://api.github.com/users/nette/followers","following_url":"https://api.github.com/users/nette/following{/other_user}","gists_url":"https://api.github.com/users/nette/gists{/gist_id}","starred_url":"https://api.github.com/users/nette/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nette/subscriptions","organizations_url":"https://api.github.com/users/nette/orgs","repos_url":"https://api.github.com/users/nette/repos","events_url":"https://api.github.com/users/nette/events{/privacy}","received_events_url":"https://api.github.com/users/nette/received_events","type":"Organization","site_admin":false},"repo":{"id":17838324,"name":"utils","full_name":"nette/utils","owner":{"login":"nette","id":99965,"avatar_url":"https://avatars.githubusercontent.com/u/99965?v=3","gravatar_id":"","url":"https://api.github.com/users/nette","html_url":"https://github.com/nette","followers_url":"https://api.github.com/users/nette/followers","following_url":"https://api.github.com/users/nette/following{/other_user}","gists_url":"https://api.github.com/users/nette/gists{/gist_id}","starred_url":"https://api.github.com/users/nette/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nette/subscriptions","organizations_url":"https://api.github.com/users/nette/orgs","repos_url":"https://api.github.com/users/nette/repos","events_url":"https://api.github.com/users/nette/events{/privacy}","received_events_url":"https://api.github.com/users/nette/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/nette/utils","description":"Nette Utilities and Core Classes","fork":false,"url":"https://api.github.com/repos/nette/utils","forks_url":"https://api.github.com/repos/nette/utils/forks","keys_url":"https://api.github.com/repos/nette/utils/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nette/utils/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nette/utils/teams","hooks_url":"https://api.github.com/repos/nette/utils/hooks","issue_events_url":"https://api.github.com/repos/nette/utils/issues/events{/number}","events_url":"https://api.github.com/repos/nette/utils/events","assignees_url":"https://api.github.com/repos/nette/utils/assignees{/user}","branches_url":"https://api.github.com/repos/nette/utils/branches{/branch}","tags_url":"https://api.github.com/repos/nette/utils/tags","blobs_url":"https://api.github.com/repos/nette/utils/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nette/utils/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nette/utils/git/refs{/sha}","trees_url":"https://api.github.com/repos/nette/utils/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nette/utils/statuses/{sha}","languages_url":"https://api.github.com/repos/nette/utils/languages","stargazers_url":"https://api.github.com/repos/nette/utils/stargazers","contributors_url":"https://api.github.com/repos/nette/utils/contributors","subscribers_url":"https://api.github.com/repos/nette/utils/subscribers","subscription_url":"https://api.github.com/repos/nette/utils/subscription","commits_url":"https://api.github.com/repos/nette/utils/commits{/sha}","git_commits_url":"https://api.github.com/repos/nette/utils/git/commits{/sha}","comments_url":"https://api.github.com/repos/nette/utils/comments{/number}","issue_comment_url":"https://api.github.com/repos/nette/utils/issues/comments{/number}","contents_url":"https://api.github.com/repos/nette/utils/contents/{+path}","compare_url":"https://api.github.com/repos/nette/utils/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nette/utils/merges","archive_url":"https://api.github.com/repos/nette/utils/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nette/utils/downloads","issues_url":"https://api.github.com/repos/nette/utils/issues{/number}","pulls_url":"https://api.github.com/repos/nette/utils/pulls{/number}","milestones_url":"https://api.github.com/repos/nette/utils/milestones{/number}","notifications_url":"https://api.github.com/repos/nette/utils/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nette/utils/labels{/name}","releases_url":"https://api.github.com/repos/nette/utils/releases{/id}","deployments_url":"https://api.github.com/repos/nette/utils/deployments","created_at":"2014-03-17T18:14:28Z","updated_at":"2016-03-07T20:34:58Z","pushed_at":"2016-04-05T19:44:29Z","git_url":"git://github.com/nette/utils.git","ssh_url":"git@github.com:nette/utils.git","clone_url":"https://github.com/nette/utils.git","svn_url":"https://github.com/nette/utils","homepage":"https://nette.org","size":1247,"stargazers_count":79,"watchers_count":79,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":55,"mirror_url":null,"open_issues_count":18,"forks":55,"open_issues":18,"watchers":79,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nette/utils/pulls/105"},"html":{"href":"https://github.com/nette/utils/pull/105"},"issue":{"href":"https://api.github.com/repos/nette/utils/issues/105"},"comments":{"href":"https://api.github.com/repos/nette/utils/issues/105/comments"},"review_comments":{"href":"https://api.github.com/repos/nette/utils/pulls/105/comments"},"review_comment":{"href":"https://api.github.com/repos/nette/utils/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nette/utils/pulls/105/commits"},"statuses":{"href":"https://api.github.com/repos/nette/utils/statuses/c369f2269adda3d8c6eec4a59ff1dc49b0b01aa5"}}}}