Crate mtots_core

Source

Re-exports§

pub extern crate indexmap;

Macros§

gentry
try for generators (where ‘?’ operator won’t work)
mtry
Outside of mtots_core, you can’t just impl From<..> for mtots_core::Error This macro is for conveniently converting an error of any type that already implements std::error::Error, into mtots_core::Error
rterr
Utility for constructing runtime errors

Structs§

ArgSpec
ArgSpecBuilder
Args
AssignTarget
Behavior
Special configurable behavior for Table or Handle values These behaviors are special and not set with methods because they need to be run in contexts where 1. Globals is not available, and/or 2. they are not failable, and so failure would mean panic, making debugging purely from script-land fairly unpleasant
Class
ClassManager
Code
DocStr
Error
ErrorData
Expr
Frame
Function
Generator
Globals
The global state for mtots
HSet
Basically a IndexSet that has been made Ord and Hash
Handle
HandleBehaviorBuilder
HandleData
IndexMap
A hash table where the iteration order of the key-value pairs is independent of the hash values of the keys.
IndexSet
A hash set where the iteration order of the values is independent of their hash values.
LexError
Lexer
List
Wrapper around RefCell<Vec> Having a wrapper keeps the possibility open for e.g. caching hash values, or mutability locks
Map
Mark
Module
ModuleDisplay
NativeClassBuilder
NativeFunction
NativeGenerator
NativeModule
NativeModuleBuilder
NativeModuleData
RcStr
str smarat pointer that also stashes chars as needed so that char access can be constant time
Set
Source
Stash
Table
The priamry user defined object instances Essentially a class + bag of fields
VarSpec
Description of the state of variables in a given scope
Variable

Enums§

AssignTargetDesc
Binop
ConstVal
Describes a parse time constant value
Encoding
ExprDesc
GlobalElement
Key
LexErrorKind
LogicalBinop
Punctuator
ResumeResult
Token
TokenKind
Unop
Value
VariableType
XRef
Kind of like Cow, but might also be a Ref (from a RefCell) Also, does not use ToOwned. This is because the main point of an XRef is not to Copy On Write, but to either hold an owned value or a reference to a value
XRefMut
Kind of like Cow, but might also be a RefMut (from a RefCell) Also, does not use ToOwned. This is because the main point of an XRefMut is not to Copy On Write, but to either hold an owned value or a reference to a value

Traits§

ConvertValue
Trait to indicate that a value may be converted into a value of the given type.

Functions§

annotate
Annotate a module and all functions in it with variable information
climain
compile
home
ordie

Type Aliases§

Result