feat(resolver): implement cross-file template resolution

Enable characters to inherit from templates defined in different files
across the project structure.

- Add file_index field to NameEntry to track declaration source files
- Update NameTable::from_files() to set file indices when merging tables
- Change conversion pipeline to pass &[ast::File] instead of flat arrays
- Update merge functions to use two-level indexing:
  all_files[entry.file_index].declarations[entry.decl_index]
- Update all affected tests to use new signatures
This commit is contained in:
2026-02-08 15:45:30 +00:00
parent 9c20dd4092
commit 4c89c80748
9 changed files with 136 additions and 62 deletions

View File

@@ -458,9 +458,9 @@ proptest! {
prop_oneof![
valid_ident().prop_map(|name| Declaration::Character(Character {
name,
species: None,
fields: vec![],
template: None,
span: Span::new(0, 10),
})),
valid_ident().prop_map(|name| Declaration::Template(Template {