You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While all extensions would be merged into the same environment during typechecking, AST should have a separate type for extension nodes. Existence of members in the main type declaration, as compared to extension members, triggers different semantic checks, e.g. synthesized memberwise initializers etc. Besides, extensions can have predicates on them, which would also be represented on extension AST nodes.
This issue also requires the environment "transformer" mentioned in #19, that converts AST to environment, should also take extensions into account somehow. Maybe there should be a separate Environment type with mutating functions that can consume AST and modify the environment during AST traversal?
The text was updated successfully, but these errors were encountered:
While all extensions would be merged into the same environment during typechecking, AST should have a separate type for
extension
nodes. Existence of members in the main type declaration, as compared to extension members, triggers different semantic checks, e.g. synthesized memberwise initializers etc. Besides, extensions can have predicates on them, which would also be represented onextension
AST nodes.This issue also requires the environment "transformer" mentioned in #19, that converts AST to environment, should also take extensions into account somehow. Maybe there should be a separate
Environment
type withmutating
functions that can consume AST and modify the environment during AST traversal?The text was updated successfully, but these errors were encountered: