List of usage examples for org.eclipse.jdt.internal.core.util Disassembler Disassembler
Disassembler
From source file:org.codehaus.jdt.groovy.model.GroovyClassFileWorkingCopy.java
License:Open Source License
/** * @see Openable#openBuffer(IProgressMonitor, Object) *///from w w w. j a v a 2s. c o m protected IBuffer openBuffer(IProgressMonitor pm, Object info) throws JavaModelException { // create buffer IBuffer buffer = this.owner.createBuffer(this); if (buffer == null) return null; // set the buffer source if (buffer.getCharacters() == null) { IBuffer classFileBuffer = this.classFile.getBuffer(); if (classFileBuffer != null) { buffer.setContents(classFileBuffer.getCharacters()); } else { // Disassemble IClassFileReader reader = ToolFactory.createDefaultClassFileReader(this.classFile, IClassFileReader.ALL); Disassembler disassembler = new Disassembler(); String contents = disassembler.disassemble(reader, Util.getLineSeparator("", getJavaProject()), //$NON-NLS-1$ ClassFileBytesDisassembler.WORKING_COPY); buffer.setContents(contents); } } // add buffer to buffer cache BufferManager bufManager = getBufferManager(); // GROOVY Change access to private member // old // bufManager.addBuffer(buffer); // new if (buffer.getContents() != null) { ReflectionUtils.executePrivateMethod(BufferManager.class, "addBuffer", new Class<?>[] { IBuffer.class }, //$NON-NLS-1$ bufManager, new Object[] { buffer }); } // GROOVY End // listen to buffer changes buffer.addBufferChangedListener(this); return buffer; }
From source file:org.eclipse.che.jdt.core.ToolFactory.java
License:Open Source License
/** * Create a classfile bytecode disassembler, able to produce a String representation of a given classfile. * * @return a classfile bytecode disassembler * @see org.eclipse.jdt.core.util.ClassFileBytesDisassembler * @since 2.1//from w w w . j a v a 2 s .c o m */ public static ClassFileBytesDisassembler createDefaultClassFileBytesDisassembler() { return new Disassembler(); }