pub fn getFnProto(t: *Translator, ref: ZigNode) ?*ast.Payload.Func
pub fn getFnProto(t: *Translator, ref: ZigNode) ?*ast.Payload.Func { const init = if (ref.castTag(.var_decl)) |v| v.data.init orelse return null else if (ref.castTag(.var_simple) orelse ref.castTag(.pub_var_simple)) |v| v.data.init else return null; if (t.getContainerTypeOf(init)) |ty_node| { if (ty_node.castTag(.optional_type)) |prefix| { if (prefix.data.castTag(.single_pointer)) |sp| { if (sp.data.elem_type.castTag(.func)) |fn_proto| { return fn_proto; } } } } return null; }