module astbuilder
intrude import semantize::typing
-intrude import semantize::literal
-intrude import semantize::parser
+intrude import literal
+intrude import parser
intrude import semantize::scope
# General factory to build semantic nodes in the AST of expressions
var anchor: nullable MClassType
# Make a new Int literal
- fun make_int(value: Int): AIntExpr
+ fun make_int(value: Int): AIntegerExpr
do
- return new ADecIntExpr.make(value, mmodule.get_primitive_class("Int").mclass_type)
+ return new AIntegerExpr.make(value, mmodule.int_type)
end
# Make a new instatiation
_n_kwif = new TKwif
_n_expr = condition
_n_expr.parent = self
+ _n_kwthen = new TKwthen
_n_then = new ABlockExpr.make
+ _n_kwelse = new TKwelse
_n_else = new ABlockExpr.make
self.mtype = mtype
self.is_typed = true
end
end
-redef class ADecIntExpr
+redef class AIntegerExpr
private init make(value: Int, t: MType)
do
self.value = value
- self._n_number = new TNumber # dummy
+ self._n_integer = new TInteger # dummy
self.mtype = t
end
end
do
self._n_expr = recv
_n_args = new AListExprs
- _n_id = new TId
+ _n_qid = new AQid
+ _n_qid.n_id = new TId
if args != null then
self.n_args.n_exprs.add_all(args)
end