Mercurial Hosting > luan
comparison src/luan/impl/LuanParser.java @ 1133:ba4daf107e07
fix security bug
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 17 Jan 2018 20:59:42 -0700 |
parents | 46732cc0ab87 |
children | 9fa8b8389578 |
comparison
equal
deleted
inserted
replaced
1132:b70102bab110 | 1133:ba4daf107e07 |
---|---|
2010 return "" | 2010 return "" |
2011 +"package luan.impl; " | 2011 +"package luan.impl; " |
2012 +"import luan.Luan; " | 2012 +"import luan.Luan; " |
2013 +"import luan.LuanFunction; " | 2013 +"import luan.LuanFunction; " |
2014 +"import luan.LuanState; " | 2014 +"import luan.LuanState; " |
2015 +"import luan.LuanJava; " | 2015 +"import luan.LuanJavaOk; " |
2016 +"import luan.LuanException; " | 2016 +"import luan.LuanException; " |
2017 +"import luan.modules.PackageLuan; " | 2017 +"import luan.modules.PackageLuan; " |
2018 | 2018 |
2019 +"public class " + className +" extends Closure { " | 2019 +"public class " + className +" extends Closure { " |
2020 +"public "+className+"(LuanJava java) throws LuanException { " | 2020 +"public "+className+"(LuanJavaOk java) throws LuanException { " |
2021 +"super("+upValueSymbols.size()+",java); " | 2021 +"super("+upValueSymbols.size()+",java); " |
2022 + init(upValueSymbols) | 2022 + init(upValueSymbols) |
2023 +"} " | 2023 +"} " |
2024 | 2024 |
2025 +"@Override public Object doCall(LuanState luan,Object[] args) throws LuanException { " | 2025 +"@Override public Object doCall(LuanState luan,Object[] args) throws LuanException { " |
2036 stmt.addNewLines(); | 2036 stmt.addNewLines(); |
2037 if( !stmt.hasReturn ) | 2037 if( !stmt.hasReturn ) |
2038 stmt.add( "return LuanFunction.NOTHING; " ); | 2038 stmt.add( "return LuanFunction.NOTHING; " ); |
2039 Expr exp = new Expr(Val.SINGLE,false); | 2039 Expr exp = new Expr(Val.SINGLE,false); |
2040 exp.add( "" | 2040 exp.add( "" |
2041 +"new Closure("+upValueSymbols.size()+",ljava) { " | 2041 +"new Closure("+upValueSymbols.size()+",javaOk) { " |
2042 +"{ " | 2042 +"{ " |
2043 + init(upValueSymbols) | 2043 + init(upValueSymbols) |
2044 +"} " | 2044 +"} " |
2045 +"@Override public Object doCall(LuanState luan,Object[] args) throws LuanException { " | 2045 +"@Override public Object doCall(LuanState luan,Object[] args) throws LuanException { " |
2046 ); | 2046 ); |