1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- using System;
- namespace Jint.Parser.Ast
- {
- public enum UnaryOperator
- {
- Plus,
- Minus,
- BitwiseNot,
- LogicalNot,
- Delete,
- Void,
- TypeOf,
- Increment,
- Decrement,
- }
- public class UnaryExpression : Expression
- {
- public UnaryOperator Operator;
- public Expression Argument;
- public bool Prefix;
- public static UnaryOperator ParseUnaryOperator(string op)
- {
- switch (op)
- {
- case "+":
- return UnaryOperator.Plus;
- case "-":
- return UnaryOperator.Minus;
- case "++":
- return UnaryOperator.Increment;
- case "--":
- return UnaryOperator.Decrement;
- case "~":
- return UnaryOperator.BitwiseNot;
- case "!":
- return UnaryOperator.LogicalNot;
- case "delete":
- return UnaryOperator.Delete;
- case "void":
- return UnaryOperator.Void;
- case "typeof":
- return UnaryOperator.TypeOf;
- default:
- throw new ArgumentOutOfRangeException("Invalid unary operator: " + op);
- }
- }
- }
- }
|