⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 binaryexpression.as

📁 用于flash/flex的 as3的 2D图形图像图表的动态生成
💻 AS
字号:
package flare.query
{
	/**
	 * Base class for binary expression operators.
	 */
	public class BinaryExpression extends Expression
	{
		/** Code indicating the operation perfomed by this instance. */
		protected var _op:int;
		/** The left-hand-side sub-expression. */
		protected var _left:Expression;
		/** The right-hand-side sub-expression. */
		protected var _right:Expression;
		
		/** Code indicating the operation performed by this instance. */
		public function get operator():int { return _op; }
		public function set operator(op:int):void { _op = op; }
		/** String representation of the operation performed by this
		 *  instance. */
		public function get operatorString():String { return null; }
		
		/** The left-hand-side sub-expression. */
		public function get left():Expression { return _left; }
		public function set left(l:*):void {
			_left = Expression.expr(l);
		}
		
		/** The right-hand-side sub-expression. */
		public function get right():Expression { return _right; }
		public function set right(r:*):void {
			_right = Expression.expr(r);
		}
		
		/**
		 * @inheritDoc
		 */
		public override function get numChildren():int {
			return 2;
		}
		
		// --------------------------------------------------------------------
		
		/**
		 * Creates a new BinaryExpression.
		 * @param op the operation code
		 * @param minOp the minimum legal operation code
		 * @param maxOp the maximum legal operation code
		 * @param left the left-hand-side sub-expression
		 * @param right the right-hand-side sub-expression
		 */
		public function BinaryExpression(op:int, minOp:int, maxOp:int,
            left:*, right:*)
	    {
	        // operation check
	        if (op < minOp || op > maxOp) {
	            throw new ArgumentError("Unknown operation type: " + op);
	        }
	        // null check
	        if (left == null || right == null) {
	            throw new ArgumentError("Expressions must be non-null.");
	        }
	        _op = op;
	        this.left = left;
	        this.right = right;
	    }
	    
	    /**
		 * @inheritDoc
		 */
	    public override function getChildAt(idx:int):Expression
	    {
	    	switch (idx) {
	    		case 0: return _left;
	    		case 1: return _right;
	    		default: return null;
	    	}
	    }
	    
	    /**
		 * @inheritDoc
		 */
	    public override function setChildAt(idx:int, expr:Expression):Boolean
	    {
	    	switch (idx) {
	    		case 0: _left = expr;  return true;
	    		case 1: _right = expr; return true;
	    		default: return false;
	    	}
	    }
	    
	    /**
		 * @inheritDoc
		 */
	    public override function toString():String
	    {
	        return '(' + _left.toString() +' '
	                   +  operatorString  +' '
	        		   + _right.toString()+')';
	    }

	} // end of class BinaryExpression
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -