]> git.localhorst.tv Git - l2e.git/blobdiff - src/loader/ParsedSource.h
fixed some issues to get it to compile again
[l2e.git] / src / loader / ParsedSource.h
index 36f3810ab434cb8805bb188b95348f6984165a91..e10b287aa661fbd9b5b9cdfac71c593d0714dc47 100644 (file)
@@ -28,6 +28,7 @@ public:
                BOOLEAN,
                COLOR,
                NUMBER,
+               PATH,
                STRING,
                VECTOR,
                OBJECT
@@ -39,6 +40,7 @@ public:
        explicit Literal(bool);
        Literal(int r, int g, int b, int a = 255);
        explicit Literal(int number);
+       Literal(const std::string &dir, const std::string &path);
        Literal(const std::string &);
        Literal(int x, int y);
        Literal(const std::string &typeName, PropertyList *properties);
@@ -49,6 +51,9 @@ private:
 
 public:
        Type GetType() const { return type; }
+       bool IsArray() const { return GetType() == ARRAY_VALUES || GetType() == ARRAY_PROPS; }
+       bool IsObject() const { return GetType() == OBJECT; }
+       int ArraySize() const { return GetType() == ARRAY_VALUES ? GetValues().size() : GetPropertyLists().size(); }
 
        const std::vector<Value *> &GetValues() const;
        const std::vector<PropertyList *> &GetPropertyLists() const;
@@ -204,6 +209,9 @@ public:
        const std::map<std::string, Definition *> &Definitions() const { return definitions; }
        const std::set<std::string> &Exports() const { return exports; }
 
+public:
+       void WriteHeader(std::ostream &) const;
+
 private:
        std::map<std::string, Declaration *> declarations;
        std::map<std::string, Definition *> definitions;