AvalonStudio.Languages.CPlusPlus.CPlusPlusLanguageService.GetSymbolAsync C# (CSharp) Méthode

GetSymbolAsync() public méthode

public GetSymbolAsync ( ISourceFile file, List unsavedFiles, int offset ) : Task
file ISourceFile
unsavedFiles List
offset int
Résultat Task
        public async Task<Symbol> GetSymbolAsync(ISourceFile file, List<UnsavedFile> unsavedFiles, int offset)
        {
            Symbol result = null;
            var associatedData = GetAssociatedData(file);

            await clangAccessJobRunner.InvokeAsync(() =>
            {
                var tu = associatedData.TranslationUnit;
                var cursor = tu.GetCursor(tu.GetLocationForOffset(tu.GetFile(file.FilePath), offset));

                switch (cursor.Kind)
                {
                    case NClang.CursorKind.MemberReferenceExpression:
                    case NClang.CursorKind.DeclarationReferenceExpression:
                    case NClang.CursorKind.CallExpression:
                    case NClang.CursorKind.TypeReference:
                        cursor = cursor.Referenced;
                        break;
                }

                result = SymbolFromClangCursor(cursor);
            });

            return result;
        }