diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2021-07-09 16:29:23 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-09 16:29:23 -0400 |
| commit | 7b447bdad29c828b49ba63cefacc677bd7c58b28 (patch) | |
| tree | bb69105c92241b0b8296961cc0a301134a854bbf /source/slang/slang-ast-expr.h | |
| parent | fa565f96823f3985cffa3a899742fdf1449d5876 (diff) | |
Make Scope non ref counted (#1904)
* Add debug symbols for release build.
* Hack to try and capture failing compilation.
* Typo fix for capture hack.
* Specify return type on lambdas.
* Added const.
* Try breakpoint.
* Up count
* Let's capture everything so we can valgrind.
* Disable always writing repros.
* Make Scope non RefCounted.
* Fix issue with not serializing Scope.
* More comments around changes to Scope.
Remove Scope* from serialization.
* Remove code used for testing original issue.
Diffstat (limited to 'source/slang/slang-ast-expr.h')
| -rw-r--r-- | source/slang/slang-ast-expr.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/source/slang/slang-ast-expr.h b/source/slang/slang-ast-expr.h index d79982b5d..81bed9264 100644 --- a/source/slang/slang-ast-expr.h +++ b/source/slang/slang-ast-expr.h @@ -13,14 +13,16 @@ class DeclRefExpr: public Expr { SLANG_ABSTRACT_AST_CLASS(DeclRefExpr) - // The scope in which to perform lookup - RefPtr<Scope> scope; - + // The declaration of the symbol being referenced DeclRef<Decl> declRef; // The name of the symbol being referenced - Name* name; + Name* name = nullptr; + + SLANG_UNREFLECTED + // The scope in which to perform lookup + Scope* scope = nullptr; }; class VarExpr : public DeclRefExpr @@ -287,7 +289,9 @@ class ParenExpr: public Expr class ThisExpr: public Expr { SLANG_AST_CLASS(ThisExpr) - RefPtr<Scope> scope; + + SLANG_UNREFLECTED + Scope* scope = nullptr; }; // An expression that binds a temporary variable in a local expression context @@ -322,7 +326,9 @@ class TaggedUnionTypeExpr: public Expr class ThisTypeExpr: public Expr { SLANG_AST_CLASS(ThisTypeExpr) - RefPtr<Scope> scope; + + SLANG_UNREFLECTED + Scope* scope = nullptr; }; /// A type expression of the form `Left & Right`. |
