AST node representing unary operators such as ++ , ~ , typeof and delete . The type field is set to the appropriate Token type for the operator. The node length spans from the operator to the end of the operand (for prefix operators) or from the start of the operand to the operator (for postfix).

The default xml namespace = <expr> statement in E4X (JavaScript 1.6) is represented as a UnaryExpression of node type Rhino.Token.DEFAULTNAMESPACE , wrapped with an ExpressionStatement .

Наследование: AstNode
Пример #1
0
		private Node TransformDefaultXmlNamepace(UnaryExpression node)
		{
			decompiler.AddToken(Token.DEFAULT);
			decompiler.AddName(" xml");
			decompiler.AddName(" namespace");
			decompiler.AddToken(Token.ASSIGN);
			Node child = Transform(node.GetOperand());
			return CreateUnary(Token.DEFAULTNAMESPACE, child);
		}
Пример #2
0
		private Node TransformUnary(UnaryExpression node)
		{
			int type = node.GetType();
			if (type == Token.DEFAULTNAMESPACE)
			{
				return TransformDefaultXmlNamepace(node);
			}
			if (node.IsPrefix())
			{
				decompiler.AddToken(type);
			}
			Node child = Transform(node.GetOperand());
			if (node.IsPostfix())
			{
				decompiler.AddToken(type);
			}
			if (type == Token.INC || type == Token.DEC)
			{
				return CreateIncDec(type, node.IsPostfix(), child);
			}
			return CreateUnary(type, child);
		}