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 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 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 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"`
}