Skip to content
Success

Changes

Summary

  1. Factored out a very complex condition into a helper function and documented it. (details)
  2. Moved ParseNode's name field down to DeclarationNode, it is not used in any of the other child classes. (details)
  3. Factored out the ParseNode's next field into a new child type. This is only type safe when used in the given one level curiously reoccurring template pattern, as it is now. This allowed most of the intermedate helpers to be removed. (details)
Commit bc61563c4a48cab77ce48a03a73abf55b627a27f by ajbeach
Factored out a very complex condition into a helper function and documented it.
The file was modifiedsrc/ResolvExpr/Resolver.cc
Commit 4c0b674ab581090dfc425f4931071a611831ff0d by ajbeach
Moved ParseNode's name field down to DeclarationNode, it is not used in any of the other child classes.
The file was modifiedsrc/Parser/DeclarationNode.cc
The file was modifiedsrc/Parser/ParseNode.h
The file was modifiedsrc/Parser/DeclarationNode.h
Commit dc3fbe5bd865dbd99791884dd9ea7dbd1bbbb45e by ajbeach
Factored out the ParseNode's next field into a new child type. This is only type safe when used in the given one level curiously reoccurring template pattern, as it is now. This allowed most of the intermedate helpers to be removed.
The file was modifiedsrc/Parser/DeclarationNode.h
The file was modifiedsrc/Parser/DeclarationNode.cc
The file was modifiedsrc/Parser/ExpressionNode.h
The file was modifiedsrc/Parser/InitializerNode.h
The file was modifiedsrc/Parser/ParseNode.h
The file was modifiedsrc/Parser/StatementNode.h
The file was modifiedsrc/Parser/parser.yy