MCPcopy Create free account
hub / github.com/cretz/stackparam / parse_instruction

Method parse_instruction

src/bytecode/io/reader.rs:331–583  ·  view source on GitHub ↗
(reader: &mut BlockReader, current_offset: usize)

Source from the content-addressed store, hash-verified

329 }
330
331 fn parse_instruction(reader: &mut BlockReader, current_offset: usize) -> Instruction {
332 let opcode = reader.get_u8();
333
334 let instruction = match opcode {
335 0x32 => Instruction::AALOAD,
336 0x53 => Instruction::AASTORE,
337 0x01 => Instruction::ACONST_NULL,
338 0x19 => Instruction::ALOAD(reader.get_u8()),
339 0x2a => Instruction::ALOAD_0,
340 0x2b => Instruction::ALOAD_1,
341 0x2c => Instruction::ALOAD_2,
342 0x2d => Instruction::ALOAD_3,
343 0xbd => Instruction::ANEWARRAY(reader.get_u16()),
344 0xb0 => Instruction::ARETURN,
345 0xbe => Instruction::ARRAYLENGTH,
346 0x3a => Instruction::ASTORE(reader.get_u8()),
347 0x4b => Instruction::ASTORE_0,
348 0x4c => Instruction::ASTORE_1,
349 0x4d => Instruction::ASTORE_2,
350 0x4e => Instruction::ASTORE_3,
351 0xbf => Instruction::ATHROW,
352 0x33 => Instruction::BALOAD,
353 0x54 => Instruction::BASTORE,
354 0x10 => Instruction::BIPUSH(reader.get_u8()),
355 0x34 => Instruction::CALOAD,
356 0x55 => Instruction::CASTORE,
357 0xc0 => Instruction::CHECKCAST(reader.get_u16()),
358 0x90 => Instruction::D2F,
359 0x8e => Instruction::D2I,
360 0x8f => Instruction::D2L,
361 0x63 => Instruction::DADD,
362 0x31 => Instruction::DALOAD,
363 0x52 => Instruction::DASTORE,
364 0x97 => Instruction::DCMPL,
365 0x98 => Instruction::DCMPG,
366 0x0e => Instruction::DCONST_0,
367 0x0f => Instruction::DCONST_1,
368 0x6f => Instruction::DDIV,
369 0x18 => Instruction::DLOAD(reader.get_u8()),
370 0x26 => Instruction::DLOAD_0,
371 0x27 => Instruction::DLOAD_1,
372 0x28 => Instruction::DLOAD_2,
373 0x29 => Instruction::DLOAD_3,
374 0x6b => Instruction::DMUL,
375 0x77 => Instruction::DNEG,
376 0x73 => Instruction::DREM,
377 0xaf => Instruction::DRETURN,
378 0x39 => Instruction::DSTORE(reader.get_u8()),
379 0x47 => Instruction::DSTORE_0,
380 0x48 => Instruction::DSTORE_1,
381 0x49 => Instruction::DSTORE_2,
382 0x4a => Instruction::DSTORE_3,
383 0x67 => Instruction::DSUB,
384 0x59 => Instruction::DUP,
385 0x5a => Instruction::DUP_X1,
386 0x5b => Instruction::DUP_X2,
387 0x5c => Instruction::DUP2,
388 0x5d => Instruction::DUP2_X1,

Callers

nothing calls this directly

Calls 4

get_u8Method · 0.80
get_u16Method · 0.80
get_u32Method · 0.80
get_nMethod · 0.80

Tested by

no test coverage detected