Skip to content

Commit f627629

Browse files
committed
resolve: Add ResolveExpr::funny_error
...and thread it through the constructors and the ResolveExpr::go () method. This will be used for implementing the "break rust" Easter egg. gcc/rust/ChangeLog: * resolve/rust-ast-resolve-expr.h, resolve/rust-ast-resolve-expr.cc: Add ResolveExpr::funny_error Signed-off-by: Sergey Bugaev <[email protected]>
1 parent a04555d commit f627629

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

gcc/rust/resolve/rust-ast-resolve-expr.cc

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ namespace Resolver {
2929

3030
void
3131
ResolveExpr::go (AST::Expr *expr, const CanonicalPath &prefix,
32-
const CanonicalPath &canonical_prefix)
32+
const CanonicalPath &canonical_prefix, bool funny_error)
3333
{
34-
ResolveExpr resolver (prefix, canonical_prefix);
34+
ResolveExpr resolver (prefix, canonical_prefix, funny_error);
3535
expr->accept_vis (resolver);
3636
}
3737

@@ -651,8 +651,10 @@ ResolveExpr::resolve_closure_param (AST::ClosureParam &param,
651651
}
652652

653653
ResolveExpr::ResolveExpr (const CanonicalPath &prefix,
654-
const CanonicalPath &canonical_prefix)
655-
: ResolverBase (), prefix (prefix), canonical_prefix (canonical_prefix)
654+
const CanonicalPath &canonical_prefix,
655+
bool funny_error)
656+
: ResolverBase (), prefix (prefix), canonical_prefix (canonical_prefix),
657+
funny_error (funny_error)
656658
{}
657659

658660
} // namespace Resolver

gcc/rust/resolve/rust-ast-resolve-expr.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ class ResolveExpr : public ResolverBase
3131

3232
public:
3333
static void go (AST::Expr *expr, const CanonicalPath &prefix,
34-
const CanonicalPath &canonical_prefix);
34+
const CanonicalPath &canonical_prefix,
35+
bool funny_error = false);
3536

3637
void visit (AST::TupleIndexExpr &expr) override;
3738
void visit (AST::TupleExpr &expr) override;
@@ -84,10 +85,11 @@ class ResolveExpr : public ResolverBase
8485

8586
private:
8687
ResolveExpr (const CanonicalPath &prefix,
87-
const CanonicalPath &canonical_prefix);
88+
const CanonicalPath &canonical_prefix, bool funny_error);
8889

8990
const CanonicalPath &prefix;
9091
const CanonicalPath &canonical_prefix;
92+
bool funny_error;
9193
};
9294

9395
} // namespace Resolver

0 commit comments

Comments
 (0)