oberon_type_t * result;
bool error = false;
- if(token == IS)
+ if(token == IN)
+ {
+ if(a -> result -> class != OBERON_TYPE_INTEGER)
+ {
+ oberon_error(ctx, "must be integer");
+ }
+
+ if(b -> result -> class != OBERON_TYPE_SET)
+ {
+ oberon_error(ctx, "must be set");
+ }
+
+ result = ctx -> bool_type;
+ expr = oberon_new_operator(OP_IN, result, a, b);
+ }
+ else if(token == IS)
{
oberon_type_t * v = a -> result;
if(v -> class == OBERON_TYPE_POINTER)