ChanForcedInterleavingEnv.java 1.38 KB
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
//COM A SOLUÇÃO DO PARALELISMO COM MUDANÇA DA AST, ESTE AMBIENTE NÃO É MAIS NECESSÁRIO.

package jcircus.complementaryenvs;

import java.util.HashMap;
import java.util.LinkedHashMap;

import jcircus.visitor.EnvLoadingVisitor;

import net.sourceforge.czt.circus.ast.IndexedProcess;
import net.sourceforge.czt.circus.ast.InterleaveProcess;
import net.sourceforge.czt.circus.ast.ParProcess;

public class ChanForcedInterleavingEnv {
private HashMap <String, Boolean> _map;
public ChanForcedInterleavingEnv () {
this._map = new LinkedHashMap <String, Boolean> ();
}
public void update (String channelName, boolean b) {
if (_map.containsKey (channelName)) {
_map.remove (channelName);
}
this._map.put (channelName, b);
}
public boolean get (String channelName) {
if (this._map.containsKey(channelName))
return this._map.get (channelName);
else
return false;
}
/*public static boolean isChanForced (String channel, ParProcess parProcess, EnvLoadingVisitor evl) {
String [] visibleLeft = evl.get
if (parProcess.getLeftProcess() instanceof ParProcess || parProcess.getRightProcess() instanceof ParProcess) {
return false; //NA VERDADE, NÃO NOS INTERESSAM ParProcesses cujos processos direito e esquerdo sejam ParProcesses
}
if (parProcess instanceof InterleaveProcess) {
return true;
}
else {
}
return false; //TODO
}*/
}