{"action":"created","comment":{"url":"https://api.github.com/repos/dotnet-state-machine/stateless/pulls/comments/108129083","pull_request_review_id":29139817,"id":108129083,"diff_hunk":"@@ -1,52 +1,18 @@\n-﻿using System;\n-\n-namespace Stateless.Reflection\n+﻿namespace Stateless.Reflection\n {\n     /// <summary>\n-    /// Describes a transition that can be initiated from a trigger.\n+    /// \n     /// </summary>\n-    public class TransitionInfo\n+    public abstract class TransitionInfo\n     {\n-        internal static TransitionInfo CreateTransitionInfo<TState, TTrigger>(TTrigger trigger, StateMachine<TState, TTrigger>.TransitioningTriggerBehaviour behavior, Func<TState, StateInfo> lookupState)\n-        {\n-            var transition = new TransitionInfo\n-            {\n-                Trigger = new TriggerInfo(trigger, trigger.GetType()),\n-                DestinationState = lookupState(behavior.Destination),\n-                GuardDescription = string.IsNullOrWhiteSpace(behavior.GuardsDescriptions) ? null : behavior.GuardsDescriptions\n-            };\n-\n-            return transition;\n-        }\n-\n-        internal static TransitionInfo CreateInternalTransitionInfo<TState, TTrigger>(TTrigger trigger, StateMachine<TState, TTrigger>.InternalTriggerBehaviour behavior, TState destination, Func<TState, StateInfo> lookupState)\n-        {\n-            var transition = new TransitionInfo\n-            {\n-                Trigger = new TriggerInfo(trigger, typeof(TTrigger)),\n-                DestinationState = lookupState(destination),\n-                GuardDescription = string.IsNullOrWhiteSpace(behavior.GuardsDescriptions) ? null : behavior.GuardsDescriptions\n-            };\n-\n-            return transition;\n-        }\n-\n-        private TransitionInfo() { }\n-\n         /// <summary>\n         /// The trigger whose firing resulted in this transition.\n         /// </summary>\n-        public TriggerInfo Trigger { get; private set; }\n-\n-        /// <summary>\n-        /// The state that will be transitioned into on activation.\n-        /// </summary>\n-        public StateInfo DestinationState { get; private set; }\n-\n+        public TriggerInfo Trigger { get; internal set; }\n \n         /// <summary>\n         /// Description of provided guard clause, if any.\n         /// </summary>\n-        public string GuardDescription { get; private set; }\n+        public string GuardDescription { get; internal set; }","path":"src/Stateless/Reflection/TransitionInfo.cs","position":55,"original_position":55,"commit_id":"62a1a8111f32e0c079bbad177d7750e074dbe431","original_commit_id":"62a1a8111f32e0c079bbad177d7750e074dbe431","user":{"login":"nblumhardt","id":342712,"avatar_url":"https://avatars1.githubusercontent.com/u/342712?v=3","gravatar_id":"","url":"https://api.github.com/users/nblumhardt","html_url":"https://github.com/nblumhardt","followers_url":"https://api.github.com/users/nblumhardt/followers","following_url":"https://api.github.com/users/nblumhardt/following{/other_user}","gists_url":"https://api.github.com/users/nblumhardt/gists{/gist_id}","starred_url":"https://api.github.com/users/nblumhardt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nblumhardt/subscriptions","organizations_url":"https://api.github.com/users/nblumhardt/orgs","repos_url":"https://api.github.com/users/nblumhardt/repos","events_url":"https://api.github.com/users/nblumhardt/events{/privacy}","received_events_url":"https://api.github.com/users/nblumhardt/received_events","type":"User","site_admin":false},"body":"Could this be a `protected set`?","created_at":"2017-03-27T09:44:41Z","updated_at":"2017-03-27T09:44:41Z","html_url":"https://github.com/dotnet-state-machine/stateless/pull/147#discussion_r108129083","pull_request_url":"https://api.github.com/repos/dotnet-state-machine/stateless/pulls/147","_links":{"self":{"href":"https://api.github.com/repos/dotnet-state-machine/stateless/pulls/comments/108129083"},"html":{"href":"https://github.com/dotnet-state-machine/stateless/pull/147#discussion_r108129083"},"pull_request":{"href":"https://api.github.com/repos/dotnet-state-machine/stateless/pulls/147"}}},"pull_request":{"url":"https://api.github.com/repos/dotnet-state-machine/stateless/pulls/147","id":112703317,"html_url":"https://github.com/dotnet-state-machine/stateless/pull/147","diff_url":"https://github.com/dotnet-state-machine/stateless/pull/147.diff","patch_url":"https://github.com/dotnet-state-machine/stateless/pull/147.patch","issue_url":"https://api.github.com/repos/dotnet-state-machine/stateless/issues/147","number":147,"state":"open","locked":false,"title":"Extracting common abstract base class for transition info","user":{"login":"HenningNT","id":13196280,"avatar_url":"https://avatars3.githubusercontent.com/u/13196280?v=3","gravatar_id":"","url":"https://api.github.com/users/HenningNT","html_url":"https://github.com/HenningNT","followers_url":"https://api.github.com/users/HenningNT/followers","following_url":"https://api.github.com/users/HenningNT/following{/other_user}","gists_url":"https://api.github.com/users/HenningNT/gists{/gist_id}","starred_url":"https://api.github.com/users/HenningNT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HenningNT/subscriptions","organizations_url":"https://api.github.com/users/HenningNT/orgs","repos_url":"https://api.github.com/users/HenningNT/repos","events_url":"https://api.github.com/users/HenningNT/events{/privacy}","received_events_url":"https://api.github.com/users/HenningNT/received_events","type":"User","site_admin":false},"body":"Extracting common abstract base class for transition info.\r\nAdded new abstract base class for common properties.\r\nUpdating tests and other code as needed.","created_at":"2017-03-27T09:34:24Z","updated_at":"2017-03-27T09:44:41Z","closed_at":null,"merged_at":null,"merge_commit_sha":"010f06b0a4ba7636263e229386abdc35e636be82","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/dotnet-state-machine/stateless/pulls/147/commits","review_comments_url":"https://api.github.com/repos/dotnet-state-machine/stateless/pulls/147/comments","review_comment_url":"https://api.github.com/repos/dotnet-state-machine/stateless/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet-state-machine/stateless/issues/147/comments","statuses_url":"https://api.github.com/repos/dotnet-state-machine/stateless/statuses/62a1a8111f32e0c079bbad177d7750e074dbe431","head":{"label":"HenningNT:dev","ref":"dev","sha":"62a1a8111f32e0c079bbad177d7750e074dbe431","user":{"login":"HenningNT","id":13196280,"avatar_url":"https://avatars3.githubusercontent.com/u/13196280?v=3","gravatar_id":"","url":"https://api.github.com/users/HenningNT","html_url":"https://github.com/HenningNT","followers_url":"https://api.github.com/users/HenningNT/followers","following_url":"https://api.github.com/users/HenningNT/following{/other_user}","gists_url":"https://api.github.com/users/HenningNT/gists{/gist_id}","starred_url":"https://api.github.com/users/HenningNT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HenningNT/subscriptions","organizations_url":"https://api.github.com/users/HenningNT/orgs","repos_url":"https://api.github.com/users/HenningNT/repos","events_url":"https://api.github.com/users/HenningNT/events{/privacy}","received_events_url":"https://api.github.com/users/HenningNT/received_events","type":"User","site_admin":false},"repo":{"id":78837150,"name":"stateless","full_name":"HenningNT/stateless","owner":{"login":"HenningNT","id":13196280,"avatar_url":"https://avatars3.githubusercontent.com/u/13196280?v=3","gravatar_id":"","url":"https://api.github.com/users/HenningNT","html_url":"https://github.com/HenningNT","followers_url":"https://api.github.com/users/HenningNT/followers","following_url":"https://api.github.com/users/HenningNT/following{/other_user}","gists_url":"https://api.github.com/users/HenningNT/gists{/gist_id}","starred_url":"https://api.github.com/users/HenningNT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HenningNT/subscriptions","organizations_url":"https://api.github.com/users/HenningNT/orgs","repos_url":"https://api.github.com/users/HenningNT/repos","events_url":"https://api.github.com/users/HenningNT/events{/privacy}","received_events_url":"https://api.github.com/users/HenningNT/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/HenningNT/stateless","description":"A simple library for creating state machines in C# code","fork":true,"url":"https://api.github.com/repos/HenningNT/stateless","forks_url":"https://api.github.com/repos/HenningNT/stateless/forks","keys_url":"https://api.github.com/repos/HenningNT/stateless/keys{/key_id}","collaborators_url":"https://api.github.com/repos/HenningNT/stateless/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/HenningNT/stateless/teams","hooks_url":"https://api.github.com/repos/HenningNT/stateless/hooks","issue_events_url":"https://api.github.com/repos/HenningNT/stateless/issues/events{/number}","events_url":"https://api.github.com/repos/HenningNT/stateless/events","assignees_url":"https://api.github.com/repos/HenningNT/stateless/assignees{/user}","branches_url":"https://api.github.com/repos/HenningNT/stateless/branches{/branch}","tags_url":"https://api.github.com/repos/HenningNT/stateless/tags","blobs_url":"https://api.github.com/repos/HenningNT/stateless/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/HenningNT/stateless/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/HenningNT/stateless/git/refs{/sha}","trees_url":"https://api.github.com/repos/HenningNT/stateless/git/trees{/sha}","statuses_url":"https://api.github.com/repos/HenningNT/stateless/statuses/{sha}","languages_url":"https://api.github.com/repos/HenningNT/stateless/languages","stargazers_url":"https://api.github.com/repos/HenningNT/stateless/stargazers","contributors_url":"https://api.github.com/repos/HenningNT/stateless/contributors","subscribers_url":"https://api.github.com/repos/HenningNT/stateless/subscribers","subscription_url":"https://api.github.com/repos/HenningNT/stateless/subscription","commits_url":"https://api.github.com/repos/HenningNT/stateless/commits{/sha}","git_commits_url":"https://api.github.com/repos/HenningNT/stateless/git/commits{/sha}","comments_url":"https://api.github.com/repos/HenningNT/stateless/comments{/number}","issue_comment_url":"https://api.github.com/repos/HenningNT/stateless/issues/comments{/number}","contents_url":"https://api.github.com/repos/HenningNT/stateless/contents/{+path}","compare_url":"https://api.github.com/repos/HenningNT/stateless/compare/{base}...{head}","merges_url":"https://api.github.com/repos/HenningNT/stateless/merges","archive_url":"https://api.github.com/repos/HenningNT/stateless/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/HenningNT/stateless/downloads","issues_url":"https://api.github.com/repos/HenningNT/stateless/issues{/number}","pulls_url":"https://api.github.com/repos/HenningNT/stateless/pulls{/number}","milestones_url":"https://api.github.com/repos/HenningNT/stateless/milestones{/number}","notifications_url":"https://api.github.com/repos/HenningNT/stateless/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/HenningNT/stateless/labels{/name}","releases_url":"https://api.github.com/repos/HenningNT/stateless/releases{/id}","deployments_url":"https://api.github.com/repos/HenningNT/stateless/deployments","created_at":"2017-01-13T09:56:01Z","updated_at":"2017-01-13T09:56:05Z","pushed_at":"2017-03-27T09:32:43Z","git_url":"git://github.com/HenningNT/stateless.git","ssh_url":"git@github.com:HenningNT/stateless.git","clone_url":"https://github.com/HenningNT/stateless.git","svn_url":"https://github.com/HenningNT/stateless","homepage":"","size":4958,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"dev"}},"base":{"label":"dotnet-state-machine:dev","ref":"dev","sha":"d839805eff15d6979e1d5206bd88b8dab288522d","user":{"login":"dotnet-state-machine","id":16869374,"avatar_url":"https://avatars3.githubusercontent.com/u/16869374?v=3","gravatar_id":"","url":"https://api.github.com/users/dotnet-state-machine","html_url":"https://github.com/dotnet-state-machine","followers_url":"https://api.github.com/users/dotnet-state-machine/followers","following_url":"https://api.github.com/users/dotnet-state-machine/following{/other_user}","gists_url":"https://api.github.com/users/dotnet-state-machine/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet-state-machine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet-state-machine/subscriptions","organizations_url":"https://api.github.com/users/dotnet-state-machine/orgs","repos_url":"https://api.github.com/users/dotnet-state-machine/repos","events_url":"https://api.github.com/users/dotnet-state-machine/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet-state-machine/received_events","type":"Organization","site_admin":false},"repo":{"id":23001353,"name":"stateless","full_name":"dotnet-state-machine/stateless","owner":{"login":"dotnet-state-machine","id":16869374,"avatar_url":"https://avatars3.githubusercontent.com/u/16869374?v=3","gravatar_id":"","url":"https://api.github.com/users/dotnet-state-machine","html_url":"https://github.com/dotnet-state-machine","followers_url":"https://api.github.com/users/dotnet-state-machine/followers","following_url":"https://api.github.com/users/dotnet-state-machine/following{/other_user}","gists_url":"https://api.github.com/users/dotnet-state-machine/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet-state-machine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet-state-machine/subscriptions","organizations_url":"https://api.github.com/users/dotnet-state-machine/orgs","repos_url":"https://api.github.com/users/dotnet-state-machine/repos","events_url":"https://api.github.com/users/dotnet-state-machine/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet-state-machine/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dotnet-state-machine/stateless","description":"A simple library for creating state machines in C# code","fork":false,"url":"https://api.github.com/repos/dotnet-state-machine/stateless","forks_url":"https://api.github.com/repos/dotnet-state-machine/stateless/forks","keys_url":"https://api.github.com/repos/dotnet-state-machine/stateless/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet-state-machine/stateless/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet-state-machine/stateless/teams","hooks_url":"https://api.github.com/repos/dotnet-state-machine/stateless/hooks","issue_events_url":"https://api.github.com/repos/dotnet-state-machine/stateless/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet-state-machine/stateless/events","assignees_url":"https://api.github.com/repos/dotnet-state-machine/stateless/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet-state-machine/stateless/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet-state-machine/stateless/tags","blobs_url":"https://api.github.com/repos/dotnet-state-machine/stateless/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet-state-machine/stateless/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet-state-machine/stateless/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet-state-machine/stateless/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet-state-machine/stateless/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet-state-machine/stateless/languages","stargazers_url":"https://api.github.com/repos/dotnet-state-machine/stateless/stargazers","contributors_url":"https://api.github.com/repos/dotnet-state-machine/stateless/contributors","subscribers_url":"https://api.github.com/repos/dotnet-state-machine/stateless/subscribers","subscription_url":"https://api.github.com/repos/dotnet-state-machine/stateless/subscription","commits_url":"https://api.github.com/repos/dotnet-state-machine/stateless/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet-state-machine/stateless/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet-state-machine/stateless/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet-state-machine/stateless/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet-state-machine/stateless/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet-state-machine/stateless/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet-state-machine/stateless/merges","archive_url":"https://api.github.com/repos/dotnet-state-machine/stateless/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet-state-machine/stateless/downloads","issues_url":"https://api.github.com/repos/dotnet-state-machine/stateless/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet-state-machine/stateless/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet-state-machine/stateless/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet-state-machine/stateless/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet-state-machine/stateless/labels{/name}","releases_url":"https://api.github.com/repos/dotnet-state-machine/stateless/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet-state-machine/stateless/deployments","created_at":"2014-08-15T19:57:39Z","updated_at":"2017-03-27T08:00:25Z","pushed_at":"2017-03-27T09:34:25Z","git_url":"git://github.com/dotnet-state-machine/stateless.git","ssh_url":"git@github.com:dotnet-state-machine/stateless.git","clone_url":"https://github.com/dotnet-state-machine/stateless.git","svn_url":"https://github.com/dotnet-state-machine/stateless","homepage":"","size":4963,"stargazers_count":1527,"watchers_count":1527,"language":"C#","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":238,"mirror_url":null,"open_issues_count":8,"forks":238,"open_issues":8,"watchers":1527,"default_branch":"dev"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet-state-machine/stateless/pulls/147"},"html":{"href":"https://github.com/dotnet-state-machine/stateless/pull/147"},"issue":{"href":"https://api.github.com/repos/dotnet-state-machine/stateless/issues/147"},"comments":{"href":"https://api.github.com/repos/dotnet-state-machine/stateless/issues/147/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet-state-machine/stateless/pulls/147/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet-state-machine/stateless/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet-state-machine/stateless/pulls/147/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet-state-machine/stateless/statuses/62a1a8111f32e0c079bbad177d7750e074dbe431"}}}}
{"actor":{"display_login":"nblumhardt"}}