.class工具类测试
parent
e4fcf5fadd
commit
4dbe72f50c
|
@ -1,4 +1,6 @@
|
|||
package com.itranswarp.compiler;
|
||||
package com.muyu.javacomplier;
|
||||
|
||||
import com.muyu.dynamicLoad.DynamicLoader;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
|
@ -38,7 +40,7 @@ public class JavaStringCompiler {
|
|||
* If compile error.
|
||||
*/
|
||||
public Map<String, byte[]> compile(String fileName, String source) throws IOException {
|
||||
try (MemoryJavaFileManager manager = new MemoryJavaFileManager(stdManager)) {
|
||||
try (com.itranswarp.compiler.MemoryJavaFileManager manager = new com.itranswarp.compiler.MemoryJavaFileManager(stdManager)) {
|
||||
JavaFileObject javaFileObject = manager.makeStringSource(fileName, source);
|
||||
CompilationTask task = compiler.getTask(null, manager, null, null, null, Arrays.asList(javaFileObject));
|
||||
Boolean result = task.call();
|
||||
|
@ -63,7 +65,7 @@ public class JavaStringCompiler {
|
|||
* If load error.
|
||||
*/
|
||||
public Class<?> loadClass(String name, Map<String, byte[]> classBytes) throws ClassNotFoundException, IOException {
|
||||
try (MemoryClassLoader classLoader = new MemoryClassLoader(classBytes)) {
|
||||
try (DynamicLoader.MemoryClassLoader classLoader = new DynamicLoader.MemoryClassLoader(classBytes)) {
|
||||
return classLoader.loadClass(name);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,12 +21,12 @@ import javax.tools.SimpleJavaFileObject;
|
|||
*
|
||||
* @author michael
|
||||
*/
|
||||
class MemoryJavaFileManager extends ForwardingJavaFileManager<JavaFileManager> {
|
||||
public class MemoryJavaFileManager extends ForwardingJavaFileManager<JavaFileManager> {
|
||||
|
||||
// compiled classes in bytes:
|
||||
final Map<String, byte[]> classBytes = new HashMap<String, byte[]>();
|
||||
|
||||
MemoryJavaFileManager(JavaFileManager fileManager) {
|
||||
public MemoryJavaFileManager(JavaFileManager fileManager) {
|
||||
super(fileManager);
|
||||
}
|
||||
|
||||
|
@ -53,7 +53,7 @@ class MemoryJavaFileManager extends ForwardingJavaFileManager<JavaFileManager> {
|
|||
}
|
||||
}
|
||||
|
||||
JavaFileObject makeStringSource(String name, String code) {
|
||||
public JavaFileObject makeStringSource(String name, String code) {
|
||||
return new MemoryInputJavaFileObject(name, code);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue