global var replaced by thread local
This commit is contained in:
@@ -212,8 +212,8 @@ public class CompileEnvironment {
|
|||||||
method.setAccessible(true);
|
method.setAccessible(true);
|
||||||
method.invoke(null);
|
method.invoke(null);
|
||||||
|
|
||||||
ArrayList<Module> answer = new ArrayList<Module>(AllModules.modules);
|
ArrayList<Module> answer = new ArrayList<Module>(AllModules.modules.get());
|
||||||
AllModules.modules.clear();
|
AllModules.modules.get().clear();
|
||||||
return answer;
|
return answer;
|
||||||
}
|
}
|
||||||
catch (Exception e) {
|
catch (Exception e) {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import jet.modules.*
|
|||||||
fun module(name: String, callback: ModuleBuilder.() -> Unit) {
|
fun module(name: String, callback: ModuleBuilder.() -> Unit) {
|
||||||
val builder = ModuleBuilder(name)
|
val builder = ModuleBuilder(name)
|
||||||
builder.callback()
|
builder.callback()
|
||||||
AllModules.modules?.add(builder)
|
AllModules.modules.sure().get()?.add(builder)
|
||||||
}
|
}
|
||||||
|
|
||||||
class SourcesBuilder(val parent: ModuleBuilder) {
|
class SourcesBuilder(val parent: ModuleBuilder) {
|
||||||
|
|||||||
@@ -22,5 +22,14 @@ package jet.modules;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class AllModules {
|
public class AllModules {
|
||||||
public static final ArrayList<Module> modules = new ArrayList<Module>();
|
|
||||||
|
public static final ThreadLocal<ArrayList<Module>> modules = new ThreadLocal<ArrayList<Module>>() {
|
||||||
|
@Override
|
||||||
|
protected ArrayList<Module> initialValue() {
|
||||||
|
return new ArrayList<Module>();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
private AllModules() {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user