public JsWhile(Js condition, Js action) { Condition = condition; Action = action; }
public static JsIf If(Js condition, Js action) { return(new JsIf(condition, action, null)); }
public JsIf(Js condition, Js action, Js actionElse) { Condition = condition; Action = action; Else = actionElse; }
public JsAssignment(Js left, Js right, string op) : base(left, right, op) { }
public JsWhile(Js condition, Js action) { Condition = condition; Action = action; }
public JsAssignment(Js left, Js right, string op) : base(left, right, op) { }
public static JsBinary Multiply(Js left, Js right) { return(new JsBinary(left, right, "*")); }
public JsIf(Js condition, Js action, Js actionElse) { Condition = condition; Action = action; Else = actionElse; }
public static JsBinary Plus(Js left, Js right) { return(new JsBinary(left, right, "+")); }
public static JsBinary Minus(Js left, Js right) { return(new JsBinary(left, right, "-")); }
public static JsReturn Return(Js js) { return(new JsReturn(js)); }
public static JsWhile While(Js condition, Js action) { return(new JsWhile(condition, action)); }
public static JsIf If(Js condition, Js action, Js actionElse) { return(new JsIf(condition, action, actionElse)); }
public static JsBinary NotIdentity(Js left, Js right) { return(new JsBinary(left, right, "!==")); }
public static JsBinary Divide(Js left, Js right) { return(new JsBinary(left, right, "/")); }
public static JsKeywordBinary InstanceOf(Js left, Js right) { return(new JsKeywordBinary(left, right, "instanceof")); }
public static JsBinary Assign(Js left, Js right) { return(new JsBinary(left, right, "=")); }
public JsReturn(Js js) { Expression = js; }
public static JsBinary AddAssign(Js left, Js right) { return(new JsAssignment(left, right, "+=")); }
public JsKeywordBinary(Js left, Js right, string keyword) : base(left, right, keyword) { }
public static JsBinary SubtractAssign(Js left, Js right) { return(new JsAssignment(left, right, "-=")); }
public JsBinary(Js left, Js right, string op) { Left = left; Right = right; Operator = op; }
public static JsBinary MultiplyAssign(Js left, Js right) { return(new JsAssignment(left, right, "*=")); }
public JsReturn(Js js) { Expression = js; }
public static JsBinary DivideAssign(Js left, Js right) { return(new JsAssignment(left, right, "/=")); }
public JsBinary(Js left, Js right, string op) { Left = left; Right = right; Operator = op; }
public static JsBinary Inequality(Js left, Js right) { return(new JsBinary(left, right, "!=")); }
public JsKeywordBinary(Js left, Js right, string keyword) : base(left, right, keyword) { }
public static JsBinary Binary(Js left, Js right, string op) { return(new JsBinary(left, right, op)); }