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

Class LFunctionType52

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

Source from the content-addressed store, hash-verified

268}
269
270class LFunctionType52 extends LFunctionType {
271
272 protected void parse_main(ByteBuffer buffer, BHeader header, LFunctionParseState s) {
273 s.lineBegin = header.integer.parse(buffer, header).asInt();
274 s.lineEnd = header.integer.parse(buffer, header).asInt();
275 s.lenParameter = 0xFF & buffer.get();
276 s.vararg = 0xFF & buffer.get();
277 s.maximumStackSize = 0xFF & buffer.get();
278 parse_code(buffer, header, s);
279 parse_constants(buffer, header, s);
280 parse_upvalues(buffer, header, s);
281 s.name = header.string.parse(buffer, header);
282 parse_debug(buffer, header, s);
283 }
284
285 @Override
286 public List<Directive> get_directives() {
287 return Arrays.asList(new Directive[] {
288 Directive.LINEDEFINED,
289 Directive.LASTLINEDEFINED,
290 Directive.NUMPARAMS,
291 Directive.IS_VARARG,
292 Directive.MAXSTACKSIZE,
293 Directive.SOURCE,
294 });
295 }
296
297 @Override
298 public void write(OutputStream out, BHeader header, LFunction object) throws IOException {
299 header.integer.write(out, header, new BInteger(object.linedefined));
300 header.integer.write(out, header, new BInteger(object.lastlinedefined));
301 out.write(object.numParams);
302 out.write(object.vararg);
303 out.write(object.maximumStackSize);
304 write_code(out, header, object);
305 write_constants(out, header, object);
306 write_upvalues(out, header, object);
307 header.string.write(out, header, object.name);
308 write_debug(out, header, object);
309 }
310
311}
312
313class LFunctionType53 extends LFunctionType {
314

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected