Implemented variable type requirement checking.

This commit is contained in:
2016-06-08 01:05:36 +02:00
parent 75fbb5fb48
commit 7bd2782fc8
9 changed files with 30 additions and 92 deletions

View File

@@ -36,16 +36,11 @@ class PrimitiveType: public Expression
const std::string &name() const;
const std::vector<const PrimitiveType *> &parentTypes() const;
bool isDeclared() const;
private:
void setDirty(bool isDirty = true);
bool isDirty() const;
void setDeclared();
bool m_isDirty;
bool m_isDeclared;
std::string m_name;

View File

@@ -20,8 +20,10 @@ class Variable: public Expression
{
public:
static void parseTypedDeclaration(Context &context, ExpressionContext &expressionContext);
static void parseTypedDeclarations(Context &context, ExpressionContext &expressionContext);
static const Variable *parseAndFind(Context &context, const ExpressionContext &expressionContext);
static const Variable *parseAndFind(Context &context,
const ExpressionContext &expressionContext);
public:
void accept(ExpressionVisitor &expressionVisitor) const override;