Beispiel #1
0
 public SomeNoninterferenceInstrumentation(
     CivlTypeChecker civlTypeChecker,
     LinearTypeChecker linearTypeChecker,
     int layerNum,
     Dictionary <Absy, Absy> absyMap,
     Dictionary <Variable, Variable> oldGlobalMap,
     Procedure yieldProc)
 {
     this.civlTypeChecker      = civlTypeChecker;
     this.linearTypeChecker    = linearTypeChecker;
     this.layerNum             = layerNum;
     this.absyMap              = absyMap;
     this.oldGlobalMap         = oldGlobalMap;
     this.yieldProc            = yieldProc;
     this.newLocalVars         = new List <Variable>();
     this.domainNameToLocalVar = new Dictionary <string, Variable>();
     {
         foreach (string domainName in linearTypeChecker.linearDomains.Keys)
         {
             Variable l = linearTypeChecker.LinearDomainAvailableLocal(domainName);
             domainNameToLocalVar[domainName] = l;
             newLocalVars.Add(l);
         }
     }
 }
 public SomeNoninterferenceInstrumentation(
     CivlTypeChecker civlTypeChecker,
     LinearTypeChecker linearTypeChecker,
     LinearPermissionInstrumentation linearPermissionInstrumentation,
     Dictionary <Variable, Variable> oldGlobalMap,
     Procedure yieldProc)
 {
     this.civlTypeChecker   = civlTypeChecker;
     this.linearTypeChecker = linearTypeChecker;
     this.linearPermissionInstrumentation = linearPermissionInstrumentation;
     this.oldGlobalMap        = oldGlobalMap;
     this.yieldProc           = yieldProc;
     this.newLocalVars        = new List <Variable>();
     this.domainNameToHoleVar = new Dictionary <string, Variable>();
     foreach (string domainName in linearTypeChecker.linearDomains.Keys)
     {
         Variable l = linearTypeChecker.LinearDomainAvailableLocal(domainName);
         domainNameToHoleVar[domainName] = l;
         newLocalVars.Add(l);
     }
 }