|
hoshi-lang dev
Yet another programming language
|
Namespaces | |
| namespace | serialization |
Typedefs | |
| using | wstr = std::wstring |
| using | wchar = wstr::value_type |
| using | vdeci = double |
| using | indexT = uint64_t |
| template<typename t > | |
| using | vec = std::vector< t > |
Enumerations | |
| enum class | DiagnosticSeverity { Error , Warning , Note , Hint } |
| enum class | DiagnosticCategory { Generic , Syntax , Semantic , Internal , UCRTNotFound , ElysiaRuntimeNotFound , ModuleNotModified , NullableValue } |
| enum class | ExceptionHandleType { Suppress , Warning , Panic } |
Variables | |
| mulExpr | |
| thread_local yoi::wstr | __current_file_path = L"" |
| thread_local DiagnosticEngine * | __current_diagnostic_engine = nullptr |
| std::mutex | consoleMutex |
| std::map< std::string, ExceptionHandleType > | exception_categories |
|
strong |
| Enumerator | |
|---|---|
| Generic | |
| Syntax | |
| Semantic | |
| Internal | |
| UCRTNotFound | |
| ElysiaRuntimeNotFound | |
| ModuleNotModified | |
| NullableValue | |
Definition at line 21 of file diagnostic.h.
|
strong |
| Enumerator | |
|---|---|
| Error | |
| Warning | |
| Note | |
| Hint | |
Definition at line 14 of file diagnostic.h.
|
strong |
Definition at line 94 of file def.cpp.
Referenced by Formatter::format(), and formatToken().

| void finalizeAST | ( | abstractExpr * | ptr | ) |
Definition at line 1153 of file ast.cpp.
References finalizeAST(), abstractExpr::lhs, and abstractExpr::rhs.

| void finalizeAST | ( | addExpr * | ptr | ) |
Definition at line 621 of file ast.cpp.
References finalizeAST(), and addExpr::getTerms().

| void finalizeAST | ( | andExpr * | ptr | ) |
Definition at line 645 of file ast.cpp.
References finalizeAST(), and andExpr::getTerms().

| void finalizeAST | ( | basicLiterals * | ptr | ) |
| void finalizeAST | ( | bracedInitalizerList * | ptr | ) |
Definition at line 1253 of file ast.cpp.
References bracedInitalizerList::exprs, and finalizeAST().

| void finalizeAST | ( | catchParam * | ptr | ) |
Definition at line 1106 of file ast.cpp.
References catchParam::block, finalizeAST(), catchParam::name, and catchParam::type.

| void finalizeAST | ( | codeBlock * | ptr | ) |
Definition at line 680 of file ast.cpp.
References finalizeAST(), and codeBlock::getStmts().

| void finalizeAST | ( | conceptDefinition * | ptr | ) |
Definition at line 1296 of file ast.cpp.
References conceptDefinition::algebraParams, conceptDefinition::conceptBlock, and finalizeAST().

| void finalizeAST | ( | conceptStmt * | ptr | ) |
Definition at line 1271 of file ast.cpp.
References conceptStmt::Expression, conceptStmt::ConceptStmtValue::expression, finalizeAST(), conceptStmt::kind, conceptStmt::SatisfyStmt, conceptStmt::ConceptStmtValue::satisfyStmt, and conceptStmt::value.

| void finalizeAST | ( | constructorDecl * | ptr | ) |
Definition at line 949 of file ast.cpp.
References constructorDecl::args, and finalizeAST().

| void finalizeAST | ( | constructorDef * | ptr | ) |
Definition at line 954 of file ast.cpp.
References constructorDef::args, constructorDef::block, and finalizeAST().

| void finalizeAST | ( | continueStmt * | ptr | ) |
| void finalizeAST | ( | dataStructDefStmt * | ptr | ) |
Definition at line 751 of file ast.cpp.
References finalizeAST(), dataStructDefStmt::id, and dataStructDefStmt::inner.

| void finalizeAST | ( | decltypeExpr * | ptr | ) |
Definition at line 1266 of file ast.cpp.
References decltypeExpr::expr, and finalizeAST().

| void finalizeAST | ( | definitionArguments * | ptr | ) |
Definition at line 481 of file ast.cpp.
References finalizeAST(), and definitionArguments::get().

| void finalizeAST | ( | defTemplateArg * | ptr | ) |
Definition at line 504 of file ast.cpp.
References finalizeAST(), and defTemplateArg::get().

| void finalizeAST | ( | defTemplateArgSpec * | ptr | ) |
Definition at line 510 of file ast.cpp.
References finalizeAST(), defTemplateArgSpec::id, and defTemplateArgSpec::satisfyCondition.

| void finalizeAST | ( | dynCastExpression * | ptr | ) |
Definition at line 1124 of file ast.cpp.
References dynCastExpression::expr, finalizeAST(), and dynCastExpression::type.

| void finalizeAST | ( | enumerationDefinition * | ptr | ) |
Definition at line 1241 of file ast.cpp.
References finalizeAST(), enumerationDefinition::name, and enumerationDefinition::values.

| void finalizeAST | ( | enumerationPair * | ptr | ) |
Definition at line 1248 of file ast.cpp.
References finalizeAST(), and enumerationPair::name.

| void finalizeAST | ( | equalityExpr * | ptr | ) |
Definition at line 639 of file ast.cpp.
References finalizeAST(), and equalityExpr::getTerms().

| void finalizeAST | ( | exclusiveExpr * | ptr | ) |
Definition at line 651 of file ast.cpp.
References finalizeAST(), and exclusiveExpr::getTerms().

| void finalizeAST | ( | exportDecl * | ptr | ) |
Definition at line 1050 of file ast.cpp.
References exportDecl::as, finalizeAST(), and exportDecl::from.

| void finalizeAST | ( | externModuleAccessExpression * | ptr | ) |
Definition at line 1012 of file ast.cpp.
References finalizeAST(), and externModuleAccessExpression::getTerms().

| void finalizeAST | ( | finalizerDecl * | ptr | ) |
| void finalizeAST | ( | finalizerDef * | ptr | ) |
Definition at line 1218 of file ast.cpp.
References finalizerDef::block, and finalizeAST().

| void finalizeAST | ( | forEachStmt * | ptr | ) |
Definition at line 869 of file ast.cpp.
References forEachStmt::block, forEachStmt::container, finalizeAST(), and forEachStmt::var.

| void finalizeAST | ( | forStmt * | ptr | ) |
Definition at line 861 of file ast.cpp.
References forStmt::afterStmt, forStmt::block, forStmt::cond, finalizeAST(), and forStmt::initStmt.

