using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Boogie; using System.Diagnostics; namespace GPUVerify { class KernelArrayInfoLists : IKernelArrayInfo { private List GlobalVariables; private List GroupSharedVariables; private List PrivateVariables; public KernelArrayInfoLists() { GlobalVariables = new List(); GroupSharedVariables = new List(); PrivateVariables = new List(); } public ICollection getGlobalArrays() { return GlobalVariables; } public ICollection getGroupSharedArrays() { return GroupSharedVariables; } public ICollection getAllNonLocalArrays() { List all = new List(); all.AddRange(GlobalVariables); all.AddRange(GroupSharedVariables); return all; } public ICollection getPrivateArrays() { return PrivateVariables; } public ICollection getAllArrays() { List all = new List(); all.AddRange(getAllNonLocalArrays()); all.AddRange(PrivateVariables); return all; } public bool Contains(Variable v) { return getAllNonLocalArrays().Contains(v); } } }