diff options
author | Philip Herron <herron.philip@googlemail.com> | 2020-05-17 19:04:57 +0100 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2020-11-28 21:13:13 +0000 |
commit | 40a5081072f2069447b3d3267f8b00a16433ab91 (patch) | |
tree | 957ca521a820928142840d561696411589dfa474 /gcc/rust/analysis/rust-resolution.h | |
parent | b681de371e99a871be22603a24291a716d8f268d (diff) | |
download | gcc-40a5081072f2069447b3d3267f8b00a16433ab91.zip gcc-40a5081072f2069447b3d3267f8b00a16433ab91.tar.gz gcc-40a5081072f2069447b3d3267f8b00a16433ab91.tar.bz2 |
Add in a toplevel pass to grab global declarations for analysis pass
Diffstat (limited to 'gcc/rust/analysis/rust-resolution.h')
-rw-r--r-- | gcc/rust/analysis/rust-resolution.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/rust/analysis/rust-resolution.h b/gcc/rust/analysis/rust-resolution.h index 51b2d6a..44b5db5 100644 --- a/gcc/rust/analysis/rust-resolution.h +++ b/gcc/rust/analysis/rust-resolution.h @@ -3,6 +3,7 @@ #include "rust-system.h" #include "rust-ast-full.h" #include "rust-ast-visitor.h" +#include "rust-scan.h" #include "scope.h" namespace Rust { @@ -11,7 +12,7 @@ namespace Analysis { class TypeResolution : public AST::ASTVisitor { public: - static bool ResolveNamesAndTypes (AST::Crate &crate); + static bool ResolveNamesAndTypes (AST::Crate &crate, TopLevelScan &toplevel); ~TypeResolution (); @@ -221,7 +222,7 @@ public: virtual void visit (AST::BareFunctionType &type); private: - TypeResolution (AST::Crate &crate); + TypeResolution (AST::Crate &crate, TopLevelScan &toplevel); bool go (); @@ -230,6 +231,7 @@ private: Scope<AST::Type *> scope; Scope<AST::Type *> typeScope; AST::Crate &crate; + TopLevelScan &toplevel; std::vector<AST::IdentifierPattern> letPatternBuffer; std::vector<AST::Type *> typeBuffer; |