}
if (vtype == TYPE_FIELD)
v->fieldtype = elemtype->next->expression.vtype;
+ if (vtype == TYPE_FUNCTION)
+ v->outtype = elemtype->next->expression.vtype;
v->context = ast_ctx(self);
array->ir_v = self->ir_v = v;
}
if (vtype == TYPE_FIELD)
array->ir_values[ai]->fieldtype = elemtype->next->expression.vtype;
+ if (vtype == TYPE_FUNCTION)
+ array->ir_values[ai]->outtype = elemtype->next->expression.vtype;
array->ir_values[ai]->context = ast_ctx(self);
}
mem_d(name);
}
if (vtype == TYPE_FIELD)
v->fieldtype = elemtype->next->expression.vtype;
+ if (vtype == TYPE_FUNCTION)
+ v->outtype = elemtype->next->expression.vtype;
v->context = ast_ctx(self);
namelen = strlen(self->name);
}
if (vtype == TYPE_FIELD)
self->ir_values[ai]->fieldtype = elemtype->next->expression.vtype;
+ if (vtype == TYPE_FUNCTION)
+ self->ir_values[ai]->outtype = elemtype->next->expression.vtype;
self->ir_values[ai]->context = ast_ctx(self);
}
mem_d(name);
}
if (self->expression.vtype == TYPE_FIELD)
v->fieldtype = self->expression.next->expression.vtype;
+ if (self->expression.vtype == TYPE_FUNCTION)
+ v->outtype = self->expression.next->expression.vtype;
v->context = ast_ctx(self);
}
}
if (vtype == TYPE_FIELD)
v->fieldtype = elemtype->next->expression.vtype;
+ if (vtype == TYPE_FUNCTION)
+ v->outtype = elemtype->next->expression.vtype;
v->context = ast_ctx(self);
namelen = strlen(self->name);
}
if (vtype == TYPE_FIELD)
self->ir_values[ai]->fieldtype = elemtype->next->expression.vtype;
+ if (vtype == TYPE_FUNCTION)
+ self->ir_values[ai]->outtype = elemtype->next->expression.vtype;
self->ir_values[ai]->context = ast_ctx(self);
}
}
return false;
if (self->expression.vtype == TYPE_FIELD)
v->fieldtype = self->expression.next->expression.vtype;
+ if (self->expression.vtype == TYPE_FUNCTION)
+ v->outtype = self->expression.next->expression.vtype;
v->context = ast_ctx(self);
}