static public int constructor(IntPtr l)
 {
     try {
         int        argc = LuaDLL.lua_gettop(l);
         ObjHashSet o;
         if (argc == 1)
         {
             o = new ObjHashSet();
             pushValue(l, true);
             pushValue(l, o);
             return(2);
         }
         else if (argc == 2)
         {
             System.Collections.Generic.IEnumerable <System.Object> a1;
             checkType(l, 2, out a1);
             o = new ObjHashSet(a1);
             pushValue(l, true);
             pushValue(l, o);
             return(2);
         }
         return(error(l, "New object failed."));
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
 static public int get_Comparer(IntPtr l)
 {
     try {
         ObjHashSet self = (ObjHashSet)checkSelf(l);
         pushValue(l, true);
         pushValue(l, self.Comparer);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
 static public int Clear(IntPtr l)
 {
     try {
         ObjHashSet self = (ObjHashSet)checkSelf(l);
         self.Clear();
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
 static public int OnDeserialization(IntPtr l)
 {
     try {
         ObjHashSet    self = (ObjHashSet)checkSelf(l);
         System.Object a1;
         checkType(l, 2, out a1);
         self.OnDeserialization(a1);
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
 static public int UnionWith(IntPtr l)
 {
     try {
         ObjHashSet self = (ObjHashSet)checkSelf(l);
         System.Collections.Generic.IEnumerable <System.Object> a1;
         checkType(l, 2, out a1);
         self.UnionWith(a1);
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
 static public int Remove(IntPtr l)
 {
     try {
         ObjHashSet    self = (ObjHashSet)checkSelf(l);
         System.Object a1;
         checkType(l, 2, out a1);
         var ret = self.Remove(a1);
         pushValue(l, true);
         pushValue(l, ret);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
 static public int IsProperSupersetOf(IntPtr l)
 {
     try {
         ObjHashSet self = (ObjHashSet)checkSelf(l);
         System.Collections.Generic.IEnumerable <System.Object> a1;
         checkType(l, 2, out a1);
         var ret = self.IsProperSupersetOf(a1);
         pushValue(l, true);
         pushValue(l, ret);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
 static public int RemoveWhere(IntPtr l)
 {
     try {
         ObjHashSet self = (ObjHashSet)checkSelf(l);
         System.Predicate <System.Object> a1;
         LuaDelegation.checkDelegate(l, 2, out a1);
         var ret = self.RemoveWhere(a1);
         pushValue(l, true);
         pushValue(l, ret);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
 static public int GetObjectData(IntPtr l)
 {
     try {
         ObjHashSet self = (ObjHashSet)checkSelf(l);
         System.Runtime.Serialization.SerializationInfo a1;
         checkType(l, 2, out a1);
         System.Runtime.Serialization.StreamingContext a2;
         checkValueType(l, 3, out a2);
         self.GetObjectData(a1, a2);
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }