diff src/luan/impl/LuanImpl.java @ 1542:d4407e8de707

disallow duplicates in table constructor
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 20 Sep 2020 15:53:58 -0600
parents d9a5405a3102
children b89212fd04b5
line wrap: on
line diff
--- a/src/luan/impl/LuanImpl.java	Sun Sep 13 15:50:52 2020 -0600
+++ b/src/luan/impl/LuanImpl.java	Sun Sep 20 15:53:58 2020 -0600
@@ -236,11 +236,14 @@
 				TableField tblFld = (TableField)fld;
 				Object key = tblFld.key;
 				Object value = tblFld.value;
-				if( key != null && value != null )
-					table.rawPut(key,value);
+				if( key != null && value != null ) {
+					if( table.rawPut(key,value) != null )
+						throw new LuanException("duplicate key in table constructor: "+key);
+				}
 			} else {
 				i++;
-				table.rawPut(i,fld);
+				if( table.rawPut(i,fld) != null )
+					throw new LuanException("duplicate key in table constructor: "+i);
 			}
 		}
 		return table;