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

Method CodeExtract

UnLuac/src/unluac/decompile/CodeExtract.java:47–90  ·  view source on GitHub ↗
(Version version, int sizeOp, int sizeA, int sizeB, int sizeC)

Source from the content-addressed store, hash-verified

45 }
46
47 public CodeExtract(Version version, int sizeOp, int sizeA, int sizeB, int sizeC) {
48 switch(version.instructionformat.get()) {
49 case LUA50:
50 op = new Field(sizeOp, 0);
51 A = new Field(sizeA, sizeB + sizeC + sizeOp);
52 B = new Field(sizeB, sizeB + sizeOp);
53 C = new Field(sizeC, sizeOp);
54 k = null;
55 Ax = null;
56 sJ = null;
57 Bx = new Field(sizeB + sizeC, sizeOp);
58 sBx = new Field(sizeB + sizeC, sizeOp, size_to_mask(sizeB + sizeC) / 2);
59 x = new Field(32, 0);
60 break;
61 case LUA51:
62 op = new Field(6, 0);
63 A = new Field(8, 6);
64 B = new Field(9, 23);
65 C = new Field(9, 14);
66 k = null;
67 Ax = new Field(26, 6);
68 sJ = null;
69 Bx = new Field(18, 14);
70 sBx = new Field(18, 14, 131071);
71 x = new Field(32, 0);
72 break;
73 case LUA54:
74 op = new Field(7, 0);
75 A = new Field(8, 7);
76 B = new Field(8, 16);
77 C = new Field(8, 24);
78 k = new Field(1, 15);
79 Ax = new Field(25, 7);
80 sJ = new Field(25, 7, (1 << 24) - 1);
81 Bx = new Field(17, 15);
82 sBx = new Field(17, 15, (1 << 16) - 1);
83 x = new Field(32, 0);
84 break;
85 default:
86 throw new IllegalStateException();
87 }
88 Integer rk_offset = version.rkoffset.get();
89 this.rk_offset = (rk_offset == null) ? -1 : rk_offset;
90 }
91
92 public boolean is_k(int field) {
93 return field >= rk_offset;

Callers

nothing calls this directly

Calls 2

size_to_maskMethod · 0.95
getMethod · 0.45

Tested by

no test coverage detected