Significant work on templates. They should be close to working now (for single replacement). However, they do not show up in the global scope the the C generator can't see them. Plus, their names will have to be Cified.

This commit is contained in:
Nathan Braswell
2014-05-09 02:56:55 -04:00
parent 5de2ff58bb
commit 5022fc0802
6 changed files with 130 additions and 77 deletions

View File

@@ -26,13 +26,10 @@ class ASTData {
~ASTData();
std::string toString();
static std::string ASTTypeToString(ASTType type);
void addTemplateTypeDefToReplace(NodeTree<ASTData>* typeDefToReplace);
std::vector<NodeTree<ASTData>*> getTemplateTypeDefsToReplace();
ASTType type;
Type* valueType;
Symbol symbol;
std::map<std::string, std::vector<NodeTree<ASTData>*>> scope;
std::vector<NodeTree<ASTData>*> templateTypeDefsToReplace; //Used only by template classes/functions to keep track of pointers to the typedefs that need to be changed
private:
};