| void finalizeAST | ( | funcDefStmt * | ptr | ) |
Definition at line 691 of file ast.cpp.
References funcDefStmt::args, funcDefStmt::block, finalizeAST(), funcDefStmt::id, and funcDefStmt::resultType.

| void finalizeAST | ( | funcExpr * | ptr | ) |
Definition at line 1223 of file ast.cpp.
References funcExpr::args, finalizeAST(), and funcExpr::name.

| void finalizeAST | ( | funcTypeSpec * | ptr | ) |
Definition at line 475 of file ast.cpp.
References funcTypeSpec::args, finalizeAST(), and funcTypeSpec::resultType.
Referenced by finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST(), finalizeAST_vec(), ProjectIndex::invalidateModule(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), DocumentStore::reparseDocument(), compilerContext::~compilerContext(), and Document::~Document().


| void finalizeAST | ( | globalStmt * | ptr | ) |
Definition at line 799 of file ast.cpp.
References globalStmt::conceptDef, globalStmt::vValue::conceptDefVal, globalStmt::dataStructDefStmt, globalStmt::vValue::dataStructDefStmtVal, globalStmt::enumerationDef, globalStmt::vValue::enumerationDefVal, globalStmt::exportDecl, globalStmt::vValue::exportDeclVal, finalizeAST(), globalStmt::funcDefStmt, globalStmt::vValue::funcDefStmtVal, globalStmt::implStmt, globalStmt::vValue::implStmtVal, globalStmt::importDecl, globalStmt::vValue::importDeclVal, globalStmt::interfaceDefStmt, globalStmt::vValue::interfaceDefStmtVal, globalStmt::kind, globalStmt::letStmt, globalStmt::vValue::letStmtVal, globalStmt::marco, globalStmt::structDefStmt, globalStmt::vValue::structDefStmtVal, globalStmt::typeAliasStmt, globalStmt::vValue::typeAliasStmtVal, globalStmt::useStmt, globalStmt::vValue::useStmtVal, and globalStmt::value.

| void finalizeAST | ( | hoshiModule * | ptr | ) |
Definition at line 1019 of file ast.cpp.
References finalizeAST(), and hoshiModule::getStmts().

| void finalizeAST | ( | identifier * | ptr | ) |
| void finalizeAST | ( | identifierWithDefTemplateArg * | ptr | ) |
Definition at line 551 of file ast.cpp.
References identifierWithDefTemplateArg::arg, finalizeAST(), identifierWithDefTemplateArg::hasDefTemplateArg(), and identifierWithDefTemplateArg::id.

| void finalizeAST | ( | identifierWithTemplateArg * | ptr | ) |
Definition at line 558 of file ast.cpp.
References identifierWithTemplateArg::arg, finalizeAST(), identifierWithTemplateArg::hasTemplateArg(), and identifierWithTemplateArg::id.

| void finalizeAST | ( | identifierWithTypeSpec * | ptr | ) |
Definition at line 517 of file ast.cpp.
References finalizeAST(), identifierWithTypeSpec::id, and identifierWithTypeSpec::spec.

| void finalizeAST | ( | ifStmt * | ptr | ) |
Definition at line 843 of file ast.cpp.
References ifStmt::ifBlock::block, ifStmt::ifBlock::cond, ifStmt::elifB, ifStmt::elseB, finalizeAST(), and ifStmt::ifB.

| void finalizeAST | ( | implInner * | ptr | ) |
Definition at line 769 of file ast.cpp.
References finalizeAST(), and implInner::getInner().

| void finalizeAST | ( | implInnerPair * | ptr | ) |
Definition at line 757 of file ast.cpp.
References implInnerPair::con, finalizeAST(), implInnerPair::finalizer, implInnerPair::isConstructor(), implInnerPair::isFinalizer(), and implInnerPair::met.

| void finalizeAST | ( | implStmt * | ptr | ) |
Definition at line 776 of file ast.cpp.
References finalizeAST(), implStmt::inner, implStmt::interfaceName, implStmt::isImplForStmt(), and implStmt::structName.

| void finalizeAST | ( | importDecl * | ptr | ) |
Definition at line 1060 of file ast.cpp.
References finalizeAST(), and importDecl::inner.

| void finalizeAST | ( | importInner * | ptr | ) |
| void finalizeAST | ( | inclusiveExpr * | ptr | ) |
Definition at line 657 of file ast.cpp.
References finalizeAST(), and inclusiveExpr::getTerms().

| void finalizeAST | ( | inCodeBlockStmt * | ptr | ) |
Definition at line 890 of file ast.cpp.
References inCodeBlockStmt::breakStmt, inCodeBlockStmt::vValue::breakStmtVal, inCodeBlockStmt::codeBlock, inCodeBlockStmt::vValue::codeBlockVal, inCodeBlockStmt::continueStmt, inCodeBlockStmt::vValue::continueStmtVal, finalizeAST(), inCodeBlockStmt::forEachStmt, inCodeBlockStmt::forStmt, inCodeBlockStmt::vValue::forStmtVal, inCodeBlockStmt::ifStmt, inCodeBlockStmt::vValue::ifStmtVal, inCodeBlockStmt::kind, inCodeBlockStmt::letStmt, inCodeBlockStmt::vValue::letStmtVal, inCodeBlockStmt::marco, inCodeBlockStmt::returnStmt, inCodeBlockStmt::vValue::returnStmtVal, inCodeBlockStmt::rExpr, inCodeBlockStmt::vValue::rExprVal, inCodeBlockStmt::throwStmt, inCodeBlockStmt::tryCatchStmt, inCodeBlockStmt::value, inCodeBlockStmt::whileStmt, inCodeBlockStmt::vValue::whileStmtVal, inCodeBlockStmt::yieldStmt, and inCodeBlockStmt::vValue::yieldStmtVal.

| void finalizeAST | ( | innerMethodDecl * | ptr | ) |
Definition at line 934 of file ast.cpp.
References innerMethodDecl::args, finalizeAST(), innerMethodDecl::name, and innerMethodDecl::resultType.

| void finalizeAST | ( | innerMethodDef * | ptr | ) |
Definition at line 941 of file ast.cpp.
References innerMethodDef::args, innerMethodDef::block, finalizeAST(), innerMethodDef::name, and innerMethodDef::resultType.

| void finalizeAST | ( | interfaceDefInner * | ptr | ) |
Definition at line 699 of file ast.cpp.
References finalizeAST(), and interfaceDefInner::getInner().

