summaryrefslogtreecommitdiff
path: root/source/slang/slang-ast-expr.h
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2021-07-09 16:29:23 -0400
committerGitHub <noreply@github.com>2021-07-09 16:29:23 -0400
commit7b447bdad29c828b49ba63cefacc677bd7c58b28 (patch)
treebb69105c92241b0b8296961cc0a301134a854bbf /source/slang/slang-ast-expr.h
parentfa565f96823f3985cffa3a899742fdf1449d5876 (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.h18
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`.