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

Class LFunctionType51

UnLuac/src/unluac/parse/LFunctionType.java:226–268  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

224}
225
226class LFunctionType51 extends LFunctionType {
227
228 protected void parse_main(ByteBuffer buffer, BHeader header, LFunctionParseState s) {
229 s.name = header.string.parse(buffer, header);
230 s.lineBegin = header.integer.parse(buffer, header).asInt();
231 s.lineEnd = header.integer.parse(buffer, header).asInt();
232 s.lenUpvalues = 0xFF & buffer.get();
233 create_upvalues(buffer, header, s);
234 s.lenParameter = 0xFF & buffer.get();
235 s.vararg = 0xFF & buffer.get();
236 s.maximumStackSize = 0xFF & buffer.get();
237 parse_code(buffer, header, s);
238 parse_constants(buffer, header, s);
239 parse_debug(buffer, header, s);
240 }
241
242 @Override
243 public List<Directive> get_directives() {
244 return Arrays.asList(new Directive[] {
245 Directive.SOURCE,
246 Directive.LINEDEFINED,
247 Directive.LASTLINEDEFINED,
248 Directive.NUMPARAMS,
249 Directive.IS_VARARG,
250 Directive.MAXSTACKSIZE,
251 });
252 }
253
254 @Override
255 public void write(OutputStream out, BHeader header, LFunction object) throws IOException {
256 header.string.write(out, header, object.name);
257 header.integer.write(out, header, new BInteger(object.linedefined));
258 header.integer.write(out, header, new BInteger(object.lastlinedefined));
259 out.write(object.numUpvalues);
260 out.write(object.numParams);
261 out.write(object.vararg);
262 out.write(object.maximumStackSize);
263 write_code(out, header, object);
264 write_constants(out, header, object);
265 write_debug(out, header, object);
266 }
267
268}
269
270class LFunctionType52 extends LFunctionType {
271

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected