#include <vector>
#include <msp/core/refptr.h>
#include "features.h"
+#include "glsl_error.h"
#include "sourcemap.h"
#pragma push_macro("interface")
struct Node
{
-protected:
- Node() { }
- Node(const Node &) { }
+ int source;
+ unsigned line;
+
+ Node(): source(GENERATED_SOURCE), line(1) { }
+ Node(const Node &n): source(n.source), line(n.line) { }
private:
Node &operator=(const Node &);
public:
struct Statement: Node
{
- int source;
- unsigned line;
-
- Statement();
-
virtual Statement *clone() const = 0;
};
std::map<std::string, FunctionDeclaration *> functions;
std::map<std::string, unsigned> locations;
Features required_features;
+ std::vector<Diagnostic> diagnostics;
Stage(Type);