Enum passerine::compiler::sst::SST [−][src]
pub enum SST {
Symbol(UniqueSymbol),
Data(Data),
Block(Vec<Spanned<SST>>),
Assign {
pattern: Box<Spanned<SSTPattern>>,
expression: Box<Spanned<SST>>,
},
Lambda {
pattern: Box<Spanned<SSTPattern>>,
expression: Box<Spanned<SST>>,
scope: Scope,
},
Call {
fun: Box<Spanned<SST>>,
arg: Box<Spanned<SST>>,
},
Label(String, Box<Spanned<SST>>),
Tuple(Vec<Spanned<SST>>),
FFI {
name: String,
expression: Box<Spanned<SST>>,
},
}
Expand description
Represents an item in a hoisted SST
.
Each langauge-level construct has it’s own SST
variant.
Note that symbols have been substituted.
At this point in compilation the scope of each local is known.
Variants
Symbol(UniqueSymbol)
Tuple Fields of Symbol
0: UniqueSymbol
Data(Data)
Tuple Fields of Data
0: Data
Implementations
Shortcut for creating an SST::Assign
variant.
Shortcut for creating an SST::Lambda
variant.
Shortcut for creating a SST::Label
variant.
Shortcut for creating a SST::Lambda
variant.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for SST
impl !UnwindSafe for SST
Blanket Implementations
Mutably borrows from an owned value. Read more