protected override bool Visit(ASTDereference node) { if (!Visit(node.Child)) { return(false); } var childType = node.Child.TypeInfo; if (childType is PointerType p) { node.TypeInfo = p.RefersTo; return(true); } Error(node.Position, $"Can't dereference none pointer {childType}"); return(false); }
protected override bool Visit(ASTDereference node) => EmitUnary <CDereference>(node);
protected abstract bool Visit(ASTDereference node);