comparison core/src/luan/impl/UnmExpr.java @ 647:8e8c30b72e9b

move methods from LuanState to Luan
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 29 Mar 2016 20:39:14 -0600
parents cdc70de628b5
children
comparison
equal deleted inserted replaced
646:cdc70de628b5 647:8e8c30b72e9b
16 @Override public Object eval(LuanStateImpl luan) throws LuanException { 16 @Override public Object eval(LuanStateImpl luan) throws LuanException {
17 Object o = op.eval(luan); 17 Object o = op.eval(luan);
18 if( o instanceof Number ) 18 if( o instanceof Number )
19 return -((Number)o).doubleValue(); 19 return -((Number)o).doubleValue();
20 if( o instanceof LuanTable ) { 20 if( o instanceof LuanTable ) {
21 LuanFunction fn = luan.getHandlerFunction("__unm",(LuanTable)o); 21 LuanFunction fn = Luan.getHandlerFunction("__unm",(LuanTable)o);
22 if( fn != null ) { 22 if( fn != null ) {
23 return Luan.first(fn.call(luan,new Object[]{o})); 23 return Luan.first(fn.call(luan,new Object[]{o}));
24 } 24 }
25 } 25 }
26 throw new LuanException("attempt to perform arithmetic on a "+Luan.type(o)+" value"); 26 throw new LuanException("attempt to perform arithmetic on a "+Luan.type(o)+" value");