+void ExpressionValidator::visit(VariableReference &var)
+{
+ if(var.declaration && constant_expression && !var.declaration->constant)
+ error(var, format("Reference to non-constant variable '%s' in a constant expression", var.name));
+}
+
+void ExpressionValidator::visit(InterfaceBlockReference &iface)
+{
+ if(constant_expression)
+ error(iface, format("Reference to interface block '%s' in a constant expression", iface.name));
+}
+