class

Heucristic::Resolve::Receiver

Inherits Heucristic::Resolve::Dispatch::Typer < Heucristic::Resolve::Typer < Heucristic::Resolve::BlockInputs::Typer < Heucristic::Resolve::Typer < Reference < Object

Constants

BE_NIL_EXPECTATION = Index::Public.new("Spec::BeNilExpectation")
COMPARISONS = {"<", "<=", ">", ">="}
DEPTH_LIMIT = 48

Constructors

new(workspace : Index::Workspace, shims : Index::Shims, types : Types, methods : Methods)
Source

Class methods

chained_comparison?(call : Crystal::Call) : Bool
Source

Instance methods

call_on(receiver : Resolved, shape : Methods::CallShape) : Resolution
Source
dispatch
Source
forget(path : String) : Nil
Source
forwarded_receiver(receiver : Resolved) : Resolution | Nil
Source
implementations(receiver : Resolved, shape : Methods::CallShape) : Array(Index::Def)
Source
instance_var(name : String, context : Syntax::Context) : Resolution
Source
invalidate
Source
macro_precedence(call : Crystal::Call, context : Syntax::Context) : MacroPrecedence::Verdict
Source
narrowing_steps(name : String, context : Syntax::Context) : Array(Flow::Step)
Source
no_return?(entry : Index::Def) : Bool
Source
of_call(call : Crystal::Call, context : Syntax::Context) : Resolution
Source
of_call(call : Crystal::Call, frame : Frame) : Resolution
Source
remembered_exit(call : Crystal::Call, context : Syntax::Context, visiting : Array(Visit), & : Resolution -> Bool) : Bool
Source
result_of(call : Crystal::Call, frame : Frame) : Resolution
Source
return_type(entry : Index::Def, receiver : Resolved, arguments : Array(Resolution) = Array(Resolution).new, site : Site = Site::NONE) : Resolution
Source
scope_of(entry : Index::Def, receiver : Resolved, arguments : Array(Resolution)) : Scope | Unknown
Source
select_action(call : Crystal::Call, context : Syntax::Context) : Crystal::Call | Nil
Source
shape_of(call : Crystal::Call, context : Syntax::Context) : Methods::CallShape
Source
shape_of(call : Crystal::Call, frame : Frame) : Methods::CallShape
Source
signature(entry : Index::Def, receiver : Resolved, arguments : Array(Resolution), site : Site) : String
Source
super_targets(call : Crystal::Call, context : Syntax::Context) : Array(Index::Def)
Source
type_of(node : Crystal::ASTNode, context : Syntax::Context, visiting : Array(Visit), locals : Array(Binding)) : Resolution
Source
type_of(node : Crystal::ASTNode, frame : Frame) : Resolution
Source
type_of(entry : Index::Constant) : Resolution
Source
typed(node : Crystal::ASTNode, context : Syntax::Context) : Resolution
Source
variable(name : String, context : Syntax::Context) : Resolution
Source
yield_scope(context : Syntax::Context) : Resolution | Unscoped
Source

Nested types