| void finalizeAST | ( | interfaceDefInnerPair * | ptr | ) |
Definition at line 706 of file ast.cpp.
References finalizeAST(), interfaceDefInnerPair::isMethod(), interfaceDefInnerPair::method, and interfaceDefInnerPair::var.

| void finalizeAST | ( | interfaceDefStmt * | ptr | ) |
Definition at line 715 of file ast.cpp.
References finalizeAST(), interfaceDefStmt::id, and interfaceDefStmt::inner.

| void finalizeAST | ( | invocationArguments * | ptr | ) |
Definition at line 487 of file ast.cpp.
References finalizeAST(), and invocationArguments::get().

| void finalizeAST | ( | lambdaCapture * | ptr | ) |
| void finalizeAST | ( | lambdaExpr * | ptr | ) |
Definition at line 1160 of file ast.cpp.
References lambdaExpr::args, lambdaExpr::block, lambdaExpr::captures, finalizeAST(), and lambdaExpr::resultType.

| void finalizeAST | ( | leftExpr * | ptr | ) |
Definition at line 1026 of file ast.cpp.
References finalizeAST(), leftExpr::hasRhs(), leftExpr::lhs, and leftExpr::rhs.

| void finalizeAST | ( | letAssignmentPair * | ptr | ) |
Definition at line 787 of file ast.cpp.
References finalizeAST(), letAssignmentPair::lhs, and letAssignmentPair::rhs.

| void finalizeAST | ( | letAssignmentPairLHS * | ptr | ) |
Definition at line 1231 of file ast.cpp.
References finalizeAST(), letAssignmentPairLHS::id, letAssignmentPairLHS::identifier, letAssignmentPairLHS::kind, and letAssignmentPairLHS::list.

| void finalizeAST | ( | letStmt * | ptr | ) |
Definition at line 793 of file ast.cpp.
References finalizeAST(), and letStmt::getTerms().

| void finalizeAST | ( | logicalAndExpr * | ptr | ) |
Definition at line 663 of file ast.cpp.
References finalizeAST(), and logicalAndExpr::getTerms().

| void finalizeAST | ( | logicalOrExpr * | ptr | ) |
Definition at line 669 of file ast.cpp.
References finalizeAST(), and logicalOrExpr::getTerms().

| void finalizeAST | ( | marcoDescriptor * | ptr | ) |
Definition at line 1178 of file ast.cpp.
References marcoDescriptor::pairs.
| void finalizeAST | ( | memberExpr * | ptr | ) |
Definition at line 572 of file ast.cpp.
References finalizeAST(), and memberExpr::getTerms().

| void finalizeAST | ( | mulExpr * | ptr | ) |
Definition at line 615 of file ast.cpp.
References finalizeAST(), and mulExpr::getTerms().

| void finalizeAST | ( | newExpression * | ptr | ) |
Definition at line 1138 of file ast.cpp.
References newExpression::args, finalizeAST(), and newExpression::type.

| void finalizeAST | ( | primary * | ptr | ) |
Definition at line 577 of file ast.cpp.
References primary::basicLiterals, primary::bracedInitalizer, primary::bracedInitalizerList, primary::dynCast, primary::dynCastExpression, primary::expr, finalizeAST(), primary::func, primary::funcExpr, primary::kind, primary::lambda, primary::lambdaExpr, primary::literals, primary::member, primary::memberExpr, primary::newExpr, primary::newExpression, primary::rExpr, primary::typeId, and primary::typeIdExpression.

| void finalizeAST | ( | relationalExpr * | ptr | ) |
Definition at line 633 of file ast.cpp.
References finalizeAST(), and relationalExpr::getTerms().

| void finalizeAST | ( | returnStmt * | ptr | ) |
Definition at line 876 of file ast.cpp.
References finalizeAST(), returnStmt::hasValue(), and returnStmt::value.

| void finalizeAST | ( | rExpr * | ptr | ) |
Definition at line 675 of file ast.cpp.
References rExpr::expr, and finalizeAST().

| void finalizeAST | ( | satisfyClause * | ptr | ) |
Definition at line 1290 of file ast.cpp.
References satisfyClause::emaes, and finalizeAST().

| void finalizeAST | ( | satisfyStmt * | ptr | ) |
Definition at line 1285 of file ast.cpp.
References satisfyStmt::emae, and finalizeAST().

| void finalizeAST | ( | shiftExpr * | ptr | ) |
Definition at line 627 of file ast.cpp.
References finalizeAST(), and shiftExpr::getTerms().

| void finalizeAST | ( | structDefInner * | ptr | ) |
Definition at line 739 of file ast.cpp.
References finalizeAST(), and structDefInner::getInner().

| void finalizeAST | ( | structDefInnerPair * | ptr | ) |
Definition at line 721 of file ast.cpp.
References structDefInnerPair::con, finalizeAST(), structDefInnerPair::finalizer, structDefInnerPair::kind, structDefInnerPair::method, and structDefInnerPair::var.

| void finalizeAST | ( | structDefStmt * | ptr | ) |
Definition at line 745 of file ast.cpp.
References finalizeAST(), structDefStmt::id, and structDefStmt::inner.

| void finalizeAST | ( | subscript * | ptr | ) |
Definition at line 1067 of file ast.cpp.
References subscript::args, subscript::expr, finalizeAST(), subscript::isInvocation(), and subscript::isSubscript().

| void finalizeAST | ( | subscriptExpr * | ptr | ) |
Definition at line 565 of file ast.cpp.
References finalizeAST(), subscriptExpr::id, and subscriptExpr::subscriptVal.

| void finalizeAST | ( | templateArg * | ptr | ) |
Definition at line 493 of file ast.cpp.
References finalizeAST(), and templateArg::get().

| void finalizeAST | ( | templateArgSpec * | ptr | ) |
Definition at line 499 of file ast.cpp.
References finalizeAST(), and templateArgSpec::spec.

| void finalizeAST | ( | throwStmt * | ptr | ) |
Definition at line 1119 of file ast.cpp.
References throwStmt::expr, and finalizeAST().

| void finalizeAST | ( | tryCatchStmt * | ptr | ) |
Definition at line 1092 of file ast.cpp.
References tryCatchStmt::catchParams, finalizeAST(), tryCatchStmt::finallyBlock, and tryCatchStmt::tryBlock.

