comparison core/src/luan/LuanJavaFunction.java @ 446:bbad2d06f728

remove automatic conversion from string to number
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 04 May 2015 16:21:17 -0600
parents cc7d246bda2a
children 0bd42e774c50
comparison
equal deleted inserted replaced
445:cc7d246bda2a 446:bbad2d06f728
244 return obj; 244 return obj;
245 if( obj instanceof Number ) { 245 if( obj instanceof Number ) {
246 Number n = (Number)obj; 246 Number n = (Number)obj;
247 return n.doubleValue(); 247 return n.doubleValue();
248 } 248 }
249 if( obj instanceof String ) {
250 String s = (String)obj;
251 try {
252 return Double.valueOf(s);
253 } catch(NumberFormatException e) {}
254 }
255 return obj; 249 return obj;
256 } 250 }
257 @Override public String toString() { 251 @Override public String toString() {
258 return "ARG_DOUBLE"; 252 return "ARG_DOUBLE";
259 } 253 }
264 if( obj instanceof Float ) 258 if( obj instanceof Float )
265 return obj; 259 return obj;
266 if( obj instanceof Number ) { 260 if( obj instanceof Number ) {
267 Number n = (Number)obj; 261 Number n = (Number)obj;
268 return n.floatValue(); 262 return n.floatValue();
269 }
270 if( obj instanceof String ) {
271 String s = (String)obj;
272 try {
273 return Float.valueOf(s);
274 } catch(NumberFormatException e) {}
275 } 263 }
276 return obj; 264 return obj;
277 } 265 }
278 @Override public String toString() { 266 @Override public String toString() {
279 return "ARG_FLOAT"; 267 return "ARG_FLOAT";
288 Number n = (Number)obj; 276 Number n = (Number)obj;
289 long r = n.longValue(); 277 long r = n.longValue();
290 if( r==n.doubleValue() ) 278 if( r==n.doubleValue() )
291 return r; 279 return r;
292 } 280 }
293 else if( obj instanceof String ) {
294 String s = (String)obj;
295 try {
296 return Long.valueOf(s);
297 } catch(NumberFormatException e) {}
298 }
299 return obj; 281 return obj;
300 } 282 }
301 @Override public String toString() { 283 @Override public String toString() {
302 return "ARG_LONG"; 284 return "ARG_LONG";
303 } 285 }
311 Number n = (Number)obj; 293 Number n = (Number)obj;
312 int r = n.intValue(); 294 int r = n.intValue();
313 if( r==n.doubleValue() ) 295 if( r==n.doubleValue() )
314 return r; 296 return r;
315 } 297 }
316 else if( obj instanceof String ) {
317 String s = (String)obj;
318 try {
319 return Integer.valueOf(s);
320 } catch(NumberFormatException e) {}
321 }
322 return obj; 298 return obj;
323 } 299 }
324 @Override public String toString() { 300 @Override public String toString() {
325 return "ARG_INTEGER"; 301 return "ARG_INTEGER";
326 } 302 }
334 Number n = (Number)obj; 310 Number n = (Number)obj;
335 short r = n.shortValue(); 311 short r = n.shortValue();
336 if( r==n.doubleValue() ) 312 if( r==n.doubleValue() )
337 return r; 313 return r;
338 } 314 }
339 else if( obj instanceof String ) {
340 String s = (String)obj;
341 try {
342 return Short.valueOf(s);
343 } catch(NumberFormatException e) {}
344 }
345 return obj; 315 return obj;
346 } 316 }
347 @Override public String toString() { 317 @Override public String toString() {
348 return "ARG_SHORT"; 318 return "ARG_SHORT";
349 } 319 }
356 if( obj instanceof Number ) { 326 if( obj instanceof Number ) {
357 Number n = (Number)obj; 327 Number n = (Number)obj;
358 byte r = n.byteValue(); 328 byte r = n.byteValue();
359 if( r==n.doubleValue() ) 329 if( r==n.doubleValue() )
360 return r; 330 return r;
361 }
362 else if( obj instanceof String ) {
363 String s = (String)obj;
364 try {
365 return Byte.valueOf(s);
366 } catch(NumberFormatException e) {}
367 } 331 }
368 return obj; 332 return obj;
369 } 333 }
370 @Override public String toString() { 334 @Override public String toString() {
371 return "ARG_BYTE"; 335 return "ARG_BYTE";