rajac_bytecode/classfile/
generation_context.rs1use crate::bytecode::UnsupportedFeature;
2use rajac_ast::{ClassDeclId, ClassKind, Modifiers};
3use rajac_base::shared_string::SharedString;
4use rajac_symbols::SymbolTable;
5use ristretto_classfile::ClassFile;
6
7#[derive(Clone, Debug)]
8pub(crate) struct NestedClassInfo {
9 pub(crate) class_id: ClassDeclId,
10 pub(crate) internal_name: SharedString,
11 pub(crate) simple_name: SharedString,
12 pub(crate) modifiers: Modifiers,
13 pub(crate) kind: ClassKind,
14}
15
16pub(crate) struct ClassfileGenerationContext<'a> {
17 pub(crate) type_arena: &'a rajac_types::TypeArena,
18 pub(crate) symbol_table: &'a SymbolTable,
19 pub(crate) unsupported_features: &'a mut Vec<UnsupportedFeature>,
20}
21
22pub struct GeneratedClassFiles {
23 pub class_files: Vec<ClassFile>,
24 pub unsupported_features: Vec<UnsupportedFeature>,
25}