module volt.semantic.typer

Routines to retrieve the types of expressions.

Code Map

//! Routines to retrieve the types of expressions.
module volt.semantic.typer;


//! Get the type of a given expression.
fn getExpType(exp: ir.Exp) ir.Type { }
//! Retrieve the type of the given expression.
fn getExpTypeImpl(exp: ir.Exp) ir.Type { }
fn getVaArgType(vaexp: ir.VaArgExp) ir.Type { }
fn getTokenExpType(texp: ir.TokenExp) ir.Type { }
fn getStatementExpType(se: ir.StatementExp) ir.Type { }
fn getTypeExpType(te: ir.TypeExp) ir.Type { }
fn getStoreExpType(se: ir.StoreExp) ir.Type { }
fn getStructLiteralType(slit: ir.StructLiteral) ir.Type { }
fn getUnionLiteralType(ulit: ir.UnionLiteral) ir.Type { }
fn getClassLiteralType(classlit: ir.ClassLiteral) ir.Type { }
fn getExpReferenceType(expref: ir.ExpReference) ir.Type { }
fn getBinOpType(bin: ir.BinOp) ir.Type { }
fn getTypeidType(_typeid: ir.Typeid) ir.Type { }
fn getConstantType(constant: ir.Constant) ir.Type { }
fn getArrayLiteralType(al: ir.ArrayLiteral) ir.Type { }
fn getAssocArrayType(aa: ir.AssocArray) ir.Type { }
fn getPostfixType(postfix: ir.Postfix) ir.Type { }
fn getPostfixSliceType(postfix: ir.Postfix) ir.Type { }
fn getPropertyExpType(prop: ir.PropertyExp) ir.Type { }
fn getPostfixCreateDelegateType(postfix: ir.Postfix) ir.Type { }
fn retrieveScope(tt: ir.Node, postfix: ir.Postfix, _scope: ir.Scope, _class: ir.Class, emsg: string) { }
fn getPostfixIncDecType(postfix: ir.Postfix) ir.Type { }
fn getPostfixIndexType(postfix: ir.Postfix) ir.Type { }
fn getPostfixCallType(postfix: ir.Postfix) ir.Type { }
fn getTernaryType(ternary: ir.Ternary) ir.Type { }
fn getUnaryType(unary: ir.Unary) ir.Type { }
fn getUnaryIncDecType(unary: ir.Unary) ir.Type { }
fn getUnaryComplementType(unary: ir.Unary) ir.Type { }
fn getUnaryNotType(unary: ir.Unary) ir.Type { }
fn getUnaryCastType(unary: ir.Unary) ir.Type { }
fn getUnaryDerefType(unary: ir.Unary) ir.Type { }
fn getUnaryAddrOfType(unary: ir.Unary) ir.Type { }
fn getUnaryNewType(unary: ir.Unary) ir.Type { }
fn getUnarySubAddType(unary: ir.Unary) ir.Type { }
fn getExpType(exp: ir.Exp) ir.Type

Get the type of a given expression.

If the operation of the expression isn't semantically valid for the given type, a CompilerError is thrown.

fn getExpTypeImpl(exp: ir.Exp) ir.Type

Retrieve the type of the given expression.