public ArgInfo(int idx, UserType type, ArgCount count, string name, bool is_default, bool is_ordered) { Idx = idx; Type = type; Count = count; Name = name; switch (count) { case ArgCount.ZeroOrMore: Flags = new CodeBinaryOperatorExpression(Optional, Or, Multi); break; case ArgCount.OneOrMore: Flags = Multi; break; case ArgCount.Optional: Flags = Optional; break; case ArgCount.Standard: Flags = Standard; break; default: throw new Exception("Unsupported ArgCount kind " + Count.ToString()); } if (is_ordered) { Flags = new CodeBinaryOperatorExpression(Flags, Or, Ordered); if (is_default) { Flags = new CodeBinaryOperatorExpression(Flags, Or, DefOrd); } } else if (is_default) { Flags = new CodeBinaryOperatorExpression(Flags, Or, Default); } }
public ArgInfo (int idx, UserType type, ArgCount count, string name, bool is_default, bool is_ordered) { Idx = idx; Type = type; Count = count; Name = name; switch (count) { case ArgCount.ZeroOrMore: Flags = new CodeBinaryOperatorExpression (Optional, Or, Multi); break; case ArgCount.OneOrMore: Flags = Multi; break; case ArgCount.Optional: Flags = Optional; break; case ArgCount.Standard: Flags = Standard; break; default: throw new Exception ("Unsupported ArgCount kind " + Count.ToString ()); } if (is_ordered) { Flags = new CodeBinaryOperatorExpression (Flags, Or, Ordered); if (is_default) Flags = new CodeBinaryOperatorExpression (Flags, Or, DefOrd); } else if (is_default) { Flags = new CodeBinaryOperatorExpression (Flags, Or, Default); } }