List of usage examples for org.objectweb.asm ClassReader readShort
public short readShort(final int offset)
From source file:com.navercorp.pinpoint.profiler.instrument.classreading.SimpleClassMetadataReader.java
License:Apache License
SimpleClassMetadataReader(byte[] classBinary) { if (classBinary == null) { throw new NullPointerException("classBinary must not be null"); }// ww w .ja va2 s .c o m final ClassReader classReader = new ClassReader(classBinary); int accessFlag = classReader.getAccess(); String className = classReader.getClassName(); String superClassName = classReader.getSuperName(); String[] interfaceNameList = classReader.getInterfaces(); // int offset = 0; // int version = classReader.readShort(offset + 6); // offset is zero int version = classReader.readShort(6); this.simpleClassMetadata = new DefaultSimpleClassMetadata(version, accessFlag, className, superClassName, interfaceNameList, classBinary); }
From source file:com.sun.tdk.jcov.instrument.CharacterRangeTableAttribute.java
License:Open Source License
@Override protected Attribute read(ClassReader cr, int off, int len, char[] buf, int codeOff, Label[] labels) { int length = cr.readShort(off); CRTEntry[] entries = new CRTEntry[length]; for (int i = 0; i < length; ++i) { int eoff = off + 2 + (i * 14); int start_pc = cr.readShort(eoff + 0); int end_pc = cr.readShort(eoff + 2); int char_start = cr.readInt(eoff + 4); int char_end = cr.readInt(eoff + 8); int flags = cr.readShort(eoff + 12); entries[i] = new CRTEntry(rootId, start_pc, end_pc, char_start, char_end, flags); }//from w w w . j a v a2s.c o m return new CharacterRangeTableAttribute(rootId, length, entries); }