ddc ~loc-offset (2022-03-28T17:00:24.1812298)
Dub
Repo
IRState
dmd
toir
Collect state variables needed by the intermediate representation (IR)
struct
IRState {
Module
m
;
Symbol
*
shidden
;
Symbol
*
sthis
;
Symbol
*
sclosure
;
Blockx
*
blx
;
Dsymbols
*
deferToObj
;
elem
*
ehidden
;
Symbol
*
startaddress
;
Array
!(
elem
*)*
varsInScope
;
Label
*[
void
*]*
labels
;
const
Param
*
params
;
bool
mayThrow
;
this
(Module m, FuncDeclaration fd, Array!(elem*)* varsInScope, Dsymbols* deferToObj, Label*[void*]* labels, Param* params);
FuncDeclaration
getFunc
();
bool
arrayBoundsCheck
();
bool
isNothrow
();
}
Constructors
this
this
(Module m, FuncDeclaration fd, Array!(elem*)* varsInScope, Dsymbols* deferToObj, Label*[void*]* labels, Param* params)
Undocumented in source.
Members
Functions
arrayBoundsCheck
bool
arrayBoundsCheck
()
getFunc
FuncDeclaration
getFunc
()
Undocumented in source. Be warned that the author may not have intended to support it.
isNothrow
bool
isNothrow
()
Variables
blx
Blockx
*
blx
;
Undocumented in source.
deferToObj
Dsymbols
*
deferToObj
;
Undocumented in source.
ehidden
elem
*
ehidden
;
Undocumented in source.
labels
Label
*[
void
*]*
labels
;
Undocumented in source.
m
Module
m
;
Undocumented in source.
mayThrow
bool
mayThrow
;
Undocumented in source.
params
Param
*
params
;
Undocumented in source.
sclosure
Symbol
*
sclosure
;
Undocumented in source.
shidden
Symbol
*
shidden
;
Undocumented in source.
startaddress
Symbol
*
startaddress
;
Undocumented in source.
sthis
Symbol
*
sthis
;
Undocumented in source.
varsInScope
Array
!(
elem
*)*
varsInScope
;
Undocumented in source.
Meta
Source
See Implementation
dmd
toir
aliases
toSymbol
functions
buildCapture
buildClosure
fixEthis2
getEthis
getParentClosureType
incUsageElem
intrinsic_op
resolveLengthVar
retStyle
setClosureVarOffset
setEthis
manifest constants
NotIntrinsic
OPtoPrec
structs
IRState
Label
Collect state variables needed by the intermediate representation (IR)