Esempio n. 1
0
        private void InitializeCache()
        {
            mSourceInfosCache = new CacheHelper <uint, SourceInfos>(a => DoGetSourceInfos(a));
            mLabelsCache      = new CacheHelper <uint, string[]>(a => DoGetLabels(a));
            mFirstMethodIlOpByLabelNameCache = new CacheHelper <string, MethodIlOp>(n => mConnection.GetList <MethodIlOp>(Predicates.Field <MethodIlOp>(q => q.LabelName, Operator.Eq, n)).FirstOrDefault());
            mMethodCache = new CacheHelper <long, Method>(i => mConnection.Get <Method>(i));
            mAllLocalsAndArgumentsInfosByMethodLabelNameCache = new CacheHelper <string, LOCAL_ARGUMENT_INFO[]>(a => mConnection.GetList <LOCAL_ARGUMENT_INFO>(Predicates.Field <LOCAL_ARGUMENT_INFO>(q => q.METHODLABELNAME, Operator.Eq, a)).ToArray());

            mDocumentIdByNameCache = new CacheHelper <string, long?>(n =>
            {
                long xId;
                var xHasResult = DocumentGUIDs.TryGetValue(n, out xId);
                if (xHasResult)
                {
                    return(xId);
                }
                else
                {
                    return(null);
                }
            });

            mAssemblyFileByIdCache = new CacheHelper <long, AssemblyFile>(i => mConnection.Get <AssemblyFile>(i));
            mAddressOfLabelCache   = new CacheHelper <string, uint>(l => DoGetAddressOfLabel(l));
            mFieldMapCache         = new CacheHelper <string, Field_Map>(t => DoGetFieldMap(t));
            mFieldInfoByNameCache  = new CacheHelper <string, FIELD_INFO>(n => mConnection.GetList <FIELD_INFO>(Predicates.Field <FIELD_INFO>(q => q.NAME, Operator.Eq, n)).First());
        }
Esempio n. 2
0
 // The GUIDs etc are populated by the MSBuild task, so they wont be loaded when the debugger runs.
 // Because of this, we also allow manual loading.
 public void LoadLookups()
 {
     foreach (var xDoc in Connection.Query <Document>(new SQLinq <Document>().ToSQL().ToQuery()))
     {
         DocumentGUIDs.Add(xDoc.Pathname.ToLower(), xDoc.ID);
     }
 }
Esempio n. 3
0
 // The GUIDs etc are populated by the MSBuild task, so they wont be loaded when the debugger runs.
 // Because of this, we also allow manual loading.
 public void LoadLookups()
 {
     foreach (var xDoc in mConnection.GetList <Document>())
     {
         DocumentGUIDs.Add(xDoc.Pathname.ToLower(), xDoc.ID);
     }
 }