static public int Sort(IntPtr l)
 {
     try {
         int argc = LuaDLL.lua_gettop(l);
         if (argc == 1)
         {
             GameFramework.AttrCalc.AttrExpressionList self = (GameFramework.AttrCalc.AttrExpressionList)checkSelf(l);
             self.Sort();
             pushValue(l, true);
             return(1);
         }
         else if (matchType(l, argc, 2, typeof(System.Comparison <GameFramework.AttrCalc.IAttrExpression>)))
         {
             GameFramework.AttrCalc.AttrExpressionList self = (GameFramework.AttrCalc.AttrExpressionList)checkSelf(l);
             System.Comparison <GameFramework.AttrCalc.IAttrExpression> a1;
             LuaDelegation.checkDelegate(l, 2, out a1);
             self.Sort(a1);
             pushValue(l, true);
             return(1);
         }
         else if (matchType(l, argc, 2, typeof(IComparer <GameFramework.AttrCalc.IAttrExpression>)))
         {
             GameFramework.AttrCalc.AttrExpressionList self = (GameFramework.AttrCalc.AttrExpressionList)checkSelf(l);
             System.Collections.Generic.IComparer <GameFramework.AttrCalc.IAttrExpression> a1;
             checkType(l, 2, out a1);
             self.Sort(a1);
             pushValue(l, true);
             return(1);
         }
         else if (argc == 4)
         {
             GameFramework.AttrCalc.AttrExpressionList self = (GameFramework.AttrCalc.AttrExpressionList)checkSelf(l);
             System.Int32 a1;
             checkType(l, 2, out a1);
             System.Int32 a2;
             checkType(l, 3, out a2);
             System.Collections.Generic.IComparer <GameFramework.AttrCalc.IAttrExpression> a3;
             checkType(l, 4, out a3);
             self.Sort(a1, a2, a3);
             pushValue(l, true);
             return(1);
         }
         pushValue(l, false);
         LuaDLL.lua_pushstring(l, "No matched override function to call");
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }