void IUnaryOperationVisitor.Visit(opPrefixDecrement This) { if (checkType) { if (!arg.Type.IsNumeric) { throw new AnalizeException("Can't apply decrement to nonnumeric type", This); } type = arg.Type; return; } arg.GenerateCode(); IL.Emit(OpCodes.Ldc_I4_1); IL.Emit(OpCodes.Sub); arg.GenerateStore(); }
void IBinaryOperationVisitor.Visit(opAssignment This) { if (checkType) { CommonTypeCheck(); return; } try { arg0.GenerateStore(arg1); } catch (AnalizeException e) { throw new AnalizeException(e.Message, node); } }