rawVal ? ($T1*)((char*)this + rawVal) : ($T1*)0 BCPtr nullptr BCPtr {*($T1*)((char*)this + rawVal)} rawVal ? ($T1*)((char*)this + rawVal) : ($T1*)0 decl ? ($T1*)(decl) : ($T1*)0 DeclRef nullptr {(*(*(Slang::DeclRefBase*)this).decl).nameAndLoc} decl ? ($T1*)(decl) : ($T1*)0 "=========================" substitutions.substitutions.pointer outer.pointer this decl DeclRefBase nullptr {(*(*(Slang::DeclRefBase*)this).decl).nameAndLoc} decl "=========================" substitutions.genericSubstitutions.pointer outer.pointer this substitutions.globalGenParamSubstitutions.pointer outer.pointer this substitutions.thisTypeSubstitution GenSubst {(*genericDecl).nameAndLoc} genericDecl args DeclRefType {declRef} declRef FuncDecl {nameAndLoc} {{name={(char*)(text.m_buffer.pointer+1), s}}} {{name={(char*)((*name).text.m_buffer.pointer+1), s} loc={loc.raw}}} requirementKey satisfyingVal {{{op}}} op typeUse.usedValue ((IRStringLit*)this)->value.stringVal.chars,[((IRStringLit*)this)->value.stringVal.numChars]s8 ((IRIntLit*)this)->value.intVal {{count = {operandCount}}} operandCount operandCount (IRUse*)(&(typeUse) + 1) parent m_decorationsAndChildren.first next this firstUse nextUse user {{IRUse {usedValue}}} usedValue