From 472723016cbd23cdd2fb3376f90286996db3a744 Mon Sep 17 00:00:00 2001 From: testuser Date: Mon, 3 Feb 2025 19:55:05 +0900 Subject: [PATCH] update(generator): return error when block has multiple --- src/generator.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/generator.rs b/src/generator.rs index 362e464..2ab6d5c 100644 --- a/src/generator.rs +++ b/src/generator.rs @@ -15,7 +15,6 @@ use crate::{ types::{Block, Module, ModuleBlockElements, Register}, }; use heck::{ToSnakeCase, ToUpperCamelCase}; -use proc_macro2::TokenStream; use quote::quote; use thiserror::Error; @@ -27,6 +26,8 @@ pub enum CodeGenError { FilePathError(String), #[error("parent is required for {module}")] ParentMissing { module: &'static str }, + #[error("Unsupported structure: {}", name)] + UnsupportedStructure { name: &'static str }, } mod util { @@ -200,6 +201,12 @@ impl CodeGen for Block { parent_path: Option, mut files: HashMap, ) -> Result, CodeGenError> { + if self.multiple.is_some() { + // Plan: expand automatically, or same as register? + return Err(CodeGenError::UnsupportedStructure { + name: "multiple in block", + }); + } let parent_name = parent_name.ok_or(CodeGenError::ParentMissing { module: "Block" })?; let parent_path = parent_path.ok_or(CodeGenError::ParentMissing { module: "Block" })?;