Browse Source

rewriting more types

Nicolas Winkler 6 years ago
parent
commit
06631c37b7
7 changed files with 5 additions and 7 deletions
  1. 1 1
      src/Logging.h
  2. 0 2
      src/ast/lexer.l
  3. 0 1
      src/main.cpp
  4. 1 0
      src/sem/Context.h
  5. 1 1
      src/sem/Semantic.cpp
  6. 1 1
      src/sem/Semantic.h
  7. 1 1
      src/sem/Type.cpp

+ 1 - 1
src/Logging.h

@@ -62,7 +62,7 @@ private:
 #ifdef DEBUGGING
     LogLevel logLevel = LogLevel::DEBUG;
 #else
-    LogLevel logLevel = LogLevel::INFO;
+    LogLevel logLevel = LogLevel::DEBUG;
 #endif
 
     static Logger instance;

+ 0 - 2
src/ast/lexer.l

@@ -49,8 +49,6 @@ extern "C" int qlow_parser_wrap(yyscan_t s);
     yylloc_param->last_column = yyg->yyextra_r;      \
     yylloc_param->filename = nullptr; \
   } while(0);
-#undef YY_USER_ACTION
-#define YY_USER_ACTION ;
 %}
 
 

+ 0 - 1
src/main.cpp

@@ -11,7 +11,6 @@
 
 int main(int argc, char** argv)
 {
-    std::cout << "Hi!";
     qlow::Driver driver(argc, argv);
     return driver.run();
 

+ 1 - 0
src/sem/Context.h

@@ -27,6 +27,7 @@ namespace std
 class qlow::sem::Context
 {
 private:
+    std::string test = "ayayay";
     std::vector<Type> types;
     std::unordered_map<std::reference_wrapper<Type>, TypeId, std::hash<std::reference_wrapper<Type>>, std::equal_to<Type>> typesMap;
     

+ 1 - 1
src/sem/Semantic.cpp

@@ -19,7 +19,7 @@ namespace sem
 std::pair<std::unique_ptr<Context>, std::unique_ptr<GlobalScope>>
     createFromAst(const qlow::ast::Ast& ast)
 {
-    std::unique_ptr<Context> context;
+    std::unique_ptr<Context> context = std::make_unique<Context>();
     Logger& logger = Logger::getInstance();
     auto& objects = ast.getObjects();
 

+ 1 - 1
src/sem/Semantic.h

@@ -87,7 +87,7 @@ struct qlow::sem::Class : public SemanticObject
         astNode{ astNode },
         name{ astNode->name },
         scope{ globalScope, this },
-        classType{ globalScope.getContext().addType(Type::createClassType(context, this)) },
+        classType{ globalScope.getContext().addType(Type::createClassType(globalScope.getContext(), this)) },
         llvmType{ nullptr }
     {
     }

+ 1 - 1
src/sem/Type.cpp

@@ -61,7 +61,7 @@ std::string Type::asString(void) const
 size_t Type::hash(void) const
 {
     // TODO implement
-    return 0;
+    return type.index() * 2345325 + std::hash<std::string>()(name);
 }