1
0
Fork 0
mirror of https://codeberg.org/demostf/parser.git synced 2026-06-03 18:24:05 +02:00

update codegen

This commit is contained in:
Robin Appelman 2021-07-25 14:47:40 +02:00
commit 058ee0b96d
3 changed files with 414 additions and 411 deletions

9
codegen/Cargo.lock generated
View file

@ -94,14 +94,15 @@ dependencies = [
[[package]]
name = "bitbuffer"
version = "0.10.1"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ecda732bb39816e05e1d037def865ab8744579ffd53aa7586a17eb0bc7492170"
checksum = "29a6edc6bf48f16337689fb5122a6407713ecc23e57fbbcfde367c51fdb6aec1"
dependencies = [
"bitbuffer_derive",
"err-derive",
"memchr",
"num-traits 0.2.14",
"serde",
]
[[package]]
@ -578,9 +579,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
version = "1.0.27"
version = "1.0.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038"
checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612"
dependencies = [
"unicode-xid",
]

File diff suppressed because it is too large Load diff

View file

@ -3,7 +3,7 @@ extern crate proc_macro;
use fnv::FnvHashMap;
use inflector::Inflector;
use lazy_static::lazy_static;
use proc_macro2::{Ident, Literal, Span, TokenStream};
use proc_macro2::{Ident, Span, TokenStream};
use quote::quote;
use tf_demo_parser::demo::gameevent_gen::get_sizes;
use tf_demo_parser::demo::gamevent::{GameEventDefinition, GameEventValueType};
@ -229,6 +229,7 @@ pub fn generate_game_events(demo: Demo) -> TokenStream {
use crate::demo::Stream;
use crate::{ParseError, Result};
use bitbuffer::{BitRead, LittleEndian, BitWrite, BitWriteStream};
use serde::{Deserialize, Serialize};
);
let event_definitions = events.iter().map(|event| {
@ -263,7 +264,7 @@ pub fn generate_game_events(demo: Demo) -> TokenStream {
};
quote!(
#[derive(Debug, BitWrite, PartialEq)]
#[derive(Debug, BitWrite, PartialEq, Serialize, Deserialize)]
pub struct #name {
#(#fields)*
}
@ -378,13 +379,13 @@ pub fn generate_game_events(demo: Demo) -> TokenStream {
#(#event_definitions)*
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub enum GameEvent {
#(#event_variants)*
Unknown(RawGameEvent),
}
#[derive(Clone, Debug, PartialEq, Eq, Hash)]
#[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub enum GameEventType {
#(#event_types)*
Unknown(String),