#ifndef REZWORLD_H #define REZWORLD_H #include #include #include #include "ResourceDefinitions.h" #include "Expression.h" #include "ResourceFork.h" #include "ResSpec.h" class Diagnostic; class RezWorld { friend class RezParser; std::map types; std::stack fieldLists; std::stack functionCalls; std::stack switches; Resources resources; public: RezWorld(); void addTypeDefinition(TypeSpec spec, TypeDefinitionPtr type); TypeDefinitionPtr getTypeDefinition(ResType type, int id, yy::location loc); void addResource(ResSpec spec, CompoundExprPtr body, yy::location loc); void addData(ResSpec spec, const std::string& data, yy::location loc); Resources& getResources() { return resources; } bool verboseFlag; bool hadErrors; void problem(Diagnostic d); }; #endif // REZWORLD_H