Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ CallArithmeticOp()

void System.Xml.Xsl.IlGen.GenerateHelper.CallArithmeticOp ( QilNodeType opType,
XmlTypeCode code )
inline

Definition at line 296 of file GenerateHelper.cs.

297 {
298 MethodInfo meth = null;
299 switch (code)
300 {
301 case XmlTypeCode.Float:
302 case XmlTypeCode.Double:
303 case XmlTypeCode.Integer:
304 case XmlTypeCode.Int:
305 switch (opType)
306 {
307 case QilNodeType.Add:
308 Emit(OpCodes.Add);
309 break;
310 case QilNodeType.Subtract:
311 Emit(OpCodes.Sub);
312 break;
313 case QilNodeType.Multiply:
314 Emit(OpCodes.Mul);
315 break;
316 case QilNodeType.Divide:
317 Emit(OpCodes.Div);
318 break;
319 case QilNodeType.Modulo:
320 Emit(OpCodes.Rem);
321 break;
322 case QilNodeType.Negate:
323 Emit(OpCodes.Neg);
324 break;
325 }
326 break;
327 case XmlTypeCode.Decimal:
328 switch (opType)
329 {
330 case QilNodeType.Add:
331 meth = XmlILMethods.DecAdd;
332 break;
333 case QilNodeType.Subtract:
334 meth = XmlILMethods.DecSub;
335 break;
336 case QilNodeType.Multiply:
337 meth = XmlILMethods.DecMul;
338 break;
339 case QilNodeType.Divide:
340 meth = XmlILMethods.DecDiv;
341 break;
342 case QilNodeType.Modulo:
343 meth = XmlILMethods.DecRem;
344 break;
345 case QilNodeType.Negate:
346 meth = XmlILMethods.DecNeg;
347 break;
348 }
349 Call(meth);
350 break;
351 }
352 }
static readonly OpCode Rem
Definition OpCodes.cs:189
static readonly OpCode Mul
Definition OpCodes.cs:183
static readonly OpCode Add
Definition OpCodes.cs:179
static readonly OpCode Sub
Definition OpCodes.cs:181
static readonly OpCode Neg
Definition OpCodes.cs:205
static readonly OpCode Div
Definition OpCodes.cs:185

References System.Reflection.Emit.OpCodes.Add, System.Reflection.Emit.Call, System.Xml.Xsl.IlGen.XmlILMethods.DecAdd, System.Xml.Xsl.IlGen.XmlILMethods.DecDiv, System.Xml.Xsl.IlGen.XmlILMethods.DecMul, System.Xml.Xsl.IlGen.XmlILMethods.DecNeg, System.Xml.Xsl.IlGen.XmlILMethods.DecRem, System.Xml.Xsl.IlGen.XmlILMethods.DecSub, System.Xml.Dictionary, System.Reflection.Emit.OpCodes.Div, System.Reflection.Emit.OpCodes.Mul, System.Reflection.Emit.OpCodes.Neg, System.Reflection.Emit.OpCodes.Rem, and System.Reflection.Emit.OpCodes.Sub.

Referenced by System.Xml.Xsl.IlGen.XmlILVisitor.ArithmeticOp(), and System.Xml.Xsl.IlGen.XmlILVisitor.VisitNegate().