|
hoshi-lang dev
Yet another programming language
|
#include <symbolExtractor.h>
Public Member Functions | |
| yoi::vec< Symbol > | extract (yoi::hoshiModule *module) |
Private Attributes | |
| yoi::vec< Symbol > | symbols |
Definition at line 80 of file symbolExtractor.h.
| 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().

|
private |
Definition at line 724 of file symbolExtractor.cpp.
References definitionArguments::spec.
|
private |
Definition at line 751 of file symbolExtractor.cpp.
References externModuleAccessExpression::terms.
|
private |
Definition at line 741 of file symbolExtractor.cpp.
References identifierWithDefTemplateArg::id, identifier::node, and lsp::tokenStrVal().

|
private |
Definition at line 746 of file symbolExtractor.cpp.
References identifierWithTemplateArg::id, identifier::node, and lsp::tokenStrVal().

|
private |
Definition at line 688 of file symbolExtractor.cpp.
References funcTypeSpec::args, typeSpec::DecltypeExpr, typeSpec::Elipsis, typeSpec::elipsis, typeSpec::Func, typeSpec::func, typeSpec::kind, typeSpec::Member, typeSpec::member, typeSpec::Null, funcTypeSpec::resultType, and unnamedDefinitionArguments::types.
|
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.

|
private |
Definition at line 541 of file symbolExtractor.cpp.
References Symbol::children, Symbol::column, Symbol::detail, AST::getColumn(), AST::getLine(), dataStructDefStmt::id, structDefInner::inner, dataStructDefStmt::inner, Symbol::kind, Symbol::line, Symbol::name, identifier::node, Symbol::parentName, lsp::tokenStrVal(), and Symbol::typeInfo.

|
private |
Definition at line 345 of file symbolExtractor.cpp.
References Symbol::children, Symbol::column, Symbol::detail, AST::getColumn(), AST::getLine(), Symbol::kind, Symbol::line, enumerationDefinition::name, Symbol::name, identifier::node, Symbol::parentName, lsp::tokenStrVal(), and enumerationDefinition::values.

|
private |
Definition at line 401 of file symbolExtractor.cpp.
References exportDecl::as, Symbol::column, Symbol::detail, exportDecl::from, AST::getColumn(), AST::getLine(), Symbol::kind, Symbol::line, Symbol::name, identifier::node, lsp::tokenStrVal(), and Symbol::typeInfo.

|
private |
Definition at line 70 of file symbolExtractor.cpp.
References funcDefStmt::args, funcDefStmt::block, Symbol::column, Symbol::detail, codeBlock::endColumn, Symbol::endColumn, codeBlock::endLine, Symbol::endLine, AST::getColumn(), AST::getLine(), identifierWithDefTemplateArg::id, funcDefStmt::id, Symbol::isLocal, Symbol::kind, Symbol::line, Symbol::name, identifier::node, Symbol::ownerLine, Symbol::parentName, funcDefStmt::resultType, definitionArguments::spec, codeBlock::stmts, lexer::token::strVal, lsp::tokenStrVal(), and Symbol::typeInfo.

|
private |
Definition at line 25 of file symbolExtractor.cpp.
References globalStmt::conceptDef, globalStmt::dataStructDefStmt, globalStmt::enumerationDef, globalStmt::exportDecl, globalStmt::funcDefStmt, globalStmt::implStmt, globalStmt::importDecl, globalStmt::interfaceDefStmt, globalStmt::kind, globalStmt::letStmt, globalStmt::vValue::ptr, globalStmt::structDefStmt, globalStmt::typeAliasStmt, globalStmt::useStmt, and globalStmt::value.
|
private |
Definition at line 419 of file symbolExtractor.cpp.
References Symbol::column, Symbol::detail, Symbol::endColumn, Symbol::endLine, implInner::inner, implStmt::inner, Symbol::isLocal, Symbol::kind, Symbol::line, Symbol::name, Symbol::ownerLine, Symbol::parentName, implStmt::structName, lsp::tokenStrVal(), and Symbol::typeInfo.

|
private |
Definition at line 370 of file symbolExtractor.cpp.
References innerMethodDecl::args, Symbol::column, Symbol::detail, importDecl::from_path, AST::getColumn(), AST::getLine(), identifierWithDefTemplateArg::id, Symbol::importPath, importDecl::inner, Symbol::kind, Symbol::line, innerMethodDecl::name, Symbol::name, identifier::node, innerMethodDecl::resultType, lexer::token::strVal, lsp::tokenStrVal(), and Symbol::typeInfo.

|
private |
Definition at line 583 of file symbolExtractor.cpp.
References inCodeBlockStmt::codeBlock, Symbol::column, Symbol::detail, inCodeBlockStmt::forEachStmt, inCodeBlockStmt::forStmt, inCodeBlockStmt::ifStmt, Symbol::isLocal, inCodeBlockStmt::kind, Symbol::kind, inCodeBlockStmt::letStmt, Symbol::line, Symbol::name, Symbol::ownerLine, Symbol::parentName, inCodeBlockStmt::vValue::ptr, lsp::tokenStrVal(), inCodeBlockStmt::tryCatchStmt, inCodeBlockStmt::value, and inCodeBlockStmt::whileStmt.

|
private |
Definition at line 191 of file symbolExtractor.cpp.
References Symbol::children, Symbol::column, Symbol::detail, AST::getColumn(), AST::getLine(), identifierWithDefTemplateArg::id, interfaceDefStmt::id, interfaceDefInner::inner, interfaceDefStmt::inner, Symbol::kind, Symbol::line, Symbol::name, identifier::node, Symbol::parentName, lexer::token::strVal, lsp::tokenStrVal(), and Symbol::typeInfo.

|
private |
Definition at line 289 of file symbolExtractor.cpp.
References Symbol::column, Symbol::detail, letAssignmentPairLHS::identifier, Symbol::isLocal, Symbol::kind, Symbol::line, Symbol::name, Symbol::ownerLine, Symbol::parentName, letStmt::terms, lsp::tokenStrVal(), lsp::tryExtractTypeFromExpr(), and Symbol::typeInfo.

|
private |
Definition at line 129 of file symbolExtractor.cpp.
References Symbol::children, Symbol::column, Symbol::detail, AST::getColumn(), AST::getLine(), identifierWithDefTemplateArg::id, structDefStmt::id, structDefInner::inner, structDefStmt::inner, Symbol::kind, Symbol::line, Symbol::name, identifier::node, Symbol::parentName, lexer::token::strVal, lsp::tokenStrVal(), and Symbol::typeInfo.

|
private |
Definition at line 328 of file symbolExtractor.cpp.
References Symbol::column, Symbol::detail, AST::getColumn(), AST::getLine(), identifierWithDefTemplateArg::id, Symbol::kind, typeAliasStmt::lhs, Symbol::line, Symbol::name, identifier::node, typeAliasStmt::rhs, lexer::token::strVal, and Symbol::typeInfo.

|
private |
Definition at line 387 of file symbolExtractor.cpp.
References Symbol::column, Symbol::detail, AST::getColumn(), AST::getLine(), Symbol::importPath, Symbol::kind, Symbol::line, useStmt::name, Symbol::name, identifier::node, useStmt::path, lexer::token::strVal, and lsp::tokenStrVal().

Definition at line 85 of file symbolExtractor.h.
Referenced by SymbolExtractor::extract().