{"action":"closed","issue":{"url":"https://api.github.com/repos/SwiftGen/SwiftGen/issues/400","repository_url":"https://api.github.com/repos/SwiftGen/SwiftGen","labels_url":"https://api.github.com/repos/SwiftGen/SwiftGen/issues/400/labels{/name}","comments_url":"https://api.github.com/repos/SwiftGen/SwiftGen/issues/400/comments","events_url":"https://api.github.com/repos/SwiftGen/SwiftGen/issues/400/events","html_url":"https://github.com/SwiftGen/SwiftGen/issues/400","id":308926415,"node_id":"MDU6SXNzdWUzMDg5MjY0MTU=","number":400,"title":"Conversion from parsed data to contexts (and back) should use Codable","user":{"login":"djbe","id":641356,"node_id":"MDQ6VXNlcjY0MTM1Ng==","avatar_url":"https://avatars0.githubusercontent.com/u/641356?v=4","gravatar_id":"","url":"https://api.github.com/users/djbe","html_url":"https://github.com/djbe","followers_url":"https://api.github.com/users/djbe/followers","following_url":"https://api.github.com/users/djbe/following{/other_user}","gists_url":"https://api.github.com/users/djbe/gists{/gist_id}","starred_url":"https://api.github.com/users/djbe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/djbe/subscriptions","organizations_url":"https://api.github.com/users/djbe/orgs","repos_url":"https://api.github.com/users/djbe/repos","events_url":"https://api.github.com/users/djbe/events{/privacy}","received_events_url":"https://api.github.com/users/djbe/received_events","type":"User","site_admin":false},"labels":[{"id":273167593,"node_id":"MDU6TGFiZWwyNzMxNjc1OTM=","url":"https://api.github.com/repos/SwiftGen/SwiftGen/labels/difficulty:%20hard","name":"difficulty: hard","color":"d4c5f9","default":false},{"id":388027923,"node_id":"MDU6TGFiZWwzODgwMjc5MjM=","url":"https://api.github.com/repos/SwiftGen/SwiftGen/labels/type:%20internal","name":"type: internal","color":"f9d0c4","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-03-27T11:19:39Z","updated_at":"2018-10-07T22:42:54Z","closed_at":"2018-10-07T22:42:54Z","author_association":"MEMBER","body":"Currently, we parse files in SwiftGenKit into nice structured information (such as structs, classes, enums, etc...). Unfortunately, when we pass this information to Stencil, we convert this structured information down to arrays and dictionaries.\r\n\r\nThe thing is that this step is mostly not needed. Stencil perfectly supports accessing stored properties in Swift types using `Mirror` reflection. It allows us to remove one conversion step, and maybe even create advanced contexts with recursion (see https://github.com/SwiftGen/SwiftGen/tree/feature/core-data).\r\n\r\nFollowing from that, we can add Codable support to those types so that we can easily write them to files (and read them again). Ideally, we'd do this before tackling #399, or at the same time.\r\n\r\nNote: This would even allow us to fully document the (currently) internal parsed data types, and generate documentation from it; instead of having to document the contexts themselves."}}
{"actor":{"display_login":"djbe"}}