Yume
Namespaces | Functions
type_walker.cpp File Reference
#include "type_walker.hpp"
#include "ast/ast.hpp"
#include "compiler/compiler.hpp"
#include "compiler/type_holder.hpp"
#include "compiler/vals.hpp"
#include "diagnostic/errors.hpp"
#include "ty/compatibility.hpp"
#include "ty/substitution.hpp"
#include "ty/type.hpp"
#include "util.hpp"
#include <algorithm>
#include <cstdint>
#include <functional>
#include <limits>
#include <llvm/ADT/STLExtras.h>
#include <llvm/ADT/StringMap.h>
#include <llvm/ADT/StringMapEntry.h>
#include <llvm/ADT/iterator.h>
#include <llvm/IR/Constants.h>
#include <llvm/IR/Use.h>
#include <llvm/Support/Casting.h>
#include <llvm/Support/ErrorHandling.h>
#include <llvm/Support/raw_ostream.h>
#include <memory>
#include <optional>
#include <ranges>
#include <stdexcept>
#include <utility>
#include <vector>
Include dependency graph for type_walker.cpp:

Go to the source code of this file.

Namespaces

namespace  yume
 
namespace  yume::semantic
 

Functions

void yume::semantic::wrap_in_implicit_cast (ast::OptionalExpr &expr, ty::Conv conv, optional< ty::Type > target_type)
 
auto yume::semantic::try_implicit_conversion (ast::OptionalExpr &expr, optional< ty::Type > target_ty) -> bool
 
void yume::semantic::make_implicit_conversion (ast::OptionalExpr &expr, optional< ty::Type > target_ty)
 
static auto yume::semantic::for_all_instantiations (std::deque< Struct > &structs, std::invocable< Struct & > auto fn)
 
static auto yume::semantic::find_field_ast (const ty::Struct &st, string_view target_name) -> std::pair< nullable< ast::AnyType * >, int >
 
static auto yume::semantic::find_field (const ty::Struct &st, string_view target_name) -> std::pair< optional< ty::Type >, int >