Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions gdsl.py
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ def parse():

f = open("src/blocks.rs", "w")
f.write("""
use tsify::Tsify;
use serde::{Deserialize, Serialize};
pub struct Menu {
pub input: &'static str,
Expand All @@ -194,7 +195,7 @@ def parse():
pub field: &'static str,
}
""")
f.write("#[derive(Debug, Copy, Clone, Serialize, Deserialize)]\npub enum UnOp {")
f.write("#[derive(Tsify, Debug, Copy, Clone, Serialize, Deserialize)]\npub enum UnOp {")
for un_op in un_ops:
f.write(f"{un_op},")
f.write("}\n\n")
Expand Down Expand Up @@ -232,7 +233,7 @@ def parse():
f.write("}")
f.write("}")
f.write("}\n\n")
f.write("#[derive(Debug, Copy, Clone, Serialize, Deserialize)]\npub enum BinOp {")
f.write("#[derive(Tsify, Debug, Copy, Clone, Serialize, Deserialize)]\npub enum BinOp {")
for bin_op in bin_ops:
f.write(f"{bin_op},")
f.write("}\n\n")
Expand Down Expand Up @@ -269,7 +270,7 @@ def parse():

def write_blocks(typename: str, blocks: dict[str, Block | list[Block]]):
f.write(
f"#[derive(Debug, Copy, Clone, Serialize, Deserialize)]\npub enum {typename} {{"
f"#[derive(Tsify, Debug, Copy, Clone, Serialize, Deserialize)]\npub enum {typename} {{"
)
for variant, block in blocks.items():
if isinstance(block, list):
Expand Down
4 changes: 2 additions & 2 deletions src/ast/arg.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ use serde::{
Deserialize,
Serialize,
};

use tsify::Tsify;
use super::{
type_::Type,
ConstExpr,
};
use crate::misc::SmolStr;

#[derive(Debug, Serialize, Deserialize)]
#[derive(Tsify, Debug, Serialize, Deserialize)]
pub struct Arg {
pub name: SmolStr,
pub span: Span,
Expand Down
4 changes: 2 additions & 2 deletions src/ast/asset.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ use serde::{
Deserialize,
Serialize,
};

use tsify::Tsify;
use crate::misc::SmolStr;

#[derive(Debug, Serialize, Deserialize, Clone)]
#[derive(Tsify, Debug, Serialize, Deserialize, Clone)]
pub struct Asset {
pub name: SmolStr,
pub path: SmolStr,
Expand Down
5 changes: 3 additions & 2 deletions src/ast/const_expr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ use serde::{
Deserialize,
Serialize,
};
use tsify::Tsify;

use super::{
StructLiteralField,
Expand All @@ -16,7 +17,7 @@ use crate::{
misc::SmolStr,
};

#[derive(Debug, Serialize, Deserialize, Clone)]
#[derive(Tsify, Debug, Serialize, Deserialize, Clone)]
pub enum ConstExpr {
Value {
value: Value,
Expand All @@ -35,7 +36,7 @@ pub enum ConstExpr {
},
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[derive(Tsify, Debug, Clone, Serialize, Deserialize)]
pub struct ConstStructLiteralField {
pub name: SmolStr,
pub name_span: Span,
Expand Down
4 changes: 2 additions & 2 deletions src/ast/enum_.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ use serde::{
Deserialize,
Serialize,
};

use tsify::Tsify;
use super::enum_variant::EnumVariant;
use crate::misc::SmolStr;

#[derive(Debug, Serialize, Deserialize)]
#[derive(Tsify, Debug, Serialize, Deserialize)]
pub struct Enum {
pub name: SmolStr,
pub span: Span,
Expand Down
4 changes: 2 additions & 2 deletions src/ast/enum_variant.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ use serde::{
Deserialize,
Serialize,
};

use tsify::Tsify;
use super::value::Value;
use crate::misc::SmolStr;

#[derive(Debug, Serialize, Deserialize)]
#[derive(Tsify, Debug, Serialize, Deserialize)]
pub struct EnumVariant {
pub name: SmolStr,
pub span: Span,
Expand Down
4 changes: 2 additions & 2 deletions src/ast/expr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use serde::{
Deserialize,
Serialize,
};

use tsify::Tsify;
use super::{
value::Value,
Name,
Expand All @@ -19,7 +19,7 @@ use crate::{
misc::SmolStr,
};

#[derive(Debug, Clone, Serialize, Deserialize)]
#[derive(Tsify, Debug, Clone, Serialize, Deserialize)]
pub enum Expr {
Value {
value: Value,
Expand Down
4 changes: 2 additions & 2 deletions src/ast/func.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ use serde::{
Deserialize,
Serialize,
};

use tsify::Tsify;
use super::Type;
use crate::misc::SmolStr;

#[derive(Debug, Serialize, Deserialize)]
#[derive(Tsify, Debug, Serialize, Deserialize)]
pub struct Func {
pub name: SmolStr,
pub span: Span,
Expand Down
6 changes: 3 additions & 3 deletions src/ast/list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ use serde::{
Deserialize,
Serialize,
};

use tsify::Tsify;
use super::{
type_::Type,
ConstExpr,
};
use crate::misc::SmolStr;

#[derive(Debug, Serialize, Deserialize)]
#[derive(Tsify, Debug, Serialize, Deserialize)]
pub struct List {
pub name: SmolStr,
pub span: Span,
Expand All @@ -19,7 +19,7 @@ pub struct List {
pub is_used: bool,
}

#[derive(Debug, Serialize, Deserialize)]
#[derive(Tsify, Debug, Serialize, Deserialize)]
pub enum ListDefault {
Values(Vec<ConstExpr>),
File { path: SmolStr, span: Span },
Expand Down
4 changes: 2 additions & 2 deletions src/ast/name.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ use serde::{
Deserialize,
Serialize,
};

use tsify::Tsify;
use crate::misc::SmolStr;

#[derive(Debug, Clone, Serialize, Deserialize)]
#[derive(Tsify, Debug, Clone, Serialize, Deserialize)]
pub enum Name {
Name {
name: SmolStr,
Expand Down
4 changes: 2 additions & 2 deletions src/ast/proc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ use serde::{
Deserialize,
Serialize,
};

use tsify::Tsify;
use crate::misc::SmolStr;

#[derive(Debug, Serialize, Deserialize)]
#[derive(Tsify, Debug, Serialize, Deserialize)]
pub struct Proc {
pub name: SmolStr,
pub span: Span,
Expand Down
5 changes: 3 additions & 2 deletions src/ast/references.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ use serde::{
Deserialize,
Serialize,
};
use tsify::Tsify;

use crate::misc::SmolStr;

#[derive(Debug, Default, Serialize, Deserialize)]
#[derive(Tsify, Debug, Default, Serialize, Deserialize)]
pub struct References {
pub procs: FxHashSet<SmolStr>,
pub funcs: FxHashSet<SmolStr>,
Expand All @@ -16,7 +17,7 @@ pub struct References {
pub args: FxHashSet<NameReference>,
}

#[derive(Debug, Default, Serialize, Deserialize, Eq, PartialEq, Hash)]
#[derive(Tsify, Debug, Default, Serialize, Deserialize, Eq, PartialEq, Hash)]
pub struct NameReference {
pub name: SmolStr,
pub field: Option<SmolStr>,
Expand Down
3 changes: 2 additions & 1 deletion src/ast/rotation_style.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ use serde::{
Deserialize,
Serialize,
};
use tsify::Tsify;

#[derive(Default, Debug, Serialize, Deserialize)]
#[derive(Tsify, Default, Debug, Serialize, Deserialize)]
pub enum RotationStyle {
LeftRight,
#[default]
Expand Down
5 changes: 3 additions & 2 deletions src/ast/sprite.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use serde::{
Deserialize,
Serialize,
};

use tsify::Tsify;
use super::*;
use crate::{
diagnostic::{
Expand All @@ -17,7 +17,8 @@ use crate::{
misc::SmolStr,
};

#[derive(Debug, Default, Serialize, Deserialize)]
#[derive(Tsify, Debug, Default, Serialize, Deserialize)]
#[tsify(from_wasm_abi, into_wasm_abi)]
pub struct Sprite {
pub costumes: Vec<Asset>,
pub sounds: Vec<Asset>,
Expand Down
4 changes: 2 additions & 2 deletions src/ast/stmt.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use serde::{
Deserialize,
Serialize,
};

use tsify::Tsify;
use super::{
expr::Expr,
type_::Type,
Expand All @@ -19,7 +19,7 @@ use crate::{
misc::SmolStr,
};

#[derive(Clone, Debug, Serialize, Deserialize)]
#[derive(Tsify, Clone, Debug, Serialize, Deserialize)]
pub enum Stmt {
Repeat {
times: Box<Expr>,
Expand Down
4 changes: 2 additions & 2 deletions src/ast/struct_.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ use serde::{
Deserialize,
Serialize,
};

use tsify::Tsify;
use super::{
struct_field::StructField,
ConstExpr,
};
use crate::misc::SmolStr;

#[derive(Debug, Serialize, Deserialize)]
#[derive(Tsify, Debug, Serialize, Deserialize)]
pub struct Struct {
pub name: SmolStr,
pub span: Span,
Expand Down
4 changes: 2 additions & 2 deletions src/ast/struct_field.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ use serde::{
Deserialize,
Serialize,
};

use tsify::Tsify;
use super::ConstExpr;
use crate::misc::SmolStr;

#[derive(Debug, Serialize, Deserialize)]
#[derive(Tsify, Debug, Serialize, Deserialize)]
pub struct StructField {
pub name: SmolStr,
pub span: Span,
Expand Down
3 changes: 2 additions & 1 deletion src/ast/struct_literal_field.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@ use serde::{
Deserialize,
Serialize,
};
use tsify::Tsify;

use super::Expr;
use crate::misc::SmolStr;

#[derive(Debug, Clone, Serialize, Deserialize)]
#[derive(Tsify, Debug, Clone, Serialize, Deserialize)]
pub struct StructLiteralField {
pub name: SmolStr,
pub span: Span,
Expand Down
4 changes: 2 additions & 2 deletions src/ast/type_.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ use serde::{
Deserialize,
Serialize,
};

use tsify::Tsify;
use crate::misc::SmolStr;

#[derive(Debug, Clone, Serialize, Deserialize)]
#[derive(Tsify, Debug, Clone, Serialize, Deserialize)]
pub enum Type {
Value,
Struct { name: SmolStr, span: Span },
Expand Down
1 change: 0 additions & 1 deletion src/ast/value.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ use serde::{
Deserialize,
Serialize,
};

use crate::misc::SmolStr;

#[derive(Debug, Clone)]
Expand Down
4 changes: 2 additions & 2 deletions src/ast/var.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ use serde::{
Deserialize,
Serialize,
};

use tsify::Tsify;
use super::{
type_::Type,
ConstExpr,
};
use crate::misc::SmolStr;

#[derive(Debug, Serialize, Deserialize)]
#[derive(Tsify, Debug, Serialize, Deserialize)]
pub struct Var {
pub name: SmolStr,
pub span: Span,
Expand Down
9 changes: 5 additions & 4 deletions src/blocks.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@ use serde::{
Deserialize,
Serialize,
};
use tsify::Tsify;
pub struct Menu {
pub input: &'static str,
pub opcode: &'static str,
pub default: &'static str,
pub field: &'static str,
}
#[derive(Debug, Copy, Clone, Serialize, Deserialize)]
#[derive(Tsify, Debug, Copy, Clone, Serialize, Deserialize)]
pub enum UnOp {
Not,
Length,
Expand Down Expand Up @@ -101,7 +102,7 @@ impl UnOp {
}
}

#[derive(Debug, Copy, Clone, Serialize, Deserialize)]
#[derive(Tsify, Debug, Copy, Clone, Serialize, Deserialize)]
pub enum BinOp {
Add,
Sub,
Expand Down Expand Up @@ -180,7 +181,7 @@ impl BinOp {
}
}
}
#[derive(Debug, Copy, Clone, Serialize, Deserialize)]
#[derive(Tsify, Debug, Copy, Clone, Serialize, Deserialize)]
pub enum Block {
Move,
TurnLeft,
Expand Down Expand Up @@ -1097,7 +1098,7 @@ impl Block {
}
}
}
#[derive(Debug, Copy, Clone, Serialize, Deserialize)]
#[derive(Tsify, Debug, Copy, Clone, Serialize, Deserialize)]
pub enum Repr {
XPosition,
YPosition,
Expand Down
Loading
Loading