private void GenerateSingleMemoryVariable(BoogieType keyType, BoogieType valType) { BoogieMapType map = new BoogieMapType(keyType, valType); map = new BoogieMapType(BoogieType.Ref, map); string name = MapArrayHelper.GetMemoryMapName(keyType, valType); context.Program.AddDeclaration(new BoogieGlobalVariable(new BoogieTypedIdent(name, map))); }
private void GenerateSingleMemoryVariable(VariableDeclaration decl, BoogieType keyType, BoogieType valType, HashSet <String> generatedMaps) { BoogieMapType map = new BoogieMapType(keyType, valType); map = new BoogieMapType(BoogieType.Ref, map); string name = mapHelper.GetMemoryMapName(decl, keyType, valType); if (!generatedMaps.Contains(name)) { BoogieFunction initFn = MapArrayHelper.GenerateMultiDimZeroFunction(keyType, valType); if (!context.initFns.Contains(initFn.Name)) { context.initFns.Add(initFn.Name); context.Program.AddDeclaration(initFn); } generatedMaps.Add(name); context.Program.AddDeclaration(new BoogieGlobalVariable(new BoogieTypedIdent(name, map))); } }