예제 #1
0
 private void AddFields(ModuleDefinition module, List <SymbolInformation> information)
 {
     foreach (
         var fs in ModuleDefinition.AllFields(module.TopLevelDecls).Where(e => e != null && !(e.tok is IncludeToken)))
     {
         var fieldSymbol = new SymbolInformation {
             Module      = fs.EnclosingClass.Module.Name,
             Name        = fs.Name,
             ParentClass = fs.EnclosingClass.Name,
             SymbolType  = SymbolInformation.Type.Field,
             StartToken  = fs.tok,
             References  = FindFieldReferencesInternal(fs.Name, fs.EnclosingClass.Name, fs.EnclosingClass.Module.Name)
         };
         if (fs.Type is UserDefinedType)
         {
             var userType = fs.Type as UserDefinedType;
             fieldSymbol.ReferencedClass  = userType.ResolvedClass.CompileName;
             fieldSymbol.ReferencedModule = userType.ResolvedClass.Module.CompileName;
         }
         information.Add(fieldSymbol);
     }
 }