Mercurial Hosting > luan
changeset 69:aeedefd3e3f3
minor
git-svn-id: https://luan-java.googlecode.com/svn/trunk@70 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Wed, 23 Jan 2013 03:18:13 +0000 |
parents | 877288464542 |
children | 59431bb8d0bf |
files | src/luan/LuanJavaFunction.java |
diffstat | 1 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/luan/LuanJavaFunction.java Wed Jan 23 02:24:41 2013 +0000 +++ b/src/luan/LuanJavaFunction.java Wed Jan 23 03:18:13 2013 +0000 @@ -86,17 +86,18 @@ private void checkArgs(LuanState luan,Object[] args) throws LuanException { Class<?>[] a = getParameterTypes(); - for( int i=0; i<a.length; i++ ) { + int start = takesLuaState ? 1 : 0; + for( int i=start; i<a.length; i++ ) { Class<?> paramType = a[i]; Object arg = args[i]; if( !paramType.isInstance(arg) ) { String expected = paramType.getSimpleName(); if( arg==null ) { if( paramType.isPrimitive() ) - throw new LuanException(luan,LuanElement.JAVA,"bad argument #"+(i+1)+" ("+expected+" expected, got nil)"); + throw new LuanException(luan,LuanElement.JAVA,"bad argument #"+(i+1-start)+" ("+expected+" expected, got nil)"); } else { String got = arg.getClass().getSimpleName(); - throw new LuanException(luan,LuanElement.JAVA,"bad argument #"+(i+1)+" ("+expected+" expected, got "+got+")"); + throw new LuanException(luan,LuanElement.JAVA,"bad argument #"+(i+1-start)+" ("+expected+" expected, got "+got+")"); } } }