aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/backend/rust-compile-resolve-path.cc
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2022-08-11 12:59:01 +0000
committerGitHub <noreply@github.com>2022-08-11 12:59:01 +0000
commite57bbcb24146139c48911deced919939f69b0646 (patch)
treeb1d8f4aa974d1c157be4c92bda88fd4e6e536233 /gcc/rust/backend/rust-compile-resolve-path.cc
parentb28f1384830dcd2bad277208157710364e28797e (diff)
parent2ad0cde0a506d3a8a284a7e1178830f53648f9c3 (diff)
parentd91796f90d437ed003cae88a7d9f8eb7a573f21b (diff)
downloadgcc-e57bbcb24146139c48911deced919939f69b0646.zip
gcc-e57bbcb24146139c48911deced919939f69b0646.tar.gz
gcc-e57bbcb24146139c48911deced919939f69b0646.tar.bz2
Merge #1458 #1463
1458: Refactor type resolution pass to use fine grained visitors r=philberty a=philberty Thanks for `@dkm` work on fine-grained HIR visitors this patch takes advantage of this and moves most implementation into CC files and takes advantage of fine-grained visitors this will help with the maintainability of the code and it also makes it clear what classes do and don't do. It's part of an incremental refactor to get rid of the awkward top-level scan pass in the type resolution pass. This will allow us to move towards a more query-based model like the code generation pass so that we can support the forward declared items. The problem is that we our name resolution pass supports forward declared items but our type resolution pass does not. We know the HIR nodes when type paths or path expressions resolve to but when it comes to actually resolve this we just fail when we reuse our mappings class to look up the item. 1463: Remove unused backend wrapper r=philberty a=philberty This removes the unused switch statement wrapper Co-authored-by: Philip Herron <philip.herron@embecosm.com>