hoshi-lang dev
Yet another programming language
Loading...
Searching...
No Matches
SymbolExtractor Class Reference

#include <symbolExtractor.h>

Public Member Functions

yoi::vec< Symbolextract (yoi::hoshiModule *module)
 

Private Member Functions

void visitGlobal (yoi::globalStmt *stmt)
 
void visitFuncDef (yoi::funcDefStmt *stmt)
 
void visitStructDef (yoi::structDefStmt *stmt)
 
void visitInterfaceDef (yoi::interfaceDefStmt *stmt)
 
void visitLetStmt (yoi::letStmt *stmt, const yoi::wstr &inParent=L"", yoi::indexT ownerLine=0)
 
void visitTypeAlias (yoi::typeAliasStmt *stmt)
 
void visitEnum (yoi::enumerationDefinition *stmt)
 
void visitImport (yoi::importDecl *stmt)
 
void visitExport (yoi::exportDecl *stmt)
 
void visitImpl (yoi::implStmt *stmt)
 
void visitUse (yoi::useStmt *stmt)
 
void visitDataStruct (yoi::dataStructDefStmt *stmt)
 
void visitConceptDef (yoi::conceptDefinition *stmt)
 
void visitInCodeBlock (yoi::inCodeBlockStmt *stmt, const yoi::wstr &inParent=L"", yoi::indexT ownerLine=0)
 
yoi::wstr formatTypeSpec (yoi::typeSpec *spec)
 
yoi::wstr formatDefinitionArgs (yoi::definitionArguments *args)
 
yoi::wstr formatIdentifierWithDefTemplateArg (yoi::identifierWithDefTemplateArg *id)
 
yoi::wstr formatIdentifierWithTemplateArg (yoi::identifierWithTemplateArg *id)
 
yoi::wstr formatExternModuleAccessExpression (yoi::externModuleAccessExpression *expr)
 

Private Attributes

yoi::vec< Symbolsymbols
 

Detailed Description

Definition at line 80 of file symbolExtractor.h.

Member Function Documentation

◆ extract()

yoi::vec< Symbol > extract ( yoi::hoshiModule module)

Definition at line 14 of file symbolExtractor.cpp.

References SymbolExtractor::symbols.

Referenced by ProjectIndex::parseAndIndex(), and DocumentStore::reparseDocument().

Here is the caller graph for this function:

◆ formatDefinitionArgs()

yoi::wstr formatDefinitionArgs ( yoi::definitionArguments args)
private

Definition at line 724 of file symbolExtractor.cpp.

References definitionArguments::spec.

◆ formatExternModuleAccessExpression()

yoi::wstr formatExternModuleAccessExpression ( yoi::externModuleAccessExpression expr)
private

Definition at line 751 of file symbolExtractor.cpp.

References externModuleAccessExpression::terms.

◆ formatIdentifierWithDefTemplateArg()

yoi::wstr formatIdentifierWithDefTemplateArg ( yoi::identifierWithDefTemplateArg id)
private

Definition at line 741 of file symbolExtractor.cpp.

References identifierWithDefTemplateArg::id, identifier::node, and lsp::tokenStrVal().

Here is the call graph for this function:

◆ formatIdentifierWithTemplateArg()

yoi::wstr formatIdentifierWithTemplateArg ( yoi::identifierWithTemplateArg id)
private

Definition at line 746 of file symbolExtractor.cpp.

References identifierWithTemplateArg::id, identifier::node, and lsp::tokenStrVal().

Here is the call graph for this function:

◆ formatTypeSpec()

◆ visitConceptDef()

void visitConceptDef ( yoi::conceptDefinition stmt)
private

Definition at line 570 of file symbolExtractor.cpp.

References Symbol::column, Symbol::detail, AST::getColumn(), AST::getLine(), Symbol::kind, Symbol::line, conceptDefinition::name, Symbol::name, and lexer::token::strVal.

Here is the call graph for this function:

◆ visitDataStruct()

◆ visitEnum()

◆ visitExport()

void visitExport ( yoi::exportDecl stmt)
private

◆ visitFuncDef()

◆ visitGlobal()

◆ visitImpl()

◆ visitImport()

◆ visitInCodeBlock()

◆ visitInterfaceDef()

◆ visitLetStmt()

void visitLetStmt ( yoi::letStmt stmt,
const yoi::wstr inParent = L"",
yoi::indexT  ownerLine = 0 
)
private

◆ visitStructDef()

◆ visitTypeAlias()

◆ visitUse()

Member Data Documentation

◆ symbols

yoi::vec<Symbol> symbols
private

Definition at line 85 of file symbolExtractor.h.

Referenced by SymbolExtractor::extract().


The documentation for this class was generated from the following files: