ktrs_compose/core/
compose_kt_visitor.rs1use ktrs_ast::Ast;
4use ktrs_ast::psi::{KtClass, KtClassOrObject, KtFile, KtFunction};
5
6use crate::core::compose_kt_config::ComposeKtConfig;
7use crate::core::emitter::Emitter;
8
9pub trait ComposeKtVisitor {
12 fn is_opt_in(&self) -> bool {
13 false
14 }
15
16 fn visit_function(&self, _ast: &mut Ast, _function: KtFunction, _emitter: &mut dyn Emitter, _config: &dyn ComposeKtConfig) {}
17
18 fn visit_composable(&self, _ast: &mut Ast, _function: KtFunction, _emitter: &mut dyn Emitter, _config: &dyn ComposeKtConfig) {}
19
20 fn visit_class(&self, _ast: &mut Ast, _clazz: KtClass, _emitter: &mut dyn Emitter, _config: &dyn ComposeKtConfig) {}
21
22 fn visit_class_or_object(
23 &self,
24 _ast: &mut Ast,
25 _clazz: KtClassOrObject,
26 _emitter: &mut dyn Emitter,
27 _config: &dyn ComposeKtConfig,
28 ) {
29 }
30
31 fn visit_file(&self, _ast: &mut Ast, _file: KtFile, _emitter: &mut dyn Emitter, _config: &dyn ComposeKtConfig) {}
32}