private void dropWeakArrayValues() { for ( int i = 0; i < array.length; ++i ) { m_metatable.arrayget(array, i); } }
@Override public LuaValue getmetatable() { return ( m_metatable != null ) ? m_metatable.toLuaValue() : null; }
public LuaValue setmetatable(LuaValue metatable) { boolean hadWeakKeys = m_metatable != null && m_metatable.useWeakKeys(); boolean hadWeakValues = m_metatable != null && m_metatable.useWeakValues(); m_metatable = metatableOf( metatable ); if ( ( hadWeakKeys != ( m_metatable != null && m_metatable.useWeakKeys() )) || ( hadWeakValues != ( m_metatable != null && m_metatable.useWeakValues() ))) { // force a rehash rehash( 0 ); } return this; }
private void rehash(int newKey) { if ( m_metatable != null && ( m_metatable.useWeakKeys() || m_metatable.useWeakValues() )) { if ( m_metatable.useWeakValues() ) { dropWeakArrayValues(); Slot newEntry; if ( m_metatable != null ) { newEntry = m_metatable.entry( valueOf(i), v ); if ( newEntry == null ) continue;
/** Set an array element */ private boolean arrayset( int key, LuaValue value ) { if ( key>0 && key<=array.length ) { array[key - 1] = value.isnil() ? null : (m_metatable != null ? m_metatable.wrap(value) : value); return true; } return false; }
/** Sort the table using a comparator. * @param comparator {@link LuaValue} to be called to compare elements. */ public void sort(LuaValue comparator) { if (m_metatable != null && m_metatable.useWeakValues()) { dropWeakArrayValues(); } int n = array.length; while ( n > 0 && array[n-1] == null ) --n; if ( n > 1 ) heapSort(n, comparator); }
? m_metatable.entry( key, value ) : defaultEntry( key, value ); hash[ index ] = ( hash[index] != null ) ? hash[index].add( entry ) : entry;
private void rehash(int newKey) { if ( m_metatable != null && ( m_metatable.useWeakKeys() || m_metatable.useWeakValues() )) { if ( m_metatable.useWeakValues() ) { dropWeakArrayValues(); Slot newEntry; if ( m_metatable != null ) { newEntry = m_metatable.entry( valueOf(i), v ); if ( newEntry == null ) continue;
/** Set an array element */ private boolean arrayset( int key, LuaValue value ) { if ( key>0 && key<=array.length ) { array[key - 1] = value.isnil() ? null : (m_metatable != null ? m_metatable.wrap(value) : value); return true; } return false; }
/** Sort the table using a comparator. * @param comparator {@link LuaValue} to be called to compare elements. */ public void sort(LuaValue comparator) { if (m_metatable != null && m_metatable.useWeakValues()) { dropWeakArrayValues(); } int n = array.length; while ( n > 0 && array[n-1] == null ) --n; if ( n > 1 ) heapSort(n, comparator); }
? m_metatable.entry( key, value ) : defaultEntry( key, value ); hash[ index ] = ( hash[index] != null ) ? hash[index].add( entry ) : entry;
private void rehash(int newKey) { if ( m_metatable != null && ( m_metatable.useWeakKeys() || m_metatable.useWeakValues() )) { if ( m_metatable.useWeakValues() ) { dropWeakArrayValues(); Slot newEntry; if ( m_metatable != null ) { newEntry = m_metatable.entry( valueOf(i), v ); if ( newEntry == null ) continue;
private void dropWeakArrayValues() { for ( int i = 0; i < array.length; ++i ) { m_metatable.arrayget(array, i); } }
public LuaValue setmetatable(LuaValue metatable) { boolean hadWeakKeys = m_metatable != null && m_metatable.useWeakKeys(); boolean hadWeakValues = m_metatable != null && m_metatable.useWeakValues(); m_metatable = metatableOf( metatable ); if ( ( hadWeakKeys != ( m_metatable != null && m_metatable.useWeakKeys() )) || ( hadWeakValues != ( m_metatable != null && m_metatable.useWeakValues() ))) { // force a rehash rehash( 0 ); } return this; }
public LuaValue getmetatable() { return ( m_metatable != null ) ? m_metatable.toLuaValue() : null; }
/** Set an array element */ private boolean arrayset( int key, LuaValue value ) { if ( key>0 && key<=array.length ) { array[key - 1] = value.isnil() ? null : (m_metatable != null ? m_metatable.wrap(value) : value); return true; } return false; }
/** Sort the table using a comparator. * @param comparator {@link LuaValue} to be called to compare elements. */ public void sort(LuaValue comparator) { if (m_metatable != null && m_metatable.useWeakValues()) { dropWeakArrayValues(); } int n = array.length; while ( n > 0 && array[n-1] == null ) --n; if ( n > 1 ) heapSort(n, comparator); }
? m_metatable.entry( key, value ) : defaultEntry( key, value ); hash[ index ] = ( hash[index] != null ) ? hash[index].add( entry ) : entry;
private void dropWeakArrayValues() { for ( int i = 0; i < array.length; ++i ) { m_metatable.arrayget(array, i); } }
@Override public LuaValue setmetatable(LuaValue metatable) { boolean hadWeakKeys = m_metatable != null && m_metatable.useWeakKeys(); boolean hadWeakValues = m_metatable != null && m_metatable.useWeakValues(); m_metatable = metatableOf( metatable ); if ( ( hadWeakKeys != ( m_metatable != null && m_metatable.useWeakKeys() )) || ( hadWeakValues != ( m_metatable != null && m_metatable.useWeakValues() ))) { // force a rehash rehash( 0 ); } return this; }