@Override public void acceptResult(CompilationResult result) { assert this.bytes == null : "duplicate result"; //$NON-NLS-1$ ClassFile[] classFiles = result.getClassFiles(); assert classFiles.length == 1; this.bytes = classFiles[0].getBytes(); } }
@Override public void acceptResult(CompilationResult result) { assert this.bytes == null : "duplicate result"; //$NON-NLS-1$ ClassFile[] classFiles = result.getClassFiles(); assert classFiles.length == 1; this.bytes = classFiles[0].getBytes(); } }
public void save(File outputdir) throws IOException { if (classFiles == null) return; for (ClassFile classFile : classFiles) { String fileName = new String(classFile.fileName()) + ".class"; File javaClassFile = new File(outputdir, fileName); FileOutputStream fout = new FileOutputStream(javaClassFile); try { BufferedOutputStream bos = new BufferedOutputStream(fout); bos.write(classFile.getBytes()); bos.close(); } finally { IoUtils.closeQuietly(fout); } } } }
public void save(File outputdir) throws IOException { if (classFiles == null) return; for (ClassFile classFile : classFiles) { String fileName = new String(classFile.fileName()) + ".class"; File javaClassFile = new File(outputdir, fileName); FileOutputStream fout = new FileOutputStream(javaClassFile); try { BufferedOutputStream bos = new BufferedOutputStream(fout); bos.write(classFile.getBytes()); bos.close(); } finally { IoUtils.closeQuietly(fout); } } } }
/** * @see ICodeSnippetRequestor */ @Override public boolean acceptClassFiles(ClassFile[] classFiles, char[] codeSnippetClassName) { int length = classFiles.length; byte[][] classFileBytes = new byte[length][]; String[][] compoundNames = new String[length][]; for (int i = 0; i < length; i++) { ClassFile classFile = classFiles[i]; classFileBytes[i] = classFile.getBytes(); char[][] classFileCompundName = classFile.getCompoundName(); int length2 = classFileCompundName.length; String[] compoundName = new String[length2]; for (int j = 0; j < length2; j++){ compoundName[j] = new String(classFileCompundName[j]); } compoundNames[i] = compoundName; } return this.requestor.acceptClassFiles(classFileBytes, compoundNames, codeSnippetClassName == null ? null : new String(codeSnippetClassName)); } /**
/** * @see ICodeSnippetRequestor */ public boolean acceptClassFiles(ClassFile[] classFiles, char[] codeSnippetClassName) { int length = classFiles.length; byte[][] classFileBytes = new byte[length][]; String[][] compoundNames = new String[length][]; for (int i = 0; i < length; i++) { ClassFile classFile = classFiles[i]; classFileBytes[i] = classFile.getBytes(); char[][] classFileCompundName = classFile.getCompoundName(); int length2 = classFileCompundName.length; String[] compoundName = new String[length2]; for (int j = 0; j < length2; j++){ compoundName[j] = new String(classFileCompundName[j]); } compoundNames[i] = compoundName; } return this.requestor.acceptClassFiles(classFileBytes, compoundNames, codeSnippetClassName == null ? null : new String(codeSnippetClassName)); } /**
/** * @see ICodeSnippetRequestor */ public boolean acceptClassFiles(ClassFile[] classFiles, char[] codeSnippetClassName) { int length = classFiles.length; byte[][] classFileBytes = new byte[length][]; String[][] compoundNames = new String[length][]; for (int i = 0; i < length; i++) { ClassFile classFile = classFiles[i]; classFileBytes[i] = classFile.getBytes(); char[][] classFileCompundName = classFile.getCompoundName(); int length2 = classFileCompundName.length; String[] compoundName = new String[length2]; for (int j = 0; j < length2; j++){ compoundName[j] = new String(classFileCompundName[j]); } compoundNames[i] = compoundName; } return this.requestor.acceptClassFiles(classFileBytes, compoundNames, codeSnippetClassName == null ? null : new String(codeSnippetClassName)); } /**
/** * @see ICodeSnippetRequestor */ public boolean acceptClassFiles(ClassFile[] classFiles, char[] codeSnippetClassName) { int length = classFiles.length; byte[][] classFileBytes = new byte[length][]; String[][] compoundNames = new String[length][]; for (int i = 0; i < length; i++) { ClassFile classFile = classFiles[i]; classFileBytes[i] = classFile.getBytes(); char[][] classFileCompundName = classFile.getCompoundName(); int length2 = classFileCompundName.length; String[] compoundName = new String[length2]; for (int j = 0; j < length2; j++){ compoundName[j] = new String(classFileCompundName[j]); } compoundNames[i] = compoundName; } return this.requestor.acceptClassFiles(classFileBytes, compoundNames, codeSnippetClassName == null ? null : new String(codeSnippetClassName)); } /**
/** * @see ICodeSnippetRequestor */ public boolean acceptClassFiles(ClassFile[] classFiles, char[] codeSnippetClassName) { int length = classFiles.length; byte[][] classFileBytes = new byte[length][]; String[][] compoundNames = new String[length][]; for (int i = 0; i < length; i++) { ClassFile classFile = classFiles[i]; classFileBytes[i] = classFile.getBytes(); char[][] classFileCompundName = classFile.getCompoundName(); int length2 = classFileCompundName.length; String[] compoundName = new String[length2]; for (int j = 0; j < length2; j++){ compoundName[j] = new String(classFileCompundName[j]); } compoundNames[i] = compoundName; } return this.requestor.acceptClassFiles(classFileBytes, compoundNames, codeSnippetClassName == null ? null : new String(codeSnippetClassName)); } /**
private static Map<String, byte[]> classes(final CompilationResult result) { final Map<String, byte[]> classes = new HashMap<String, byte[]>(); if (!result.hasErrors()) { for (final ClassFile cls : result.getClassFiles()) { final String className = CharOperation .toString(cls.getCompoundName()); classes.put(className, cls.getBytes()); } } return classes; }
public void acceptResult( org.eclipse.jdt.internal.compiler.CompilationResult result ) { if (result.hasProblems()) { if (result.hasErrors()) hasErrors = true; problems.addAll(Arrays.asList((IProblem[]) result.getProblems())); } if (!result.hasErrors()) { ClassFile[] clazzFiles = result.getClassFiles(); for (ClassFile clazzFile : clazzFiles) { char[][] compoundName = clazzFile.getCompoundName(); StringBuffer clazzName = new StringBuffer(); for (char[] part : compoundName) { if (clazzName.length() > 0) { clazzName.append('.'); } clazzName.append(part); } byteCode.put(clazzName.toString(), clazzFile.getBytes()); } } } }
@Override public void acceptResult(CompilationResult result) { if (result.hasErrors()) { IProblem[] problems = result.getProblems(); if (problemList == null) problemList = new ArrayList<>(problems.length); Collections.addAll(problemList, problems); } else { ClassFile[] classFiles = result.getClassFiles(); for (ClassFile classFile : classFiles) targetClassLoader.addClass(className, classFile.getBytes()); } }
@Override public void acceptResult(CompilationResult result) { if (result.hasErrors()) { IProblem[] problems = result.getProblems(); if (problemList == null) problemList = new ArrayList<>(problems.length); Collections.addAll(problemList, problems); } else { ClassFile[] classFiles = result.getClassFiles(); for (ClassFile classFile : classFiles) targetClassLoader.addClass(className, classFile.getBytes()); } }
@Override public void acceptResult(CompilationResult result) { if (result.hasErrors()) { IProblem[] problems = result.getProblems(); if (problemList == null) problemList = new ArrayList<>(problems.length); Collections.addAll(problemList, problems); } else { ClassFile[] classFiles = result.getClassFiles(); for (ClassFile classFile : classFiles) targetClassLoader.addClass(className, classFile.getBytes()); } }
protected void writeClassFileContents(ClassFile classFile, IFile file, String qualifiedFileName, boolean isTopLevelType, SourceFile compilationUnit) throws CoreException { // InputStream input = new SequenceInputStream( // new ByteArrayInputStream(classFile.header, 0, classFile.headerOffset), // new ByteArrayInputStream(classFile.contents, 0, classFile.contentsOffset)); InputStream input = new ByteArrayInputStream(classFile.getBytes()); if (file.exists()) { // Deal with shared output folders... last one wins... no collision cases detected if (JavaBuilder.DEBUG) System.out.println("Writing changed class file " + file.getName());//$NON-NLS-1$ if (!file.isDerived()) file.setDerived(true, null); file.setContents(input, true, false, null); } else { // Default implementation just writes out the bytes for the new class file... if (JavaBuilder.DEBUG) System.out.println("Writing new class file " + file.getName());//$NON-NLS-1$ file.create(input, IResource.FORCE | IResource.DERIVED, null); } } }
protected void writeClassFileContents(ClassFile classFile, IFile file, String qualifiedFileName, boolean isTopLevelType, SourceFile compilationUnit) throws CoreException { // InputStream input = new SequenceInputStream( // new ByteArrayInputStream(classFile.header, 0, classFile.headerOffset), // new ByteArrayInputStream(classFile.contents, 0, classFile.contentsOffset)); InputStream input = new ByteArrayInputStream(classFile.getBytes()); if (file.exists()) { // Deal with shared output folders... last one wins... no collision cases detected if (JavaBuilder.DEBUG) System.out.println("Writing changed class file " + file.getName());//$NON-NLS-1$ if (!file.isDerived()) file.setDerived(true, null); file.setContents(input, true, false, null); } else { // Default implementation just writes out the bytes for the new class file... if (JavaBuilder.DEBUG) System.out.println("Writing new class file " + file.getName());//$NON-NLS-1$ file.create(input, IResource.FORCE | IResource.DERIVED, null); } } }
protected void writeClassFileContents(ClassFile classFile, IFile file, String qualifiedFileName, boolean isTopLevelType, SourceFile compilationUnit) throws CoreException { // InputStream input = new SequenceInputStream( // new ByteArrayInputStream(classFile.header, 0, classFile.headerOffset), // new ByteArrayInputStream(classFile.contents, 0, classFile.contentsOffset)); InputStream input = new ByteArrayInputStream(classFile.getBytes()); if (file.exists()) { // Deal with shared output folders... last one wins... no collision cases detected if (JavaBuilder.DEBUG) System.out.println("Writing changed class file " + file.getName());//$NON-NLS-1$ if (!file.isDerived()) file.setDerived(true, null); file.setContents(input, true, false, null); } else { // Default implementation just writes out the bytes for the new class file... if (JavaBuilder.DEBUG) System.out.println("Writing new class file " + file.getName());//$NON-NLS-1$ file.create(input, IResource.FORCE | IResource.DERIVED, null); } } }
protected void writeClassFileContents(ClassFile classFile, IFile file, String qualifiedFileName, boolean isTopLevelType, SourceFile compilationUnit) throws CoreException { // InputStream input = new SequenceInputStream( // new ByteArrayInputStream(classFile.header, 0, classFile.headerOffset), // new ByteArrayInputStream(classFile.contents, 0, classFile.contentsOffset)); InputStream input = new ByteArrayInputStream(classFile.getBytes()); if (file.exists()) { // Deal with shared output folders... last one wins... no collision cases detected if (JavaBuilder.DEBUG) System.out.println("Writing changed class file " + file.getName());//$NON-NLS-1$ if (!file.isDerived()) file.setDerived(true, null); file.setContents(input, true, false, null); } else { // Default implementation just writes out the bytes for the new class file... if (JavaBuilder.DEBUG) System.out.println("Writing new class file " + file.getName());//$NON-NLS-1$ file.create(input, IResource.FORCE | IResource.DERIVED, null); } } }
protected void writeClassFileContents(ClassFile classFile, IFile file, String qualifiedFileName, boolean isTopLevelType, SourceFile compilationUnit) throws CoreException { // InputStream input = new SequenceInputStream( // new ByteArrayInputStream(classFile.header, 0, classFile.headerOffset), // new ByteArrayInputStream(classFile.contents, 0, classFile.contentsOffset)); InputStream input = new ByteArrayInputStream(classFile.getBytes()); if (file.exists()) { // Deal with shared output folders... last one wins... no collision cases detected if (JavaBuilder.DEBUG) System.out.println("Writing changed class file " + file.getName());//$NON-NLS-1$ if (!file.isDerived()) file.setDerived(true, null); file.setContents(input, true, false, null); } else { // Default implementation just writes out the bytes for the new class file... if (JavaBuilder.DEBUG) System.out.println("Writing new class file " + file.getName());//$NON-NLS-1$ file.create(input, IResource.FORCE | IResource.DERIVED, null); } } }
protected void writeClassFileContents(ClassFile classFile, IFile file, String qualifiedFileName, boolean isTopLevelType, SourceFile compilationUnit) throws CoreException { // InputStream input = new SequenceInputStream( // new ByteArrayInputStream(classFile.header, 0, classFile.headerOffset), // new ByteArrayInputStream(classFile.contents, 0, classFile.contentsOffset)); InputStream input = new ByteArrayInputStream(classFile.getBytes()); if (file.exists()) { // Deal with shared output folders... last one wins... no collision cases detected if (JavaBuilder.DEBUG) System.out.println("Writing changed class file " + file.getName());//$NON-NLS-1$ if (!file.isDerived()) file.setDerived(true, null); file.setContents(input, true, false, null); } else { // Default implementation just writes out the bytes for the new class file... if (JavaBuilder.DEBUG) System.out.println("Writing new class file " + file.getName());//$NON-NLS-1$ file.create(input, IResource.FORCE | IResource.DERIVED, null); } } }