1e46750ca1
- Update copyright from 'Parity Technologies (UK) Ltd.' to 'Dijital Kurdistan Tech Institute' - Update year to 2026 - Mark doc tests with relative metadata paths as 'ignore' to fix workspace-level doc tests - Affected files: runtime_apis.rs, storage.rs, constants.rs, transactions.rs, codegen.rs The doc tests use relative paths like '../artifacts/*.scale' which only work when testing the crate directly (-p pezkuwi-subxt), not during workspace-level tests. The examples/ directory contains the actual runnable test code.
35 lines
880 B
Rust
35 lines
880 B
Rust
// Copyright 2019-2026 Dijital Kurdistan Tech Institute
|
|
// This file is dual-licensed as Apache-2.0 or GPL-3.0.
|
|
// see LICENSE for license details.
|
|
|
|
use crate::error::CodegenError;
|
|
use syn::token;
|
|
|
|
#[derive(Debug, PartialEq, Eq)]
|
|
pub struct ItemMod {
|
|
vis: syn::Visibility,
|
|
mod_token: token::Mod,
|
|
pub ident: syn::Ident,
|
|
brace: token::Brace,
|
|
items: Vec<syn::Item>,
|
|
}
|
|
|
|
impl TryFrom<syn::ItemMod> for ItemMod {
|
|
type Error = CodegenError;
|
|
|
|
fn try_from(module: syn::ItemMod) -> Result<Self, Self::Error> {
|
|
let (brace, items) = match module.content {
|
|
Some((brace, items)) => (brace, items),
|
|
None => return Err(CodegenError::InvalidModule(module.ident.span())),
|
|
};
|
|
|
|
Ok(Self { vis: module.vis, mod_token: module.mod_token, ident: module.ident, brace, items })
|
|
}
|
|
}
|
|
|
|
impl ItemMod {
|
|
pub fn rust_items(&self) -> impl Iterator<Item = &syn::Item> {
|
|
self.items.iter()
|
|
}
|
|
}
|