value_type = null;
}
+ if (value_type != null) {
+ value_type.check (context);
+ }
+
return !error;
}
assert_not_reached ();
}
+ value_type.check (context);
+
return !error;
}
value_type.value_owned = (true_expression.value_type.value_owned || false_expression.value_type.value_owned);
value_type.floating_reference = false;
+ value_type.check (context);
local.variable_type = value_type;
decl.check (context);
}
}
+ value_type.check (context);
+
return !error;
}
value_type.nullable = false;
}
+ if (value_type != null) {
+ value_type.check (context);
+ }
+
return !error;
}
}
}
+ if (value_type != null) {
+ value_type.check (context);
+ }
+
return !error;
}
}
}
+ value_type.check (context);
+
if (tree_can_fail) {
if (parent_node is LocalVariable || parent_node is ExpressionStatement) {
// simple statements, no side effects after method call
value_type = inner.value_type.copy ();
value_type.value_owned = true;
+ value_type.check (context);
return !error;
}
if (container.value_type is ArrayType) {
value_type = container.value_type.copy ();
value_type.value_owned = false;
+ value_type.check (context);
/* check if the index is of type integer */
if (!(start.value_type is IntegerType || start.value_type is EnumValueType)) {
return false;
}
+ value_type.check (context);
+
return !error;
}