Package bootstrapsnapshot serializes deliberately small, data-only subsets
of the checked TypeRB IR for temporary compiler bootstrapping. It exposes no
compiler object across the process boundary and is not a stable protocol.
type ArrayConstruct struct {
Op string `json:"op"`
Result string `json:"result"`
Type string `json:"type"`
Arguments []string `json:"arguments"`
Origin Origin `json:"origin"`
}
type ArrayGet struct {
Op string `json:"op"`
Result string `json:"result"`
Type string `json:"type"`
Array string `json:"array"`
Index string `json:"index"`
Origin Origin `json:"origin"`
}
type ArrayPush struct {
Op string `json:"op"`
Type string `json:"type"`
Array string `json:"array"`
Value string `json:"value"`
Origin Origin `json:"origin"`
}
type ArraySet struct {
Op string `json:"op"`
Type string `json:"type"`
Array string `json:"array"`
Index string `json:"index"`
Value string `json:"value"`
Origin Origin `json:"origin"`
}
type ArraySize struct {
Op string `json:"op"`
Result string `json:"result"`
Type string `json:"type"`
Array string `json:"array"`
Origin Origin `json:"origin"`
}
type BinaryInstruction struct {
Op string `json:"op"`
Result string `json:"result"`
Operator string `json:"operator"`
Left string `json:"left"`
Right string `json:"right"`
Origin Origin `json:"origin"`
}
type Call struct {
Op string `json:"op"`
Result *string `json:"result"`
Function string `json:"function"`
Arguments []string `json:"arguments"`
Origin Origin `json:"origin"`
}
type ClosureConstruct struct {
Op string `json:"op"`
Result string `json:"result"`
Type string `json:"type"`
Function string `json:"function"`
Captures []string `json:"captures"`
Origin Origin `json:"origin"`
}
type Origin struct {
Source string `json:"source"`
StartLine int `json:"startLine"`
StartColumn int `json:"startColumn"`
EndLine int `json:"endLine"`
EndColumn int `json:"endColumn"`
}
type RecordConstruct struct {
Op string `json:"op"`
Result string `json:"result"`
Type string `json:"type"`
Arguments []string `json:"arguments"`
Origin Origin `json:"origin"`
}
type RecordProject struct {
Op string `json:"op"`
Result string `json:"result"`
Type string `json:"type"`
Record string `json:"record"`
Field string `json:"field"`
Origin Origin `json:"origin"`
}
type StringBinary struct {
Op string `json:"op"`
Result string `json:"result"`
Left string `json:"left"`
Right string `json:"right"`
Origin Origin `json:"origin"`
}
type StringIndex struct {
Op string `json:"op"`
Result string `json:"result"`
Value string `json:"value"`
Index string `json:"index"`
Origin Origin `json:"origin"`
}
type VariantProject struct {
Op string `json:"op"`
Result string `json:"result"`
Type string `json:"type"`
Value string `json:"value"`
Variant string `json:"variant"`
Field string `json:"field"`
Origin Origin `json:"origin"`
}
type VariantTest struct {
Op string `json:"op"`
Result string `json:"result"`
Type string `json:"type"`
Value string `json:"value"`
Variant string `json:"variant"`
Origin Origin `json:"origin"`
}