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); } }