comparison src/luan/interp/ExpList.java @ 49:8ede219cd111

add WebShell git-svn-id: https://luan-java.googlecode.com/svn/trunk@50 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Fri, 28 Dec 2012 19:35:04 +0000
parents 64ecb7a3aad7
children 754e6030c029
comparison
equal deleted inserted replaced
48:64ecb7a3aad7 49:8ede219cd111
8 8
9 9
10 final class ExpList implements Expressions { 10 final class ExpList implements Expressions {
11 11
12 private interface Adder { 12 private interface Adder {
13 public void addTo(LuanStateImpl lua,List<Object> list) throws LuanException; 13 public void addTo(LuanStateImpl luan,List<Object> list) throws LuanException;
14 public Code code(); 14 public Code code();
15 } 15 }
16 16
17 private static class ExprAdder implements Adder { 17 private static class ExprAdder implements Adder {
18 private final Expr expr; 18 private final Expr expr;
19 19
20 ExprAdder(Expr expr) { 20 ExprAdder(Expr expr) {
21 this.expr = expr; 21 this.expr = expr;
22 } 22 }
23 23
24 public void addTo(LuanStateImpl lua,List<Object> list) throws LuanException { 24 public void addTo(LuanStateImpl luan,List<Object> list) throws LuanException {
25 list.add( expr.eval(lua) ); 25 list.add( expr.eval(luan) );
26 } 26 }
27 27
28 public Code code() { 28 public Code code() {
29 return expr; 29 return expr;
30 } 30 }
36 36
37 ExpressionsAdder(Expressions expressions) { 37 ExpressionsAdder(Expressions expressions) {
38 this.expressions = expressions; 38 this.expressions = expressions;
39 } 39 }
40 40
41 public void addTo(LuanStateImpl lua,List<Object> list) throws LuanException { 41 public void addTo(LuanStateImpl luan,List<Object> list) throws LuanException {
42 for( Object val : expressions.eval(lua) ) { 42 for( Object val : expressions.eval(luan) ) {
43 list.add( val ); 43 list.add( val );
44 } 44 }
45 } 45 }
46 46
47 public Code code() { 47 public Code code() {
79 79
80 private static final Object[] EMPTY = new Object[0]; 80 private static final Object[] EMPTY = new Object[0];
81 81
82 static final Expressions emptyExpList = new Expressions() { 82 static final Expressions emptyExpList = new Expressions() {
83 83
84 @Override public Object[] eval(LuanStateImpl lua) { 84 @Override public Object[] eval(LuanStateImpl luan) {
85 return EMPTY; 85 return EMPTY;
86 } 86 }
87 87
88 @Override public LuanSource.Element se() { 88 @Override public LuanSource.Element se() {
89 return null; 89 return null;
95 95
96 SingleExpList(Expr expr) { 96 SingleExpList(Expr expr) {
97 this.expr = expr; 97 this.expr = expr;
98 } 98 }
99 99
100 @Override public Object[] eval(LuanStateImpl lua) throws LuanException { 100 @Override public Object[] eval(LuanStateImpl luan) throws LuanException {
101 return new Object[]{expr.eval(lua)}; 101 return new Object[]{expr.eval(luan)};
102 } 102 }
103 103
104 @Override public LuanSource.Element se() { 104 @Override public LuanSource.Element se() {
105 return expr.se(); 105 return expr.se();
106 } 106 }
110 110
111 private ExpList(Adder[] adders) { 111 private ExpList(Adder[] adders) {
112 this.adders = adders; 112 this.adders = adders;
113 } 113 }
114 114
115 @Override public Object[] eval(LuanStateImpl lua) throws LuanException { 115 @Override public Object[] eval(LuanStateImpl luan) throws LuanException {
116 List<Object> list = new ArrayList<Object>(); 116 List<Object> list = new ArrayList<Object>();
117 for( Adder adder : adders ) { 117 for( Adder adder : adders ) {
118 adder.addTo(lua,list); 118 adder.addTo(luan,list);
119 } 119 }
120 return list.toArray(); 120 return list.toArray();
121 } 121 }
122 122
123 @Override public LuanSource.Element se() { 123 @Override public LuanSource.Element se() {