rawVal ? ($T1*)((char*)this + rawVal) : ($T1*)0
BCPtr nullptr
BCPtr {*($T1*)((char*)this + rawVal)}
rawVal ? ($T1*)((char*)this + rawVal) : ($T1*)0
{astNodeType}
- (Slang::Decl*)this
- (Slang::Expr*)this
- (Slang::Modifier*)this
- (Slang::Stmt*)this
- (Slang::Val*)this
- (Slang::Scope*)this
Constant {intOperand}
{(Slang::Val*)nodeOperand}
{nodeOperand}
*(Slang::Val*)nodeOperand
DeclRef nullptr
{*declRefBase}
declRefBase
{astNodeType,en}#{_debugUID}({(Decl*)m_operands.m_buffer[0].values.nodeOperand})
{astNodeType,en}({(Decl*)m_operands.m_buffer[0].values.nodeOperand})
DeclRefBase nullptr
{*(Decl*)m_operands.m_buffer[0].values.nodeOperand}
*(Decl*)m_operands.m_buffer[0].values.nodeOperand
{*(DeclRefBase*)(this->m_operands.m_buffer[1].values.nodeOperand)}
*(DeclRefBase*)(this->m_operands.m_buffer[1].values.nodeOperand)
{*(Val*)(this->m_operands.m_buffer[1].values.nodeOperand)}
*(Val*)(this->m_operands.m_buffer[1].values.nodeOperand)
{*(SubtypeWitness*)(this->m_operands.m_buffer[2].values.nodeOperand)}
*(SubtypeWitness*)(this->m_operands.m_buffer[2].values.nodeOperand)
{*(DeclRefBase*)(this->m_operands.m_buffer[1].values.nodeOperand)}
*(DeclRefBase*)(this->m_operands.m_buffer[1].values.nodeOperand)
- *(Val*)(this->m_operands.m_buffer[index].values.nodeOperand)
index=index+1
{astNodeType,en}#{_debugUID} {*(DeclRefBase*)m_operands.m_buffer[0].values.nodeOperand}
{astNodeType,en} {*(DeclRefBase*)m_operands.m_buffer[0].values.nodeOperand}
{astNodeType,en}#{_debugUID} {m_operands.m_buffer[0].values.nodeOperand->astNodeType, en}#{m_operands.m_buffer[0].values.nodeOperand->_debugUID}
{astNodeType,en} {m_operands.m_buffer[0].values.nodeOperand->astNodeType, en}
*(DeclRefBase*)m_operands.m_buffer[0].values.nodeOperand
FuncDecl {nameAndLoc}
{{name={(char*)(text.m_buffer.pointer+1), s}}}
{{name={(char*)((*name).text.m_buffer.pointer+1), s} loc={loc.raw}}}
- requirementKey
- satisfyingVal
{{{m_op} {(uint32_t)(void*)this, x}}}
{{{m_op} #{_debugUID}}}
- m_op
- _debugUID
- typeUse.usedValue
- ((Slang::IRStringLit*)(((Slang::IRUse*)(child + 1))->usedValue))->value.stringVal.chars,[((Slang::IRStringLit*)(((Slang::IRUse*)(child + 1))->usedValue))->value.stringVal.numChars]s8
- ((Slang::IRStringLit*)(((Slang::IRUse*)(child + 1))->usedValue))->value.stringVal.chars,[((Slang::IRStringLit*)(((Slang::IRUse*)(child + 1))->usedValue))->value.stringVal.numChars]s8
- ((Slang::IRStringLit*)(((Slang::IRUse*)(child + 1))->usedValue))->value.stringVal.chars,[((Slang::IRStringLit*)(((Slang::IRUse*)(child + 1))->usedValue))->value.stringVal.numChars]s8
child = child->next
- ((IRStringLit*)this)->value.stringVal.chars,[((IRStringLit*)this)->value.stringVal.numChars]s8
- ((IRIntLit*)this)->value.intVal
pOperandInst = ((IRUse*)(&(typeUse) + 1 + index))->usedValue
- pOperandInst
child = pOperandInst->m_decorationsAndChildren.first
nameDecoration = 0
nameDecoration = child
nameDecoration = child
nameDecoration = child
child = child->next
- *pOperandInst
- *pOperandInst
index = index + 1
child = pItem->m_decorationsAndChildren.first
nameDecoration = 0
nameDecoration = child
nameDecoration = child
nameDecoration = child
child = child->next
- *pItem
- *pItem
pItem = pItem->next
index = index + 1
- parent
firstUse
nextUse
user
{{IRUse {usedValue}}}
usedValue
{astNodeType,en}
(Slang::DeclRefExpr*)&astNodeType
(Slang::VarExpr*)&astNodeType
(Slang::MemberExpr*)&astNodeType
(Slang::StaticMemberExpr*)&astNodeType
(Slang::OverloadedExpr*)&astNodeType
(Slang::OverloadedExpr2*)&astNodeType
(Slang::LiteralExpr*)&astNodeType
(Slang::IntegerLiteralExpr*)&astNodeType
(Slang::FloatingPointLiteralExpr*)&astNodeType
(Slang::BoolLiteralExpr*)&astNodeType
(Slang::NullPtrLiteralExpr*)&astNodeType
(Slang::StringLiteralExpr*)&astNodeType
(Slang::InitializerListExpr*)&astNodeType
(Slang::ExprWithArgsBase*)&astNodeType
(Slang::AggTypeCtorExpr*)&astNodeType
(Slang::AppExprBase*)&astNodeType
(Slang::InvokeExpr*)&astNodeType
(Slang::NewExpr*)&astNodeType
(Slang::OperatorExpr*)&astNodeType
(Slang::InfixExpr*)&astNodeType
(Slang::PrefixExpr*)&astNodeType
(Slang::PostfixExpr*)&astNodeType
(Slang::SelectExpr*)&astNodeType
(Slang::TypeCastExpr*)&astNodeType
(Slang::ExplicitCastExpr*)&astNodeType
(Slang::ImplicitCastExpr*)&astNodeType
(Slang::GenericAppExpr*)&astNodeType
(Slang::TryExpr*)&astNodeType
(Slang::IndexExpr*)&astNodeType
(Slang::MatrixSwizzleExpr*)&astNodeType
(Slang::SwizzleExpr*)&astNodeType
(Slang::DerefExpr*)&astNodeType
(Slang::CastToSuperTypeExpr*)&astNodeType
(Slang::ModifierCastExpr*)&astNodeType
(Slang::SharedTypeExpr*)&astNodeType
(Slang::AssignExpr*)&astNodeType
(Slang::ParenExpr*)&astNodeType
(Slang::ThisExpr*)&astNodeType
(Slang::LetExpr*)&astNodeType
(Slang::ExtractExistentialValueExpr*)&astNodeType
(Slang::OpenRefExpr*)&astNodeType
(Slang::ForwardDifferentiateExpr*)&astNodeType
(Slang::BackwardDifferentiateExpr*)&astNodeType
(Slang::ThisTypeExpr*)&astNodeType
(Slang::AndTypeExpr*)&astNodeType
(Slang::ModifiedTypeExpr*)&astNodeType
(Slang::PointerTypeExpr*)&astNodeType
(Slang::AddressOfExpr*)&astNodeType
- type
- (Slang::Expr*)this,!
{astNodeType,en}
(Slang::ScopeStmt*)&astNodeType
(Slang::BlockStmt*)&astNodeType
(Slang::BreakableStmt*)&astNodeType
(Slang::SwitchStmt*)&astNodeType
(Slang::LoopStmt*)&astNodeType
(Slang::ForStmt*)&astNodeType
(Slang::UnscopedForStmt*)&astNodeType
(Slang::WhileStmt*)&astNodeType
(Slang::DoWhileStmt*)&astNodeType
(Slang::GpuForeachStmt*)&astNodeType
(Slang::CompileTimeForStmt*)&astNodeType
(Slang::SeqStmt*)&astNodeType
(Slang::UnparsedStmt*)&astNodeType
(Slang::EmptyStmt*)&astNodeType
(Slang::DiscardStmt*)&astNodeType
(Slang::DeclStmt*)&astNodeType
(Slang::IfStmt*)&astNodeType
(Slang::ChildStmt*)&astNodeType
(Slang::CaseStmtBase*)&astNodeType
(Slang::CaseStmt*)&astNodeType
(Slang::DefaultStmt*)&astNodeType
(Slang::JumpStmt*)&astNodeType
(Slang::BreakStmt*)&astNodeType
(Slang::ContinueStmt*)&astNodeType
(Slang::ReturnStmt*)&astNodeType
(Slang::ExpressionStmt*)&astNodeType
(Slang::TargetSwitchStmt*)&astNodeType
- (Slang::Stmt*)this,!
{text}
{astNodeType,en} {nameAndLoc.name->text}
{astNodeType,en}
- nameAndLoc.name->text
- parentDecl
- Slang::DeclCheckState(checkState.m_raw & ~Slang::DeclCheckStateExt::kBeingCheckedBit)
- inferredCapabilityRequirements
(Slang::ContainerDecl*)&astNodeType
(Slang::ExtensionDecl*)&astNodeType
(Slang::StructDecl*)&astNodeType
(Slang::ClassDecl*)&astNodeType
(Slang::EnumDecl*)&astNodeType
(Slang::InterfaceDecl*)&astNodeType
(Slang::AssocTypeDecl*)&astNodeType
(Slang::GlobalGenericParamDecl*)&astNodeType
(Slang::ScopeDecl*)&astNodeType
(Slang::ConstructorDecl*)&astNodeType
(Slang::GetterDecl*)&astNodeType
(Slang::SetterDecl*)&astNodeType
(Slang::RefAccessorDecl*)&astNodeType
(Slang::FuncDecl*)&astNodeType
(Slang::SubscriptDecl*)&astNodeType
(Slang::PropertyDecl*)&astNodeType
(Slang::NamespaceDecl*)&astNodeType
(Slang::ModuleDecl*)&astNodeType
(Slang::GenericDecl*)&astNodeType
(Slang::AttributeDecl*)&astNodeType
(Slang::VarDeclBase*)&astNodeType
(Slang::VarDecl*)&astNodeType
(Slang::LetDecl*)&astNodeType
(Slang::GlobalGenericValueParamDecl*)&astNodeType
(Slang::ParamDecl*)&astNodeType
(Slang::ModernParamDecl*)&astNodeType
(Slang::GenericValueParamDecl*)&astNodeType
(Slang::EnumCaseDecl*)&astNodeType
(Slang::TypeConstraintDecl*)&astNodeType
(Slang::InheritanceDecl*)&astNodeType
(Slang::GenericTypeConstraintDecl*)&astNodeType
(Slang::SimpleTypeDecl*)&astNodeType
(Slang::TypeDefDecl*)&astNodeType
(Slang::TypeAliasDecl*)&astNodeType
(Slang::GenericTypeParamDecl*)&astNodeType
(Slang::UsingDecl*)&astNodeType
(Slang::ImportDecl*)&astNodeType
(Slang::EmptyDecl*)&astNodeType
(Slang::SyntaxDecl*)&astNodeType
(Slang::DeclGroup*)&astNodeType
- (Slang::DeclBase*)this,!
{astNodeType,en}
(Slang::ContainerDecl*)&astNodeType
(Slang::ExtensionDecl*)&astNodeType
(Slang::StructDecl*)&astNodeType
(Slang::ClassDecl*)&astNodeType
(Slang::EnumDecl*)&astNodeType
(Slang::InterfaceDecl*)&astNodeType
(Slang::AssocTypeDecl*)&astNodeType
(Slang::GlobalGenericParamDecl*)&astNodeType
(Slang::ScopeDecl*)&astNodeType
(Slang::ConstructorDecl*)&astNodeType
(Slang::GetterDecl*)&astNodeType
(Slang::SetterDecl*)&astNodeType
(Slang::RefAccessorDecl*)&astNodeType
(Slang::FuncDecl*)&astNodeType
(Slang::SubscriptDecl*)&astNodeType
(Slang::PropertyDecl*)&astNodeType
(Slang::NamespaceDecl*)&astNodeType
(Slang::ModuleDecl*)&astNodeType
(Slang::GenericDecl*)&astNodeType
(Slang::AttributeDecl*)&astNodeType
(Slang::VarDeclBase*)&astNodeType
(Slang::VarDecl*)&astNodeType
(Slang::LetDecl*)&astNodeType
(Slang::GlobalGenericValueParamDecl*)&astNodeType
(Slang::ParamDecl*)&astNodeType
(Slang::ModernParamDecl*)&astNodeType
(Slang::GenericValueParamDecl*)&astNodeType
(Slang::EnumCaseDecl*)&astNodeType
(Slang::TypeConstraintDecl*)&astNodeType
(Slang::InheritanceDecl*)&astNodeType
(Slang::GenericTypeConstraintDecl*)&astNodeType
(Slang::SimpleTypeDecl*)&astNodeType
(Slang::TypeDefDecl*)&astNodeType
(Slang::TypeAliasDecl*)&astNodeType
(Slang::GenericTypeParamDecl*)&astNodeType
(Slang::UsingDecl*)&astNodeType
(Slang::ImportDecl*)&astNodeType
(Slang::EmptyDecl*)&astNodeType
(Slang::SyntaxDecl*)&astNodeType
(Slang::DeclGroup*)&astNodeType
- (Slang::Decl*)this,!
{astNodeType,en} #{_debugUID} {*(Val*)(((Slang::DeclRefType*)this)->m_operands.m_buffer[0].values.nodeOperand)}
{astNodeType,en} {*(Val*)(((Slang::DeclRefType*)this)->m_operands.m_buffer[0].values.nodeOperand)}
*(Val*)(((Slang::DeclRefType*)this)->m_operands.m_buffer[0].values.nodeOperand)
{astNodeType,en} #{_debugUID}
{astNodeType,en}
{m_operands.m_count-2}
m_operands.m_count-2
m_operands.m_buffer
{m_operands.m_buffer[m_operands.m_count-2]}
m_operands.m_buffer[m_operands.m_count-2]
{m_operands.m_buffer[m_operands.m_count-1]}
m_operands.m_buffer[m_operands.m_count-1]
DeclRefType#{_debugUID} {*(Val*)(((Slang::DeclRefType*)this)->m_operands.m_buffer[0].values.nodeOperand)}
DeclRefType {*(Val*)(((Slang::DeclRefType*)this)->m_operands.m_buffer[0].values.nodeOperand)}
DirectRef#{_debugUID} {*(Decl*)m_operands.m_buffer[0].values.nodeOperand}
DirectRef {*(Decl*)m_operands.m_buffer[0].values.nodeOperand}
{astNodeType,en} #{_debugUID}
{astNodeType,en}
{astNodeType}
m_operands
SubstitutionSet{declRef,en}
declRef
substType = subst->astNodeType
shouldBreak = 1
subst = (DeclRefBase*)(((Slang::MemberDeclRef*)subst)->m_operands.m_buffer[1].values.nodeOperand)
shouldBreak = 0
- (LookupDeclRef*)subst
- (GenericAppDeclRef*)subst
subst = (DeclRefBase*)(((Slang::GenericAppDeclRef*)subst)->m_operands.m_buffer[1].values.nodeOperand)
shouldBreak = 0
{astNodeType}({nameAndLoc.name})
- members
ConstantValue ({this->values.intOperand}) #{((Val*)this)->_debugUID}
{*(Val*)values.nodeOperand}
{values.nodeOperand}
values
*(Val*)values.nodeOperand
*(Decl*)values.nodeOperand
_impl
nullptr
{_impl}
empty
_head._impl != 0 ? &_head : 0
_impl->next._impl != 0 ? &_impl->next : 0
*this
empty
_head != 0 ? _head : 0
next != 0 ? next : 0
*this
{astNodeType,en}#{_debugUID} ({m_operands.m_buffer[1].values.intOperand} : {*(Type*)m_operands.m_buffer[0].values.nodeOperand})
ConstantIntVal ({m_operands.m_buffer[1].values.intOperand} : {*(Type*)m_operands.m_buffer[0].values.nodeOperand})
{astNodeType,en}#{_debugUID}
{astNodeType,en}
m_operands.m_count
m_operands.m_buffer
{astNodeType,en}#{_debugUID}
{astNodeType,en}
m_operands.m_count
m_operands.m_buffer
{astNodeType,en}#{_debugUID}
{astNodeType,en}
m_operands.m_count
m_operands.m_buffer
BasicExpressionType ({*(DeclRefBase*)m_operands.m_buffer[0].values.nodeOperand})
{m_targetSets.map.m_values}
- m_targetSets
- m_targetSets.map.m_values
{{target={target}}}
- target
- shaderStageSets
- shaderStageSets.map.m_values
{{size={atomSet}}}
- stage
- atomSet
{{max_size={m_buffer.m_count*Slang::UIntSet::kElementSize}}}
iter = (Slang::UIntSet::Element)0
bitIter = (Slang::UIntSet::Element)0
totalBitIter = (Slang::UIntSet::Element)0
value = 0
bitIter = 0
totalBitIter++
iter++
bitValue = (m_buffer[iter]>>bitIter)&1
value = totalBitIter
- (CapabilityAtom)value
bitIter++
totalBitIter++
{{max_size={m_buffer.m_count*Slang::UIntSet::kElementSize}}}
iter = (Slang::UIntSet::Element)0
bitIter = (Slang::UIntSet::Element)0
totalBitIter = (Slang::UIntSet::Element)0
value = 0
bitIter = 0
totalBitIter++
iter++
bitValue = (m_buffer[iter]>>bitIter)&1
value = totalBitIter
- (CapabilityAtom)value
bitIter++
totalBitIter++
_offset == 0 ? nullptr : ($T1*)((char*)this + _offset)
{($T1*)0}
{($T1*)((char*)this + _offset)}
_offset == 0 ? nullptr : ($T1*)((char*)this + _offset)
""
{((char*)this + _obj._offset),s8}
{{ count = 0 }}
{{ count = {*((UInt32*)this - 1)} }}
- *((UInt32*)this - 1)
*((UInt32*)this - 1)
($T1*)((char*)this + _obj._offset)
{{ count = 0 }}
{{ count = {*((UInt32*)this - 1)} }}
- *((UInt32*)this - 1)
*((UInt32*)this - 1)
(Slang::KeyValuePair<$T1,$T2> *) ((char*)this + _obj._offset)