|
@@ -59,7 +59,7 @@ ResultType operationStatement(FUNC) {
|
|
case OPT_ASS:
|
|
case OPT_ASS:
|
|
assOperation(CNEXT);
|
|
assOperation(CNEXT);
|
|
break;
|
|
break;
|
|
- case OPT_LINK:
|
|
|
|
|
|
+ case OPT_OUTPOINT:
|
|
case OPT_POINT:
|
|
case OPT_POINT:
|
|
pointOperation(CNEXT);
|
|
pointOperation(CNEXT);
|
|
break;
|
|
break;
|
|
@@ -180,7 +180,7 @@ ResultType pointOperation(FUNC) {
|
|
|
|
|
|
if (st->u.operation.OperationType == OPT_POINT)
|
|
if (st->u.operation.OperationType == OPT_POINT)
|
|
object = left->value->object.var;
|
|
object = left->value->object.var;
|
|
- else if (st->u.operation.OperationType == OPT_LINK)
|
|
|
|
|
|
+ else if (st->u.operation.OperationType == OPT_OUTPOINT)
|
|
object = left->value->object.out_var;
|
|
object = left->value->object.out_var;
|
|
|
|
|
|
if (object == NULL) {
|
|
if (object == NULL) {
|
|
@@ -215,7 +215,7 @@ ResultType delCore(Statement *name, bool check_aut, FUNC_NT) {
|
|
listDel(name, CNEXT_NT);
|
|
listDel(name, CNEXT_NT);
|
|
else if (name->type == slice_)
|
|
else if (name->type == slice_)
|
|
downDel(name, CNEXT_NT);
|
|
downDel(name, CNEXT_NT);
|
|
- else if (name->type == operation && (name->u.operation.OperationType == OPT_POINT || name->u.operation.OperationType == OPT_LINK))
|
|
|
|
|
|
+ else if (name->type == operation && (name->u.operation.OperationType == OPT_POINT || name->u.operation.OperationType == OPT_OUTPOINT))
|
|
pointDel(name, CNEXT_NT);
|
|
pointDel(name, CNEXT_NT);
|
|
else
|
|
else
|
|
varDel(name, check_aut, CNEXT_NT);
|
|
varDel(name, check_aut, CNEXT_NT);
|
|
@@ -275,7 +275,7 @@ ResultType pointDel(Statement *name, FUNC_NT) {
|
|
}
|
|
}
|
|
|
|
|
|
gc_freeze(inter, var_list, object, true);
|
|
gc_freeze(inter, var_list, object, true);
|
|
- if (right->type == T_OPERATION && (right->u.operation.OperationType == OPT_POINT || right->u.operation.OperationType == OPT_LINK))
|
|
|
|
|
|
+ if (right->type == T_OPERATION && (right->u.operation.OperationType == OPT_POINT || right->u.operation.OperationType == OPT_OUTPOINT))
|
|
pointDel(name->u.operation.right, CFUNC_NT(object, result, belong));
|
|
pointDel(name->u.operation.right, CFUNC_NT(object, result, belong));
|
|
else
|
|
else
|
|
delCore(name->u.operation.right, true, CFUNC_NT(object, result, belong));
|
|
delCore(name->u.operation.right, true, CFUNC_NT(object, result, belong));
|
|
@@ -359,7 +359,7 @@ ResultType assCore(Statement *name, LinkValue *value, bool check_aut, bool setti
|
|
listAss(name, value, CNEXT_NT);
|
|
listAss(name, value, CNEXT_NT);
|
|
else if (name->type == slice_)
|
|
else if (name->type == slice_)
|
|
downAss(name, value, CNEXT_NT);
|
|
downAss(name, value, CNEXT_NT);
|
|
- else if (name->type == operation && (name->u.operation.OperationType == OPT_POINT || name->u.operation.OperationType == OPT_LINK))
|
|
|
|
|
|
+ else if (name->type == operation && (name->u.operation.OperationType == OPT_POINT || name->u.operation.OperationType == OPT_OUTPOINT))
|
|
pointAss(name, value, CNEXT_NT);
|
|
pointAss(name, value, CNEXT_NT);
|
|
else
|
|
else
|
|
varAss(name, value, check_aut, setting, CNEXT_NT);
|
|
varAss(name, value, check_aut, setting, CNEXT_NT);
|
|
@@ -498,7 +498,7 @@ ResultType pointAss(Statement *name, LinkValue *value, FUNC_NT) {
|
|
}
|
|
}
|
|
|
|
|
|
gc_freeze(inter, var_list, object, true);
|
|
gc_freeze(inter, var_list, object, true);
|
|
- if (right->type == T_OPERATION && (right->u.operation.OperationType == OPT_POINT || right->u.operation.OperationType == OPT_LINK))
|
|
|
|
|
|
+ if (right->type == T_OPERATION && (right->u.operation.OperationType == OPT_POINT || right->u.operation.OperationType == OPT_OUTPOINT))
|
|
pointAss(name->u.operation.right, value, CFUNC_NT(object, result, belong));
|
|
pointAss(name->u.operation.right, value, CFUNC_NT(object, result, belong));
|
|
else
|
|
else
|
|
assCore(name->u.operation.right, value, true, false, CFUNC_NT(object, result, belong));
|
|
assCore(name->u.operation.right, value, true, false, CFUNC_NT(object, result, belong));
|