static ClassReader classReaderFor(String file) { FileInputStream stream = null; try { stream = new FileInputStream(file); return classReaderFor(stream); } catch (FileNotFoundException e) { throw new RuntimeException(e); } finally { if (stream != null) try { stream.close(); } catch (IOException e) { e.printStackTrace(); } } }
static ClassReader classReaderFor(String file) { FileInputStream stream = null; try { stream = new FileInputStream(file); return classReaderFor(stream); } catch (FileNotFoundException e) { throw new RuntimeException(e); } finally { if (stream != null) try { stream.close(); } catch (IOException e) { e.printStackTrace(); } } }
private static void processEntityLinkMutators(ExecutorService threadPool, String file, List<ClassMetadata> processed) { ClassReader cr = classReaderFor(file); ClassMetadata meta = scan(classReaderFor(file)); boolean likelyComponent = meta.superClass.equals("com/artemis/Component") || meta.superClass.equals("com/artemis/PooledComponent"); if (likelyComponent && meta.foundEntityLinks()) { threadPool.submit(new EntityLinkGenerator(file, cr, meta)); processed.add(meta); } }
private static void processEntityLinkMutators(ExecutorService threadPool, String file, List<ClassMetadata> processed) { ClassReader cr = classReaderFor(file); ClassMetadata meta = scan(classReaderFor(file)); boolean likelyComponent = meta.superClass.equals("com/artemis/Component") || meta.superClass.equals("com/artemis/PooledComponent"); if (likelyComponent && meta.foundEntityLinks()) { threadPool.submit(new EntityLinkGenerator(file, cr, meta)); processed.add(meta); } }
private static void processComponentTypes(ExecutorService threadPool, String file, List<ClassMetadata> processed) { ClassReader cr = classReaderFor(file); ClassMetadata meta = scan(cr); if (meta.annotation == WeaverType.NONE) return; if (meta.annotation == WeaverType.POOLED && !GlobalConfiguration.enabledPooledWeaving) { if (!meta.forcePooledWeaving) return; } threadPool.submit(new ComponentTypeTransmuter(file, cr, meta)); processed.add(meta); }
private static void processComponentTypes(ExecutorService threadPool, String file, List<ClassMetadata> processed) { ClassReader cr = classReaderFor(file); ClassMetadata meta = scan(cr); if (meta.annotation == WeaverType.NONE) return; if (meta.annotation == WeaverType.POOLED && !GlobalConfiguration.enabledPooledWeaving) { if (!meta.forcePooledWeaving) return; } threadPool.submit(new ComponentTypeTransmuter(file, cr, meta)); processed.add(meta); }
private static void optimizeEntitySystem(ExecutorService threadPool, String file) { ClassReader cr = classReaderFor(file); ClassMetadata meta = scan(cr); if (meta.sysetemOptimizable != OptimizationType.NOT_OPTIMIZABLE) threadPool.submit(new OptimizationTransmuter(file, cr, meta)); }
private static void processProfilers(ExecutorService threadPool, String file) { ClassReader cr = classReaderFor(file); ClassMetadata meta = scan(cr); if (meta.profilingEnabled) threadPool.submit(new ProfilerTransmuter(file, meta, cr)); }
private static void optimizeEntitySystem(ExecutorService threadPool, String file) { ClassReader cr = classReaderFor(file); ClassMetadata meta = scan(cr); if (meta.sysetemOptimizable != OptimizationType.NOT_OPTIMIZABLE) threadPool.submit(new OptimizationTransmuter(file, cr, meta)); }
private static void processProfilers(ExecutorService threadPool, String file) { ClassReader cr = classReaderFor(file); ClassMetadata meta = scan(cr); if (meta.profilingEnabled) threadPool.submit(new ProfilerTransmuter(file, meta, cr)); }
public static List<ClassMetadata> rewriteEntitySystems(List<File> classes, WeaverLog log) { Timer timer = new Timer(); List<ClassMetadata> processed = new ArrayList<ClassMetadata>(); ExecutorService threadPool = newThreadPool(); for (File f : classes) { ClassMetadata meta = scan(classReaderFor(f.toString())); if (meta.sysetemOptimizable != OptimizationType.NOT_OPTIMIZABLE) { processed.add(meta); optimizeEntitySystem(threadPool, f.getAbsolutePath()); } } awaitTermination(threadPool); log.timeSystems = timer.duration(); log.systems = processed; return processed; }
public static List<ClassMetadata> rewriteEntitySystems(List<File> classes, WeaverLog log) { Timer timer = new Timer(); List<ClassMetadata> processed = new ArrayList<ClassMetadata>(); ExecutorService threadPool = newThreadPool(); for (File f : classes) { ClassMetadata meta = scan(classReaderFor(f.toString())); if (meta.sysetemOptimizable != OptimizationType.NOT_OPTIMIZABLE) { processed.add(meta); optimizeEntitySystem(threadPool, f.getAbsolutePath()); } } awaitTermination(threadPool); log.timeSystems = timer.duration(); log.systems = processed; return processed; }