logo

class

compiler::CallResolver

sys::Obj
  compiler::CompilerSupport
    compiler::CallResolver

CallResolver handles the process of resolving a CallExpr or UnknownVarExpr to a method call or a field access.

Slots

args

Expr[] args

base

CType base

curMethod

MethodDef curMethod

curType

TypeDef curType

expr

NameExpr expr

find

Void find()

Find the method or field with the specified name.

found

CSlot found

isVar

Bool isVar

location

Location location

make

new make(Compiler compiler, TypeDef curType, MethodDef curMethod, NameExpr expr)

Construct with NameExpr (base class of CallExpr and UnknownVarExpr)

name

Str name

resolve

Expr resolve()

Resolve into a method call or field access

resolveBase

Void resolveBase()

Resolve the base type which defines the slot we are calling.

result

Expr result

target

Expr target