MCPcopy Create free account
hub / github.com/Hiro420/NikkeTools / Expression

Class Expression

UnLuac/src/unluac/decompile/expression/Expression.java:10–284  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8import unluac.decompile.target.Target;
9
10abstract public class Expression {
11
12 public static final int PRECEDENCE_OR = 1;
13 public static final int PRECEDENCE_AND = 2;
14 public static final int PRECEDENCE_COMPARE = 3;
15 public static final int PRECEDENCE_BOR = 4;
16 public static final int PRECEDENCE_BXOR = 5;
17 public static final int PRECEDENCE_BAND = 6;
18 public static final int PRECEDENCE_SHIFT = 7;
19 public static final int PRECEDENCE_CONCAT = 8;
20 public static final int PRECEDENCE_ADD = 9;
21 public static final int PRECEDENCE_MUL = 10;
22 public static final int PRECEDENCE_UNARY = 11;
23 public static final int PRECEDENCE_POW = 12;
24 public static final int PRECEDENCE_ATOMIC = 13;
25
26 public static final int ASSOCIATIVITY_NONE = 0;
27 public static final int ASSOCIATIVITY_LEFT = 1;
28 public static final int ASSOCIATIVITY_RIGHT = 2;
29
30 static public enum BinaryOperation {
31 CONCAT("..", PRECEDENCE_CONCAT, ASSOCIATIVITY_RIGHT),
32 ADD("+", PRECEDENCE_ADD, ASSOCIATIVITY_LEFT),
33 SUB("-", PRECEDENCE_ADD, ASSOCIATIVITY_LEFT),
34 MUL("*", PRECEDENCE_MUL, ASSOCIATIVITY_LEFT),
35 DIV("/", PRECEDENCE_MUL, ASSOCIATIVITY_LEFT),
36 IDIV("//", PRECEDENCE_MUL, ASSOCIATIVITY_LEFT),
37 MOD("%", PRECEDENCE_MUL, ASSOCIATIVITY_LEFT),
38 POW("^", PRECEDENCE_POW, ASSOCIATIVITY_RIGHT),
39 BAND("&", PRECEDENCE_BAND, ASSOCIATIVITY_LEFT),
40 BOR("|", PRECEDENCE_BOR, ASSOCIATIVITY_LEFT),
41 BXOR("~", PRECEDENCE_BXOR, ASSOCIATIVITY_LEFT),
42 SHL("<<", PRECEDENCE_SHIFT, ASSOCIATIVITY_LEFT),
43 SHR(">>", PRECEDENCE_SHIFT, ASSOCIATIVITY_LEFT),
44 OR("or", PRECEDENCE_OR, ASSOCIATIVITY_NONE),
45 AND("and", PRECEDENCE_AND, ASSOCIATIVITY_NONE),
46 ;
47
48 public final String op;
49 public final int precedence;
50 public final int associativity;
51
52 private BinaryOperation(String op, int precedence, int associativity) {
53 this.op = op;
54 this.precedence = precedence;
55 this.associativity = associativity;
56 }
57 }
58
59 static public enum UnaryOperation {
60 UNM("-"),
61 NOT("not "),
62 LEN("#"),
63 BNOT("~"),
64 ;
65
66 public final String op;
67

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected