Skip to main content

OpCode

Enum OpCode 

Source
#[repr(u8)]
pub enum OpCode {
Show 107 variants NOP = 0, MOVE = 1, LOADL = 2, LOADI = 3, LOADINEG = 4, LOADI__1 = 5, LOADI_0 = 6, LOADI_1 = 7, LOADI_2 = 8, LOADI_3 = 9, LOADI_4 = 10, LOADI_5 = 11, LOADI_6 = 12, LOADI_7 = 13, LOADI16 = 14, LOADI32 = 15, LOADSYM = 16, LOADNIL = 17, LOADSELF = 18, LOADT = 19, LOADF = 20, GETGV = 21, SETGV = 22, GETSV = 23, SETSV = 24, GETIV = 25, SETIV = 26, GETCV = 27, SETCV = 28, GETCONST = 29, SETCONST = 30, GETMCNST = 31, SETMCNST = 32, GETUPVAR = 33, SETUPVAR = 34, GETIDX = 35, SETIDX = 36, JMP = 37, JMPIF = 38, JMPNOT = 39, JMPNIL = 40, JMPUW = 41, EXCEPT = 42, RESCUE = 43, RAISEIF = 44, SSEND = 45, SSENDB = 46, SEND = 47, SENDB = 48, CALL = 49, SUPER = 50, ARGARY = 51, ENTER = 52, KEY_P = 53, KEYEND = 54, KARG = 55, RETURN = 56, RETURN_BLK = 57, BREAK = 58, BLKPUSH = 59, ADD = 60, ADDI = 61, SUB = 62, SUBI = 63, MUL = 64, DIV = 65, EQ = 66, LT = 67, LE = 68, GT = 69, GE = 70, ARRAY = 71, ARRAY2 = 72, ARYCAT = 73, ARYPUSH = 74, ARYSPLAT = 75, AREF = 76, ASET = 77, APOST = 78, INTERN = 79, SYMBOL = 80, STRING = 81, STRCAT = 82, HASH = 83, HASHADD = 84, HASHCAT = 85, LAMBDA = 86, BLOCK = 87, METHOD = 88, RANGE_INC = 89, RANGE_EXC = 90, OCLASS = 91, CLASS = 92, MODULE = 93, EXEC = 94, DEF = 95, ALIAS = 96, UNDEF = 97, SCLASS = 98, TCLASS = 99, DEBUG = 100, ERR = 101, EXT1 = 102, EXT2 = 103, EXT3 = 104, STOP = 105, NumberOfOpcode = 106,
}

Variants§

§

NOP = 0

§

MOVE = 1

§

LOADL = 2

§

LOADI = 3

§

LOADINEG = 4

§

LOADI__1 = 5

§

LOADI_0 = 6

§

LOADI_1 = 7

§

LOADI_2 = 8

§

LOADI_3 = 9

§

LOADI_4 = 10

§

LOADI_5 = 11

§

LOADI_6 = 12

§

LOADI_7 = 13

§

LOADI16 = 14

§

LOADI32 = 15

§

LOADSYM = 16

§

LOADNIL = 17

§

LOADSELF = 18

§

LOADT = 19

§

LOADF = 20

§

GETGV = 21

§

SETGV = 22

§

GETSV = 23

§

SETSV = 24

§

GETIV = 25

§

SETIV = 26

§

GETCV = 27

§

SETCV = 28

§

GETCONST = 29

§

SETCONST = 30

§

GETMCNST = 31

§

SETMCNST = 32

§

GETUPVAR = 33

§

SETUPVAR = 34

§

GETIDX = 35

§

SETIDX = 36

§

JMP = 37

§

JMPIF = 38

§

JMPNOT = 39

§

JMPNIL = 40

§

JMPUW = 41

§

EXCEPT = 42

§

RESCUE = 43

§

RAISEIF = 44

§

SSEND = 45

§

SSENDB = 46

§

SEND = 47

§

SENDB = 48

§

CALL = 49

§

SUPER = 50

§

ARGARY = 51

§

ENTER = 52

§

KEY_P = 53

§

KEYEND = 54

§

KARG = 55

§

RETURN = 56

§

RETURN_BLK = 57

§

BREAK = 58

§

BLKPUSH = 59

§

ADD = 60

§

ADDI = 61

§

SUB = 62

§

SUBI = 63

§

MUL = 64

§

DIV = 65

§

EQ = 66

§

LT = 67

§

LE = 68

§

GT = 69

§

GE = 70

§

ARRAY = 71

§

ARRAY2 = 72

§

ARYCAT = 73

§

ARYPUSH = 74

§

ARYSPLAT = 75

§

AREF = 76

§

ASET = 77

§

APOST = 78

§

INTERN = 79

§

SYMBOL = 80

§

STRING = 81

§

STRCAT = 82

§

HASH = 83

§

HASHADD = 84

§

HASHCAT = 85

§

LAMBDA = 86

§

BLOCK = 87

§

METHOD = 88

§

RANGE_INC = 89

§

RANGE_EXC = 90

§

OCLASS = 91

§

CLASS = 92

§

MODULE = 93

§

EXEC = 94

§

DEF = 95

§

ALIAS = 96

§

UNDEF = 97

§

SCLASS = 98

§

TCLASS = 99

§

DEBUG = 100

§

ERR = 101

§

EXT1 = 102

§

EXT2 = 103

§

EXT3 = 104

§

STOP = 105

§

NumberOfOpcode = 106

Trait Implementations§

Source§

impl Clone for OpCode

Source§

fn clone(&self) -> OpCode

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for OpCode

Source§

impl Debug for OpCode

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for OpCode

Source§

impl PartialEq for OpCode

Source§

fn eq(&self, other: &OpCode) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for OpCode

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.