diff --git a/crates/cxx-qt-gen/src/parser/cxxqtdata.rs b/crates/cxx-qt-gen/src/parser/cxxqtdata.rs
index 92f30ff3b..96ddd26ff 100644
--- a/crates/cxx-qt-gen/src/parser/cxxqtdata.rs
+++ b/crates/cxx-qt-gen/src/parser/cxxqtdata.rs
@@ -4,18 +4,14 @@
// SPDX-License-Identifier: MIT OR Apache-2.0
use crate::syntax::foreignmod::foreign_mod_to_foreign_item_types;
+use crate::syntax::safety::Safety;
use crate::syntax::{attribute::attribute_find_path, path::path_to_single_ident};
use crate::{
- parser::{
- inherit::{InheritMethods, ParsedInheritedMethod},
- qobject::ParsedQObject,
- signals::{ParsedSignal, SignalMethods},
- },
+ parser::{inherit::ParsedInheritedMethod, qobject::ParsedQObject, signals::ParsedSignal},
syntax::expr::expr_to_string,
};
-use proc_macro2::TokenStream;
-use quote::ToTokens;
use std::collections::BTreeMap;
+use syn::ForeignItem;
use syn::{
spanned::Spanned, Attribute, Error, Ident, Item, ItemForeignMod, ItemImpl, Result, Type,
TypePath,
@@ -184,75 +180,60 @@ impl ParsedCxxQtData {
}
}
- fn parse_inherit_mod(&mut self, tokens: TokenStream) -> Result<()> {
- let inherited: InheritMethods = syn::parse2(tokens)?;
-
- self.add_inherited_methods(inherited)
- }
-
- fn add_inherited_methods(&mut self, inherited: InheritMethods) -> Result<()> {
- for method in inherited.base_functions.into_iter() {
- let parsed_inherited_method = ParsedInheritedMethod::parse(method, inherited.safety)?;
-
- if let Some(ref mut qobject) = self
- .qobjects
- .get_mut(&parsed_inherited_method.qobject_ident)
- {
- qobject.inherited_methods.push(parsed_inherited_method);
- } else {
- return Err(Error::new_spanned(
- parsed_inherited_method.qobject_ident,
- "No QObject with this name found.",
- ));
+ fn parse_foreign_mod(&mut self, foreign_mod: ItemForeignMod) -> Result