TypeChecker

amyc.typer.TypeChecker$
object TypeChecker extends Pipeline[Program, Program]

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def <:<(actual: Tree, expected: Type)(using Context): Unit
def =:=(actual: Tree, expected: Type)(using Context): Unit
def check(tree: Tree)(using Context): Tree
def checkBinOp(expr: InfixCall)(tlhs: Type, trhs: Type, rte: Type)(using Context): InfixCall
def checkCall(expr: Call)(using Context): Call
def checkEquals(expr: InfixCall)(using Context): InfixCall
def checkError(expr: Error)(using Context): Error
def checkFunRef(f: FunRef)(using Context): FunRef
def checkIdPattern(expr: IdPattern, scrut: Type)(using Context): IdPattern
def checkIte(expr: Ite)(using Context): Ite
def checkLet(expr: Let)(using Context): Let
def checkLiteralPattern[T](expr: LiteralPattern[T], scrut: Type)(using Context): LiteralPattern[T]
def checkMatch(expr: Match)(using Context): Match
def checkMatchCase(expr: MatchCase, scrut: Type)(using Context): MatchCase
def checkModule(module: ModuleDef)(using Context): ModuleDef
def checkNeg(expr: Neg)(using Context): Neg
def checkNot(expr: Not)(using Context): Not
def checkPattern(pat: Pattern, scrut: Type)(using Context): Tree
def checkProgram(prog: Program)(using Context): Program
def checkType(tt: TypeTree)(using Context): TypeTree

Type Check a variable

Type Check a variable

Attributes

override def run(program: Program)(using Context): Program

Attributes

Definition Classes

Inherited methods

def andThen[G](thenn: Pipeline[Program, G]): Pipeline[F, G]

Attributes

Inherited from:
Pipeline

Concrete fields

override val name: String