Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
99 lines (82 loc) · 2.82 KB

File metadata and controls

99 lines (82 loc) · 2.82 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.*;
import org.luaj.vm2.lib.OneArgFunction;
import org.luaj.vm2.lib.VarArgFunction;
import org.luaj.vm2.LuaClosure;
import org.luaj.vm2.LuaFunction;
import org.luaj.vm2.LuaString;
import org.luaj.vm2.LuaTable;
import org.luaj.vm2.LuaThread;
import org.luaj.vm2.LuaValue;
import org.luaj.vm2.LoadState;
import org.luaj.vm2.UpValue;
import org.luaj.vm2.Varargs;
/**
*
* @author admin
*/
public class XLuaLib extends OneArgFunction {
// Type I
// Type V
//public static final int INIT = 0;
public static final int DOCALL = 0;
public static final int DOCALL_A = 1;
public static final int DOCALL_B = 2;
public static final int DOCALL_C = 3;
public static final int DOCALL_D = 4;
public static final int DOCALL_E = 5;
public static final int DOCALL_F = 6;
public static final int DOCALL_G = 7;
public static XLuaLib XLUALIB = null;
public XLuaLib () {
XLUALIB = this;
}
public LuaValue call (LuaValue arg) {
bind(env, XLuaLibV.class, new String[] {
"DoCall", "DoCallA", "DoCallB", "DoCallC", "DoCallD", "DoCallE",
"DoCallF", "DoCallG",
} );
return env;
}
public static final class XLuaLibV extends VarArgFunction {
protected XLuaLib xlualib;
public Varargs invoke (Varargs args) {
switch (opcode) {
case DOCALL:
return DoCall(args, XLuaStack.MF_FUNCTION_GROUP_DEF);
case DOCALL_A:
return DoCall(args, XLuaStack.MF_FUNCTION_GROUP_A);
case DOCALL_B:
return DoCall(args, XLuaStack.MF_FUNCTION_GROUP_B);
case DOCALL_C:
return DoCall(args, XLuaStack.MF_FUNCTION_GROUP_C);
case DOCALL_D:
return DoCall(args, XLuaStack.MF_FUNCTION_GROUP_D);
case DOCALL_E:
return DoCall(args, XLuaStack.MF_FUNCTION_GROUP_E);
case DOCALL_F:
return DoCall(args, XLuaStack.MF_FUNCTION_GROUP_F);
case DOCALL_G:
return DoCall(args, XLuaStack.MF_FUNCTION_GROUP_G);
}
return NONE;
}
public Varargs DoCall (Varargs args, int funcGroup) {
XLuaState state = XLuaGlobal.Get().GetStateByState(LuaThread.getGlobals());
if (state == null) {
return null;
}
if (args.narg() < 1) {
error("DoCall: No function identifier passed");
return null;
}
String func = args.checkjstring(1);
return state.stack.CallMMFFunction(func, funcGroup, state._G, args.subargs(2));
}
}
}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.