| void finalizeAST | ( | typeAliasStmt * | ptr | ) |
Definition at line 1189 of file ast.cpp.
References typeAliasStmt::lhs, and typeAliasStmt::rhs.
| void finalizeAST | ( | typeIdExpression * | ptr | ) |
Definition at line 1130 of file ast.cpp.
References typeIdExpression::expr, finalizeAST(), and typeIdExpression::type.

| void finalizeAST | ( | typeSpec * | ptr | ) |
Definition at line 523 of file ast.cpp.
References typeSpec::arraySubscript, typeSpec::DecltypeExpr, typeSpec::decltypeExpression, typeSpec::Elipsis, finalizeAST(), typeSpec::Func, typeSpec::func, typeSpec::kind, typeSpec::Member, typeSpec::member, and typeSpec::Null.

| void finalizeAST | ( | uniqueExpr * | ptr | ) |
Definition at line 610 of file ast.cpp.
References finalizeAST(), and uniqueExpr::lhs.

| void finalizeAST | ( | unnamedDefinitionArguments * | ptr | ) |
Definition at line 1171 of file ast.cpp.
References finalizeAST(), and unnamedDefinitionArguments::types.

| void finalizeAST | ( | useStmt * | ptr | ) |
Definition at line 686 of file ast.cpp.
References finalizeAST(), and useStmt::name.

| void finalizeAST | ( | whileStmt * | ptr | ) |
Definition at line 855 of file ast.cpp.
References whileStmt::block, whileStmt::cond, and finalizeAST().

| void finalizeAST | ( | yieldStmt * | ptr | ) |
Definition at line 1259 of file ast.cpp.
References yieldStmt::expr, and finalizeAST().

| void finalizeAST_vec | ( | yoi::vec< T * > & | vec | ) |
Definition at line 18 of file parser.cpp.
References finalizeAST().
Referenced by parse(), parse(), parse(), parse(), parse(), and parse().


| void formatToken | ( | std::wostream & | os, |
| FormatOption | option, | ||
| const lexer::token & | token | ||
| ) |
Definition at line 14 of file formatter.cpp.
References lexer::token::additionAssignment, lexer::token::assignSign, lexer::token::asterisk, lexer::token::basicVal, lexer::token::binaryAnd, lexer::token::binaryNot, lexer::token::binaryOr, lexer::token::binaryShiftLeft, lexer::token::binaryShiftRight, lexer::token::binaryXor, lexer::token::boolean, lexer::token::character, lexer::token::colon, lexer::token::comma, lexer::token::decimal, lexer::token::decrementSign, lexer::token::directAssignSign, lexer::token::divisionAssignment, lexer::token::dot, lexer::token::eof, lexer::token::equal, escapeString(), lexer::token::greaterEqual, lexer::token::greaterThan, lexer::token::identifier, lexer::token::incrementSign, lexer::token::integer, lexer::token::kAlias, lexer::token::kAlwaysInline, lexer::token::kAs, lexer::token::kBreak, lexer::token::kCallable, lexer::token::kCast, lexer::token::kCatch, lexer::token::kConcept, lexer::token::kConstructor, lexer::token::kContinue, lexer::token::kDataField, lexer::token::kDataStruct, lexer::token::kDecltype, lexer::token::kDynCast, lexer::token::kElif, lexer::token::kElse, lexer::token::kEnum, lexer::token::kExport, lexer::token::kFinalizer, lexer::token::kFinally, lexer::token::kFor, lexer::token::kForEach, lexer::token::kFrom, lexer::token::kFunc, lexer::token::kGenerator, lexer::token::kIf, lexer::token::kImpl, lexer::token::kImport, lexer::token::kIn, lexer::token::kind, lexer::token::kInterface, lexer::token::kInterfaceOf, lexer::token::kIntrinsic, lexer::token::kLet, lexer::token::kNew, lexer::token::kNoFFI, lexer::token::kNull, lexer::token::kReturn, lexer::token::kSatisfy, lexer::token::kStatic, lexer::token::kStruct, lexer::token::kThreeDots, lexer::token::kThrow, lexer::token::kTry, lexer::token::kTypeId, lexer::token::kUse, lexer::token::kWeak, lexer::token::kWhile, lexer::token::kYield, lexer::token::leftBraces, lexer::token::leftBracket, lexer::token::leftParentheses, lexer::token::lessEqual, lexer::token::lessThan, lexer::token::logicAnd, lexer::token::logicNot, lexer::token::logicOr, lexer::token::minus, lexer::token::multiplicationAssignment, lexer::token::notEqual, lexer::token::percentSign, lexer::token::plus, lexer::token::reminderAssignment, lexer::token::rightBraces, lexer::token::rightBracket, lexer::token::rightParentheses, lexer::token::semicolon, lexer::token::sharp, lexer::token::shortInt, lexer::token::slash, lexer::token::string, lexer::token::strVal, lexer::token::subtractionAssignment, lexer::token::toSign, lexer::token::unknown, lexer::token::unsignedInt, lexer::token::vBasicValue::vBool, lexer::token::vBasicValue::vDeci, lexer::token::vBasicValue::vInt, lexer::token::vBasicValue::vShort, and lexer::token::vBasicValue::vUint.
Referenced by Formatter::format(), Formatter::format(), Formatter::format(), Formatter::format(), Formatter::format(), Formatter::format(), and Formatter::format().


| DiagnosticEngine * get_diagnostic_engine | ( | ) |
Get the current thread-local diagnostic engine pointer (may be nullptr).
Definition at line 23 of file def.cpp.
References __current_diagnostic_engine.
| std::wstring get_line_hint_for_error | ( | const std::wstring & | file, |
| yoi::indexT | line, | ||
| yoi::indexT | col | ||
| ) |
Definition at line 127 of file def.cpp.
References string2wstring(), and wstring2string().
Referenced by panic(), and warning().


