tl::expected<Definition, LookupFinalizeError>
find_leaf_definition (const NodeId &key) const;
+ // Flattening is not needed for now but should be used later?
+#if 0
/**
* Look at NameResolutionContext::flatten - This is the inner working function
* which works on one specific namespace, while NameResolutionContext::flatten
* calls flatten for every namespace
*/
void flatten ();
+#endif
/* Map of "usage" nodes which have been resolved to a "definition" node */
std::map<Usage, Definition> resolved_nodes;
return find_leaf_definition_inner (Usage (key), resolved_nodes, keys_seen);
}
+#if 0
template <Namespace N>
void
ForeverStack<N>::flatten ()
k_v.second = result.value ();
}
}
+#endif
// FIXME: Can we add selftests?
std::forward<Args> (args)...);
}
+ // We disable this function for now as it causes regressions, but I think it
+ // is important for a more proper final nameres context - need to investigate
+#if 0
/**
* We've now collected every definition and import, and errored out when
* necessary if multiple definitions are colliding. Do a final flattening of
* void function, yipee.
*/
void flatten ();
+#endif
/* If declared with #[prelude_import], the current standard library module
*/
resolve_final_segment (ForeverStack<N> &stack,
typename ForeverStack<N>::Node &final_node,
std::string &seg_name, bool is_lower_self);
-
- /* Map of "usage" nodes which have been resolved to a "definition" node */
- // std::map<Usage, Definition> resolved_nodes;
};
} // namespace Resolver2_0