{"ast_node_type":"other","tokens":[{"end":92,"kind":"keyword","start":0,"text":"sema.type_of_expr(expr)?.adjusted().autoderef(sema.db).find_map(|ty|"}]}
    sema.type_of_expr(expr)?.adjusted().autoderef(sema.db).find_map(|ty| match ty.as_adt() {
) -> Option<ExtendedEnum> {
        Some(Adt::Enum(e)) => Some(ExtendedEnum::enum_(sema.db, e, &ty, self_ty)),