| std::shared_ptr< T > managedPtr | ( | const T & | v | ) |
Definition at line 335 of file def.hpp.
Referenced by LLVMCodegen::actualizeInterfaceObject(), IRFunctionOptimizer::analyzeBlockForNullable(), IRFunctionOptimizer::analyzeBlockForRaw(), IRBuilder::basicCast(), IRBuilder::bindElementsOp(), visitor::canCastTo(), visitor::checkConceptSatisfaction(), IRBuilder::constructInterfaceImplOp(), LLVMCodegen::createArrayObject(), visitor::createCallableImplementationForFunction(), visitor::createCallableImplementationForLambda(), visitor::createCallableInterface(), LLVMCodegen::createDynamicArrayObject(), LLVMCodegen::createGeneratorContext(), visitor::createLambdaUnnamedStruct(), visitor::emitBasicCastInBasicArithOpByLhsAndRhs(), LLVMCodegen::ensureObject(), LLVMCodegen::generateArrayGCFunctionImplementations(), LLVMCodegen::generateBasicTypeDeclarations(), LLVMCodegen::generateFunction(), LLVMCodegen::generateInstruction(), visitor::generateNullInterfaceImplementation(), LLVMCodegen::generateRTTIDeclaration(), compilerContext::getBoolObjectType(), compilerContext::getCharObjectType(), compilerContext::getDeciObjectType(), LLVMCodegen::getDIType(), LLVMCodegen::getGcFunction(), visitor::getGeneratorContext(), compilerContext::getIntObjectType(), compilerContext::getShortObjectType(), compilerContext::getStrObjectType(), visitor::getTemplateArgs(), compilerContext::getUnsignedObjectType(), LLVMCodegen::handleBinaryOp(), LLVMCodegen::handleComparison(), LLVMCodegen::handleForeignTypeConv(), LLVMCodegen::handleIntrinsicCall(), visitor::handleSubscript(), BuiltinModuleBuilder::initializeSharedObjects(), IRBuilder::invokeImportedOp(), IRLinker::linkDataStructs(), LLVMCodegen::loadArrayElement(), IRBuilder::newArrayOp(), IRBuilder::newDataStructOp(), IRBuilder::newDynamicArrayOp(), IRBuilder::newStructOp(), visitor::parseTemplateArgs(), visitor::parseTypeSpec(), IRLinker::patchType(), IROptimizer::performBaseOptimization(), IROptimizer::performInterfaceWrapperPass(), IRFunctionOptimizer::performNullableCheck(), IRFunctionOptimizer::performParamBorrowCheck(), IRFunctionOptimizer::performRawCheck(), IROptimizer::performStructNullablePass(), IRBuilder::pointerCastOp(), IRBuilder::pushOp(), visitor::resolveOverloadExtern(), visitor::resolveOverloadInterface(), visitor::setupTemporaryConceptEvaluationEnvironment(), visitor::specializeFunctionTemplate(), visitor::specializeInterfaceImplementation(), visitor::specializeInterfaceTemplate(), visitor::specializeStructMethodDeclaration(), visitor::specializeStructMethodDefinition(), visitor::specializeStructMethodTemplate(), visitor::specializeStructTemplate(), LLVMCodegen::storeArrayElement(), LLVMCodegen::storeMember(), visitor::tryCastTo(), IRBuilder::typeIdOp(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visitExtern(), LLVMCodegen::wrapInterfaceObjectIfRegressed(), IRBuildConfig::Builder::yield(), IRFunctionDefinition::Builder::yield(), and LLVMCodegen::yoiTypeToLLVMType().

| AnalysisState mergeStates | ( | const AnalysisState & | s1, |
| const AnalysisState & | s2 | ||
| ) |
Definition at line 2206 of file IROptimizer.cpp.
References IRFunctionOptimizer::VariablesExtraInfo::hasPossibleValue, IRFunctionOptimizer::SimulationStack::items, panic(), IRFunctionOptimizer::SimulationStack::push(), AnalysisState::stack, IRFunctionOptimizer::SimulationStack::Item::type, and AnalysisState::variableStates.
Referenced by IRFunctionOptimizer::doOptimizationForCurrentFunction().


| void panic | ( | yoi::indexT | line, |
| yoi::indexT | col, | ||
| const std::string & | msg | ||
| ) |
Definition at line 141 of file def.cpp.
References __current_diagnostic_engine, __current_file_path, Error, Generic, get_line_hint_for_error(), DiagnosticEngine::report(), and wstring2string().
Referenced by IRFunctionOptimizer::add(), IRFunctionOptimizer::analyzeBlockForRaw(), IRBuilder::arithmeticOp(), IRBuilder::basicCast(), IRFunctionOptimizer::bitwiseAnd(), IRFunctionOptimizer::bitwiseNot(), IRFunctionOptimizer::bitwiseOr(), IRFunctionOptimizer::bitwiseShiftLeft(), IRFunctionOptimizer::bitwiseShiftRight(), IRFunctionOptimizer::bitwiseXor(), IROptimizer::buildCallGraph(), visitor::checkMarcoSatisfaction(), IRFunctionOptimizer::controlFlowOptimization(), IRLinker::createEntryFunction(), IRFunctionOptimizer::div(), LLVMCodegen::ValueStackWithPhi::enterNode(), LLVMCodegen::ValueStackWithPhi::enterNode(), IRFunctionOptimizer::equal(), visitor::evaluateConstraint(), visitor::extractTemplateParamsFromTypeArgs(), LLVMCodegen::generateFunction(), LLVMCodegen::generateInstruction(), LLVMCodegen::generateTargetObjectCode(), LLVMCodegen::getArrayLLVMType(), lexer::getCh(), LLVMCodegen::getDIType(), visitor::getTypeSpecUniqueNameStr(), IRFunctionOptimizer::greaterThan(), IRFunctionOptimizer::greaterThanOrEqual(), LLVMCodegen::handleBinaryOp(), LLVMCodegen::handleComparison(), LLVMCodegen::handleIntrinsicCall(), IRFunctionOptimizer::lessThan(), IRFunctionOptimizer::lessThanOrEqual(), LLVMCodegen::loadArrayElement(), mergeStates(), IRFunctionOptimizer::mergeStatesForInterfaceAllocationReduction(), IRFunctionOptimizer::mergeStatesForNullable(), IRFunctionOptimizer::mergeStatesForRaw(), IRFunctionOptimizer::mod(), IRFunctionOptimizer::mul(), IRFunctionOptimizer::negate(), IRBuilder::newArrayOp(), IRBuilder::newDynamicArrayOp(), IRFunctionOptimizer::notEqual(), lexer::operatorStart(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), visitor::parseInterfaceName(), visitor::parseTypeSpec(), visitor::parseTypeSpec(), visitor::parseTypeSpec(), visitor::parseTypeSpecExtern(), visitor::parseTypeSpecExtern(), IRBuilder::pushOp(), lexer::scan(), visitor::specializeFunctionTemplate(), visitor::specializeInterfaceImplementation(), visitor::specializeStructMethodDefinition(), visitor::specializeStructMethodTemplate(), IRBuilder::storeOp(), lexer::strStart(), IRFunctionOptimizer::sub(), visitor::tryCastTo(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visitExtern(), visitor::visitExtern(), visitor::visitExtern(), warning(), yoi_assert(), and LLVMCodegen::yoiTypeToLLVMType().


| void parse | ( | abstractExpr *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | bracedInitalizerList *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | catchParam *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | conceptDefinition *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | conceptStmt *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | constructorDecl *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | constructorDef *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | continueStmt *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | dataStructDefStmt *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | decltypeExpr *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | definitionArguments *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 246 of file parser.cpp.
References lexer::col, lexer::token::comma, lexer::curToken, finalizeAST_vec(), lexer::token::kind, lexer::token::leftParentheses, lexer::line, panic(), parse(), lexer::token::rightParentheses, and lexer::scan().

| void parse | ( | defTemplateArg *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 113 of file parser.cpp.
References lexer::col, lexer::token::comma, lexer::curToken, lexer::dropState(), finalizeAST_vec(), lexer::token::greaterThan, lexer::token::kind, lexer::token::lessThan, lexer::line, panic(), parse(), lexer::returnState(), lexer::saveState(), and lexer::scan().

| void parse | ( | defTemplateArgSpec *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 88 of file parser.cpp.
References lexer::col, lexer::curToken, finalizeAST(), lexer::token::kind, lexer::token::kSatisfy, lexer::line, panic(), and parse().

| void parse | ( | dynCastExpression *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | enumerationDefinition *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | enumerationPair *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | equalityExpr *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | exclusiveExpr *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | exportDecl *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | externModuleAccessExpression *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 490 of file parser.cpp.
References lexer::col, lexer::curToken, lexer::token::dot, finalizeAST_vec(), identifierWithTemplateArg::hasTemplateArg(), lexer::token::kind, lexer::line, panic(), parse(), and lexer::scan().

| void parse | ( | finalizerDecl *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | finalizerDef *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | forEachStmt *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | funcDefStmt *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | funcTypeSpec *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 285 of file parser.cpp.
References lexer::col, lexer::token::colon, lexer::curToken, finalizeAST(), lexer::token::kFunc, lexer::token::kind, lexer::line, panic(), parse(), and lexer::scan().

| void parse | ( | globalStmt *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | hoshiModule *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | identifier *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 44 of file parser.cpp.
References lexer::curToken, lexer::token::identifier, lexer::token::kind, and lexer::scan().

| void parse | ( | identifierWithDefTemplateArg *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 470 of file parser.cpp.
References identifierWithDefTemplateArg::arg, lexer::curToken, and parse().

| void parse | ( | identifierWithTemplateArg *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 450 of file parser.cpp.
References identifierWithTemplateArg::arg, lexer::curToken, and parse().

| void parse | ( | identifierWithTypeSpec *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 53 of file parser.cpp.
References lexer::token::colon, lexer::curToken, lexer::dropState(), finalizeAST(), lexer::token::kind, parse(), lexer::returnState(), lexer::saveState(), and lexer::scan().

| void parse | ( | ifStmt::ifBlock & | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | implInnerPair *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | importDecl *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | importInner *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | inclusiveExpr *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | inCodeBlockStmt *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | innerMethodDecl *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | innerMethodDef *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | interfaceDefInner *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | interfaceDefInnerPair *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | interfaceDefStmt *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | invocationArguments *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 207 of file parser.cpp.
References lexer::col, lexer::token::comma, lexer::curToken, finalizeAST_vec(), lexer::token::kind, lexer::token::leftParentheses, lexer::line, panic(), parse(), lexer::token::rightParentheses, and lexer::scan().

| void parse | ( | lambdaCapture *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | lambdaExpr *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 733 of file parser.cpp.
References lexer::token::additionAssignment, lexer::token::assignSign, lexer::col, lexer::curToken, lexer::token::directAssignSign, lexer::token::divisionAssignment, finalizeAST(), lexer::token::kind, lexer::line, lexer::token::multiplicationAssignment, panic(), parse(), lexer::scan(), and lexer::token::subtractionAssignment.

| void parse | ( | letAssignmentPair *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | letAssignmentPairLHS *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | logicalAndExpr *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | logicalOrExpr *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | marcoDescriptor *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | memberExpr *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 547 of file parser.cpp.
References lexer::col, lexer::curToken, lexer::token::dot, finalizeAST_vec(), lexer::token::kind, lexer::line, panic(), parse(), and lexer::scan().

| void parse | ( | newExpression *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 576 of file parser.cpp.
References newExpression::args, lexer::col, lexer::curToken, finalizeAST(), lexer::token::kind, lexer::token::kNew, lexer::token::leftBracket, newExpression::length, lexer::line, panic(), parse(), lexer::token::rightBracket, lexer::scan(), and newExpression::type.

Definition at line 613 of file parser.cpp.
References primary::basicLiterals, primary::bracedInitalizerList, lexer::col, lexer::curToken, primary::dynCastExpression, finalizeAST(), primary::funcExpr, lexer::token::kind, primary::lambdaExpr, lexer::token::leftParentheses, lexer::line, primary::memberExpr, primary::newExpression, panic(), parse(), primary::rExpr, lexer::token::rightParentheses, lexer::scan(), and primary::typeIdExpression.

| void parse | ( | relationalExpr *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | returnStmt *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | satisfyClause *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | satisfyStmt *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | structDefInner *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | structDefInnerPair *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | structDefStmt *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 411 of file parser.cpp.
References lexer::col, lexer::curToken, lexer::dropState(), finalizeAST(), lexer::token::kind, lexer::token::leftBracket, lexer::token::leftParentheses, lexer::line, panic(), parse(), lexer::returnState(), lexer::token::rightBracket, lexer::saveState(), and lexer::scan().

| void parse | ( | subscriptExpr *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 528 of file parser.cpp.
References lexer::curToken, and parse().

| void parse | ( | templateArg *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 164 of file parser.cpp.
References lexer::col, lexer::token::comma, lexer::curToken, lexer::dropState(), finalizeAST_vec(), lexer::token::greaterThan, lexer::token::kind, lexer::token::lessThan, lexer::line, panic(), parse(), lexer::returnState(), lexer::saveState(), and lexer::scan().

| void parse | ( | templateArgSpec *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 157 of file parser.cpp.
References lexer::curToken, and parse().

| void parse | ( | tryCatchStmt *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | typeAliasStmt *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | typeIdExpression *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 321 of file parser.cpp.
References lexer::token::basicVal, lexer::col, lexer::token::comma, lexer::curToken, typeSpec::DecltypeExpr, typeSpec::Elipsis, finalizeAST(), typeSpec::Func, lexer::token::integer, typeSpec::kind, lexer::token::kind, lexer::token::kNull, lexer::token::kThreeDots, lexer::token::leftBracket, lexer::line, typeSpec::Member, typeSpec::Null, panic(), parse(), lexer::token::rightBracket, lexer::scan(), lexer::token::vBasicValue::vInt, and lexer::token::vBasicValue::vUint.

| void parse | ( | uniqueExpr *& | o, |
| lexer & | lex | ||
| ) |
Definition at line 703 of file parser.cpp.
References lexer::token::binaryNot, lexer::curToken, lexer::token::decrementSign, lexer::dropState(), lexer::token::incrementSign, lexer::token::kind, lexer::token::minus, parse(), lexer::returnState(), lexer::saveState(), lexer::scan(), and lexer::token::unknown.

| void parse | ( | unnamedDefinitionArguments *& | o, |
| lexer & | lex | ||
| ) |
| void parse | ( | yoi::basicLiterals *& | o, |
| yoi::lexer & | lex | ||
| ) |
Definition at line 25 of file parser.cpp.
References lexer::token::boolean, lexer::token::character, lexer::curToken, lexer::token::decimal, lexer::token::integer, lexer::token::kind, lexer::token::kNull, lexer::scan(), lexer::token::shortInt, lexer::token::string, and lexer::token::unsignedInt.
Referenced by compilerContext::compileModule(), compilerContext::initializeSharedObjects(), main(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), ProjectIndex::parseAndIndex(), and DocumentStore::reparseDocument().


| PARSE_BINARY_EXPR | ( | mulExpr | , |
| leftExpr | , | ||
| (lex.curToken.kind==lexer::token::tokenKind::asterisk||lex.curToken.kind==lexer::token::tokenKind::slash|| lex.curToken.kind==lexer::token::tokenKind::percentSign) | , | ||
| "expected uniqueExpr after operators while parsing mulExpr" | |||
| ) |
| void parseString | ( | std::wistream & | input, |
| wstr & | value | ||
| ) |
Definition at line 35 of file def.cpp.
Referenced by lexer::strStart().

| yoi::wstr realpath | ( | const std::wstring & | path | ) |
Definition at line 236 of file def.cpp.
References string2wstring(), and wstring2string().
Referenced by compilerContext::compileModule(), main(), and visitor::visit().


| void replace_all | ( | string_t & | str, |
| const string_t & | from, | ||
| const string_t & | to | ||
| ) |
Definition at line 379 of file def.hpp.
Referenced by ccObjectLinker::link(), and clObjectLinker::link().

| void set_current_file_path | ( | const std::wstring & | path | ) |
Definition at line 123 of file def.cpp.
References __current_file_path.
Referenced by compilerContext::compileModule(), LLVMCodegen::generate(), LLVMCodegen::generateFunction(), LLVMCodegen::generateInstruction(), ProjectIndex::parseAndIndex(), IROptimizer::performBaseOptimization(), IRFunctionOptimizer::performNullableCheck(), DocumentStore::reparseDocument(), IRBuilder::setDebugInfo(), and visitor::specializeStructMethodDefinition().

| void set_diagnostic_engine | ( | DiagnosticEngine * | engine | ) |
Set the thread-local diagnostic engine pointer. All panic()/warning() calls on this thread will report to this engine.
Definition at line 19 of file def.cpp.
References __current_diagnostic_engine.
Referenced by compilerContext::compileModule(), compilerContext::initializeSharedObjects(), and DocumentStore::reparseDocument().

| std::wstring string2wstring | ( | const std::string & | v | ) |
Definition at line 224 of file def.cpp.
References utf8Unicode::utf8ToUnicode().
Referenced by compilerContext::compileModule(), CompletionProvider::completionsForTypeNameFromModules(), Formatter::format(), LLVMCodegen::generateArrayGCFunctionDeclarations(), LLVMCodegen::generateArrayGCFunctionImplementations(), LLVMCodegen::generateBasicTypeDeclarations(), LLVMCodegen::generateBasicTypeImplementations(), LLVMCodegen::generateInterfaceObjectGCFunctionDeclarations(), LLVMCodegen::generateInterfaceObjectGCFunctionImplementations(), LLVMCodegen::generateStructGCFunctionDeclarations(), LLVMCodegen::generateStructGCFunctionImplementations(), get_line_hint_for_error(), ProjectIndex::getAllSymbols(), LLVMCodegen::getGcFunction(), DiagnosticEngine::getLineHint(), lsp::getReturnTypeFromIR(), HoverProvider::hoverOnSymbol(), ProjectIndex::indexModule(), compilerContext::initializeSharedObjects(), LspServer::LspServer(), main(), CompletionProvider::memberCompletions(), DocumentStore::openDocument(), ProjectIndex::parseAndIndex(), DefinitionProvider::provide(), yoi::serialization::read(), realpath(), DocumentStore::reparseDocument(), DocumentStore::resolveAndIndexImports(), CompletionProvider::resolveModuleCompletionsFromText(), clObjectLinker::searchAndSetupLinker(), IR::to_string(), IRValueType::to_string(), IRInterfaceImplementationDefinition::to_string(), DocumentStore::updateDocument(), and whereIsHoshiLang().


| std::basic_string< T > trim | ( | const std::basic_string< T > & | str | ) |
Definition at line 81 of file def.hpp.
Referenced by Formatter::printComments().

| void warning | ( | yoi::indexT | line, |
| yoi::indexT | col, | ||
| const std::string & | msg, | ||
| const std::string & | label | ||
| ) |
Definition at line 164 of file def.cpp.
References __current_diagnostic_engine, __current_file_path, consoleMutex, ElysiaRuntimeNotFound, exception_categories, Generic, get_line_hint_for_error(), Internal, ModuleNotModified, NullableValue, panic(), Panic, DiagnosticEngine::report(), Suppress, UCRTNotFound, Warning, and wstring2string().
Referenced by IRFunctionOptimizer::analyzeBlockForNullable(), LLVMCodegen::generate(), clObjectLinker::link(), IRFunctionOptimizer::reduceEmptyCodeBlock(), and clObjectLinker::searchAndSetupLinker().


| std::wstring whereIsHoshiLang | ( | ) |
Definition at line 246 of file def.cpp.
References string2wstring().
Referenced by ObjectLinker::defaultAdditionalLinkingFiles(), LspServer::handleInitialize(), LspServer::LspServer(), and main().


| std::string wstring2string | ( | const std::wstring & | v | ) |
Definition at line 230 of file def.cpp.
References utf8Unicode::unicodeToUtf8().
Referenced by IRFunctionOptimizer::analyzeBlockForNullable(), IRBuilder::arithmeticOp(), visitor::checkMarcoSatisfaction(), compilerContext::compileModule(), CompletionProvider::completionsForType(), CompletionProvider::completionsForTypeNameFromModules(), visitor::constructDataStruct(), IRFunctionOptimizer::controlFlowOptimization(), CompletionProvider::crossModuleCompletions(), lsp::documentSymbolFor(), LLVMCodegen::generate(), LLVMCodegen::generateArrayGCFunctionDeclarations(), LLVMCodegen::generateArrayGCFunctionImplementations(), LLVMCodegen::generateBasicTypeDeclarations(), LLVMCodegen::generateBasicTypeImplementations(), LLVMCodegen::generateDataStructShallowDeclarations(), LLVMCodegen::generateDescription(), LLVMCodegen::generateExportFunctionDecls(), LLVMCodegen::generateForeignStructTypes(), LLVMCodegen::generateFunction(), LLVMCodegen::generateFunctionDeclarations(), LLVMCodegen::generateGlobalDeclarations(), LLVMCodegen::generateImportFunctionDeclarations(), LLVMCodegen::generateImportFunctionImplementations(), LLVMCodegen::generateInstruction(), LLVMCodegen::generateRTTIImplmentation(), LLVMCodegen::generateStructShallowDeclarations(), LLVMCodegen::generateTargetObjectCode(), get_line_hint_for_error(), LLVMCodegen::getArrayLLVMType(), LLVMCodegen::getDIType(), visitor::getExternEntry(), LLVMCodegen::getGcFunction(), visitor::getIncompleteType(), DiagnosticEngine::getLineHint(), lsp::getLineText(), lsp::getReturnTypeFromIR(), visitor::handleBinaryOperatorOverload(), LspServer::handleInitialize(), visitor::handleUnaryOperatorOverload(), HoverProvider::hoverOnSymbol(), ccObjectLinker::link(), clObjectLinker::link(), IRVariableTable::lookup(), IRStructDefinition::lookupName(), main(), lsp::makeHoverForSymbol(), CompletionProvider::memberCompletions(), IRBuilder::newArrayOp(), IRBuilder::newDynamicArrayOp(), panic(), visitor::parseInterfaceName(), visitor::parseTypeSpec(), visitor::parseTypeSpec(), visitor::parseTypeSpecExtern(), visitor::parseTypeSpecExtern(), CompletionProvider::provide(), DefinitionProvider::provide(), realpath(), IRFunctionOptimizer::reduceEmptyCodeBlock(), CodegenObjectCache::register_entry_unlocked(), DiagnosticEngine::report(), DocumentStore::resolveAndIndexImports(), CompletionProvider::resolveModuleCompletionsFromText(), visitor::resolveOverloadExtern(), visitor::specializeFunctionTemplate(), visitor::specializeInterfaceImplementation(), visitor::specializeInterfaceTemplate(), visitor::specializeStructMethodDefinition(), visitor::specializeStructMethodTemplate(), visitor::specializeStructTemplate(), CompletionProvider::symbolCompletions(), CompletionProvider::symbolToCompletionItem(), visitor::tryCastTo(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visitExtern(), visitor::visitExtern(), warning(), yoi::serialization::write(), and LLVMCodegen::yoiTypeToLLVMType().


| void yoi_assert | ( | bool | condition, |
| yoi::indexT | line, | ||
| yoi::indexT | col, | ||
| const std::string & | msg | ||
| ) |
Asserts a condition that would be true and throws a runtime_error if it is false.
| condition | the condition to be asserted. |
| line | the line number in source code. |
| col | the column number in source code. |
| msg | the error message to be displayed. |
Definition at line 217 of file def.cpp.
References panic().
Referenced by LLVMCodegen::actualizeInterfaceObject(), IRBuilder::arithmeticOp(), IRBuilder::basicCast(), IRBuilder::breakOp(), visitor::checkMarcoSatisfaction(), visitor::constructDataStruct(), IRBuilder::continueOp(), LLVMCodegen::createArrayObject(), LLVMCodegen::createDynamicArrayObject(), lexer::digitStart(), IRBuilder::discardState(), LLVMCodegen::ValueStackWithPhi::enterNode(), LLVMCodegen::ValueStackWithPhi::enterNode(), LLVMCodegen::ValueStackWithPhi::finalizeNode(), LLVMCodegen::generate(), LLVMCodegen::generateExportFunctionDecls(), LLVMCodegen::generateGeneratorContextInitialization(), LLVMCodegen::generateImportFunctionImplementations(), LLVMCodegen::generateInstruction(), IRBuilder::getLhsFromTempVarStack(), IRBuilder::getRhsFromTempVarStack(), visitor::handleBinaryOperatorOverload(), LLVMCodegen::handleForeignTypeConv(), LLVMCodegen::handleIntrinsicCall(), visitor::handleSubscript(), visitor::handleUnaryOperatorOverload(), IRBuilder::jumpIfOp(), LLVMCodegen::LLVMCodegen(), LLVMCodegen::loadArrayElement(), lexer::operatorStart(), visitor::parseConceptName(), visitor::parseInterfaceName(), visitor::parseTypeSpec(), visitor::parseTypeSpec(), IRBuilder::restoreState(), IRBuilder::restoreStateTemporarily(), clObjectLinker::searchAndSetupLinker(), visitor::setupTemporaryConceptEvaluationEnvironment(), visitor::specializeInterfaceImplementation(), visitor::specializeInterfaceTemplate(), visitor::specializeStructMethodTemplate(), visitor::specializeStructTemplate(), LLVMCodegen::unwrapInterfaceObject(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visitExtern(), and visitor::visitExtern().


| thread_local DiagnosticEngine * __current_diagnostic_engine = nullptr |
Definition at line 16 of file def.cpp.
Referenced by get_diagnostic_engine(), panic(), set_diagnostic_engine(), and warning().
| thread_local yoi::wstr __current_file_path = L"" |
Definition at line 15 of file def.cpp.
Referenced by visitor::checkConceptSatisfaction(), compilerContext::compileModule(), panic(), ProjectIndex::parseAndIndex(), DocumentStore::reparseDocument(), set_current_file_path(), and warning().
| std::mutex consoleMutex |
Definition at line 17 of file def.cpp.
Referenced by CodegenObjectCache::register_entry_unlocked(), and warning().
| std::map< std::string, ExceptionHandleType > exception_categories |
Definition at line 809 of file parser.cpp.