summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-check-expr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-check-expr.cpp')
-rw-r--r--source/slang/slang-check-expr.cpp53
1 files changed, 2 insertions, 51 deletions
diff --git a/source/slang/slang-check-expr.cpp b/source/slang/slang-check-expr.cpp
index e5e990fe5..f9adcc91a 100644
--- a/source/slang/slang-check-expr.cpp
+++ b/source/slang/slang-check-expr.cpp
@@ -62,7 +62,7 @@ namespace Slang
{
VarDecl* varDecl = m_astBuilder->create<VarDecl>();
varDecl->parentDecl = nullptr; // TODO: need to fill this in somehow!
- varDecl->checkState = DeclCheckState::Checked;
+ varDecl->checkState = DeclCheckState::DefinitionChecked;
varDecl->nameAndLoc.loc = expr->loc;
varDecl->initExpr = expr;
varDecl->type.type = expr->type.type;
@@ -827,55 +827,6 @@ namespace Slang
}
}
- DeclVisibility SemanticsVisitor::getDeclVisibility(Decl* decl)
- {
- if (as<GenericTypeParamDecl>(decl) || as<GenericValueParamDecl>(decl) || as<GenericTypeConstraintDecl>(decl))
- {
- auto genericDecl = as<GenericDecl>(decl->parentDecl);
- if (!genericDecl)
- return DeclVisibility::Default;
- if (genericDecl->inner)
- return getDeclVisibility(genericDecl->inner);
- return DeclVisibility::Default;
- }
- if (auto genericDecl = as<GenericDecl>(decl))
- decl = genericDecl->inner;
- for (; decl; decl = getParentDecl(decl))
- {
- if (as<AccessorDecl>(decl))
- continue;
- if (as<EnumCaseDecl>(decl))
- continue;
- break;
- }
- if (!decl)
- return DeclVisibility::Public;
-
- for (auto modifier : decl->modifiers)
- {
- if (as<PublicModifier>(modifier))
- return DeclVisibility::Public;
- else if (as<InternalModifier>(modifier))
- return DeclVisibility::Internal;
- else if (as<PrivateModifier>(modifier))
- return DeclVisibility::Private;
- }
-
- // Interface members will always have the same visibility as the interface itself.
- if (auto interfaceDecl = findParentInterfaceDecl(decl))
- {
- return getDeclVisibility(interfaceDecl);
- }
- else if (as<NamespaceDecl>(decl))
- {
- return DeclVisibility::Public;
- }
- if (auto parentModule = getModuleDecl(decl))
- return parentModule->isInLegacyLanguage ? DeclVisibility::Public : DeclVisibility::Internal;
-
- return DeclVisibility::Default;
- }
-
DeclVisibility SemanticsVisitor::getTypeVisibility(Type* type)
{
if (auto declRefType = as<DeclRefType>(type))
@@ -1721,7 +1672,7 @@ namespace Slang
if (!getInitExpr(m_astBuilder, declRef))
return nullptr;
- ensureDecl(declRef.getDecl(), DeclCheckState::Checked);
+ ensureDecl(declRef.getDecl(), DeclCheckState::DefinitionChecked);
ConstantFoldingCircularityInfo newCircularityInfo(decl, circularityInfo);
return tryConstantFoldExpr(getInitExpr(m_astBuilder, declRef), &newCircularityInfo);
}