|
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 | ExceptionHandleType { Suppress , Warning , Panic } |
Variables | |
| mulExpr | |
| thread_local yoi::wstr | __current_file_path = L"" |
| std::mutex | consoleMutex |
| std::map< std::string, ExceptionHandleType > | exception_categories |
|
strong |
Definition at line 84 of file def.cpp.
Referenced by Formatter::format(), and formatToken().

| void finalizeAST | ( | abstractExpr * | ptr | ) |
Definition at line 1148 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 1246 of file ast.cpp.
References bracedInitalizerList::exprs, and finalizeAST().

| void finalizeAST | ( | catchParam * | ptr | ) |
Definition at line 1101 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 1289 of file ast.cpp.
References conceptDefinition::algebraParams, conceptDefinition::conceptBlock, and finalizeAST().

| void finalizeAST | ( | conceptStmt * | ptr | ) |
Definition at line 1264 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 944 of file ast.cpp.
References constructorDecl::args, and finalizeAST().

| void finalizeAST | ( | constructorDef * | ptr | ) |
Definition at line 949 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 1259 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 1119 of file ast.cpp.
References dynCastExpression::expr, finalizeAST(), and dynCastExpression::type.

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

| void finalizeAST | ( | enumerationPair * | ptr | ) |
Definition at line 1241 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 1045 of file ast.cpp.
References exportDecl::as, finalizeAST(), and exportDecl::from.

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

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

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

| void finalizeAST | ( | forStmt * | ptr | ) |
Definition at line 856 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 1218 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(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), parse(), and compilerContext::~compilerContext().


| void finalizeAST | ( | globalStmt * | ptr | ) |
Definition at line 794 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 1014 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 838 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 768 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 774 of file ast.cpp.
References finalizeAST(), implStmt::inner, implStmt::interfaceName, implStmt::isImplForStmt(), and implStmt::structName.

| void finalizeAST | ( | importDecl * | ptr | ) |
Definition at line 1055 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 885 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 929 of file ast.cpp.
References innerMethodDecl::args, finalizeAST(), innerMethodDecl::name, and innerMethodDecl::resultType.

| void finalizeAST | ( | innerMethodDef * | ptr | ) |
Definition at line 936 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 | ( | lambdaExpr * | ptr | ) |
Definition at line 1155 of file ast.cpp.
References lambdaExpr::args, lambdaExpr::block, lambdaExpr::captures, finalizeAST(), and lambdaExpr::resultType.

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

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

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

| void finalizeAST | ( | letStmt * | ptr | ) |
Definition at line 788 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 1173 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 1133 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 871 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 1283 of file ast.cpp.
References satisfyClause::emaes, and finalizeAST().

| void finalizeAST | ( | satisfyStmt * | ptr | ) |
Definition at line 1278 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 1062 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 1114 of file ast.cpp.
References throwStmt::expr, and finalizeAST().

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

| void finalizeAST | ( | typeAliasStmt * | ptr | ) |
Definition at line 1184 of file ast.cpp.
References typeAliasStmt::lhs, and typeAliasStmt::rhs.
| void finalizeAST | ( | typeIdExpression * | ptr | ) |
Definition at line 1125 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 1166 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 850 of file ast.cpp.
References whileStmt::block, whileStmt::cond, and finalizeAST().

| void finalizeAST | ( | yieldStmt * | ptr | ) |
Definition at line 1252 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::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().


| std::wstring get_line_hint_for_error | ( | const std::wstring & | file, |
| yoi::indexT | line, | ||
| yoi::indexT | col | ||
| ) |
Definition at line 117 of file def.cpp.
References string2wstring(), and wstring2string().
Referenced by panic(), and warning().


| std::shared_ptr< T > managedPtr | ( | const T & | v | ) |
Definition at line 324 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(), 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 131 of file def.cpp.
References __current_file_path, get_line_hint_for_error(), 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 | ( | 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(), and parse().


| 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 25 of file def.cpp.
Referenced by lexer::strStart().

| yoi::wstr realpath | ( | const std::wstring & | path | ) |
Definition at line 190 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 368 of file def.hpp.
Referenced by ccObjectLinker::link(), and clObjectLinker::link().

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

| std::wstring string2wstring | ( | const std::string & | v | ) |
Definition at line 178 of file def.cpp.
References utf8Unicode::utf8ToUnicode().
Referenced by compilerContext::compileModule(), Formatter::format(), LLVMCodegen::generateArrayGCFunctionDeclarations(), LLVMCodegen::generateArrayGCFunctionImplementations(), LLVMCodegen::generateBasicTypeDeclarations(), LLVMCodegen::generateBasicTypeImplementations(), LLVMCodegen::generateInterfaceObjectGCFunctionDeclarations(), LLVMCodegen::generateInterfaceObjectGCFunctionImplementations(), LLVMCodegen::generateStructGCFunctionDeclarations(), LLVMCodegen::generateStructGCFunctionImplementations(), get_line_hint_for_error(), LLVMCodegen::getGcFunction(), compilerContext::initializeSharedObjects(), main(), yoi::serialization::read(), realpath(), clObjectLinker::searchAndSetupLinker(), IR::to_string(), IRValueType::to_string(), IRInterfaceImplementationDefinition::to_string(), and whereIsHoshiLang().


| std::basic_string< T > trim | ( | const std::basic_string< T > & | str | ) |
Definition at line 70 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 143 of file def.cpp.
References __current_file_path, consoleMutex, exception_categories, get_line_hint_for_error(), panic(), Panic, Suppress, and wstring2string().
Referenced by IRFunctionOptimizer::analyzeBlockForNullable(), LLVMCodegen::generate(), clObjectLinker::link(), IRFunctionOptimizer::reduceEmptyCodeBlock(), and clObjectLinker::searchAndSetupLinker().


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


| std::string wstring2string | ( | const std::wstring & | v | ) |
Definition at line 184 of file def.cpp.
References utf8Unicode::unicodeToUtf8().
Referenced by IRFunctionOptimizer::analyzeBlockForNullable(), IRBuilder::arithmeticOp(), visitor::checkMarcoSatisfaction(), compilerContext::compileModule(), visitor::constructDataStruct(), IRFunctionOptimizer::controlFlowOptimization(), 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(), visitor::handleBinaryOperatorOverload(), visitor::handleUnaryOperatorOverload(), ccObjectLinker::link(), clObjectLinker::link(), IRVariableTable::lookup(), IRStructDefinition::lookupName(), main(), IRBuilder::newArrayOp(), IRBuilder::newDynamicArrayOp(), panic(), visitor::parseInterfaceName(), visitor::parseTypeSpec(), visitor::parseTypeSpec(), visitor::parseTypeSpecExtern(), visitor::parseTypeSpecExtern(), realpath(), IRFunctionOptimizer::reduceEmptyCodeBlock(), CodegenObjectCache::register_entry_unlocked(), visitor::resolveOverloadExtern(), visitor::specializeFunctionTemplate(), visitor::specializeInterfaceImplementation(), visitor::specializeInterfaceTemplate(), visitor::specializeStructMethodDefinition(), visitor::specializeStructMethodTemplate(), visitor::specializeStructTemplate(), 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 171 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 yoi::wstr __current_file_path = L"" |
Definition at line 14 of file def.cpp.
Referenced by visitor::checkConceptSatisfaction(), compilerContext::compileModule(), panic(), set_current_file_path(), and warning().
| std::mutex consoleMutex |
Definition at line 15 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.