public override void CaseAVoidReturnStm(AVoidReturnStm node) { ABooleanConstExp trueBool = new ABooleanConstExp(new ATrueBool()); AValueReturnStm replacer = new AValueReturnStm(node.GetToken(), trueBool); node.ReplaceBy(replacer); data.ExpTypes[trueBool] = new ANamedType(new TIdentifier("bool"), null); }
public override void CaseAVoidReturnStm(AVoidReturnStm node) { ALocalLvalue paramRef = new ALocalLvalue(new TIdentifier("paramRef")); ALvalueExp paramRefExp = new ALvalueExp(paramRef); node.ReplaceBy(new AValueReturnStm(node.GetToken(), paramRefExp)); data.LocalLinks[paramRef] = param; data.LvalueTypes[paramRef] = data.ExpTypes[paramRefExp] = param.GetType(); }