Skip to main content

rajac_bytecode/classfile/
generation_context.rs

1use 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}