comparison core/src/luan/modules/PickleCon.java @ 572:f1601a4ce1aa

fix stack when calling meta-methods
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 12 Jul 2015 21:34:23 -0600
parents d9df6d6cb927
children 6cc2f047019b
comparison
equal deleted inserted replaced
571:cd944b010f25 572:f1601a4ce1aa
94 if( !set.add(tbl) ) { 94 if( !set.add(tbl) ) {
95 throw luan.exception( "circular reference in table" ); 95 throw luan.exception( "circular reference in table" );
96 } 96 }
97 StringBuilder sb = new StringBuilder(); 97 StringBuilder sb = new StringBuilder();
98 sb.append( "{" ); 98 sb.append( "{" );
99 for( Map.Entry<Object,Object> entry : tbl.iterable(luan) ) { 99 for( Map.Entry<Object,Object> entry : tbl.iterable(luan.JAVA) ) {
100 sb.append( "[" ); 100 sb.append( "[" );
101 sb.append( pickle(entry.getKey(),set) ); 101 sb.append( pickle(entry.getKey(),set) );
102 sb.append( "]=" ); 102 sb.append( "]=" );
103 sb.append( pickle(entry.getValue(),set) ); 103 sb.append( pickle(entry.getValue(),set) );
104 sb.append( ", " ); 104 sb.append( ", " );
114 for( byte[] a : binaries ) { 114 for( byte[] a : binaries ) {
115 sb.append( "_binaries[#_binaries+1] = _read_binary(" + a.length + ")\n" ); 115 sb.append( "_binaries[#_binaries+1] = _read_binary(" + a.length + ")\n" );
116 } 116 }
117 } 117 }
118 for( Object obj : args ) { 118 for( Object obj : args ) {
119 sb.append( luan.toString(obj) ); 119 sb.append( luan.JAVA.toString(obj) );
120 } 120 }
121 writeString( sb.toString() ); 121 writeString( sb.toString() );
122 //System.out.println("aaaaaaaaaaaaaaaaaaaaaaaa"); 122 //System.out.println("aaaaaaaaaaaaaaaaaaaaaaaa");
123 //System.out.println(sb); 123 //System.out.println(sb);
124 //System.out.println("zzzzzzzzzzzzzzzzzzzzzzzz"); 124 //System.out.println("zzzzzzzzzzzzzzzzzzzzzzzz");