Browse Source

210470 merged into refactoring branch

refactoring
aclement 16 years ago
parent
commit
faffcaef8f
1 changed files with 22 additions and 10 deletions
  1. 22
    10
      bridge/src/org/aspectj/bridge/context/CompilationAndWeavingContext.java

+ 22
- 10
bridge/src/org/aspectj/bridge/context/CompilationAndWeavingContext.java View File

@@ -136,12 +136,17 @@ public class CompilationAndWeavingContext {
private CompilationAndWeavingContext() {
}
// for testing...
public static void reset() {
contextMap = new HashMap();
contextStack = new Stack();
formatterMap = new HashMap();
nextTokenId = 1;
if (!multiThreaded) {
contextMap = new HashMap();
contextStack = new Stack();
formatterMap = new HashMap();
nextTokenId = 1;
} else {
contextMap.remove(Thread.currentThread());
// TODO what about formatterMap?
// TODO what about nextTokenId?
}
}
public static void setMultiThreaded(boolean mt) { multiThreaded = mt; }
@@ -191,18 +196,25 @@ public class CompilationAndWeavingContext {
}
}
/**
* Forget about the context for the current thread
*/
public static void resetForThread() {
if (!multiThreaded) return;
contextMap.remove(Thread.currentThread());
}
private static Stack getContextStack() {
if (!multiThreaded) {
return contextStack;
}
else {
if (contextMap.containsKey(Thread.currentThread())) {
return (Stack) contextMap.get(Thread.currentThread());
} else {
Stack contextStack = new Stack();
Stack contextStack = (Stack) contextMap.get(Thread.currentThread());
if (contextStack == null) {
contextStack = new Stack();
contextMap.put(Thread.currentThread(),contextStack);
return contextStack;
}
return contextStack;
}
}

Loading…
Cancel
Save