aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/analysis/rust-resolution.h
diff options
context:
space:
mode:
authorPhilip Herron <herron.philip@googlemail.com>2020-05-17 19:04:57 +0100
committerPhilip Herron <philip.herron@embecosm.com>2020-11-28 21:13:13 +0000
commit40a5081072f2069447b3d3267f8b00a16433ab91 (patch)
tree957ca521a820928142840d561696411589dfa474 /gcc/rust/analysis/rust-resolution.h
parentb681de371e99a871be22603a24291a716d8f268d (diff)
downloadgcc-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.h6
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;