package flare.query { /** * Expression operator that type checks a sub-expression. */ public class IsA extends Expression { private var _type:Class; private var _clause:Expression; /** The class type to check for. */ public function get type():Class { return _type; } /** The sub-expression clause to type check. */ public function get clause():Expression { return _clause; } public function set clause(e:*):void { _clause = e==null ? null : Expression.expr(e); } /** * @inheritDoc */ public override function get numChildren():int { return _clause ? 1 : 0; } /** * Creates a new IsA operator. * @param type the class type to check for * @param clause the sub-expression clause to type check. If null, * the input object (rather than a sub-property or expression result) * will be type checked. */ public function IsA(type:Class, clause:*=n