Skip to content

Add FileDescriptor#imports and #public_imports#16

Merged
cocoahero merged 1 commit into
mainfrom
feature/file-imports
Jul 7, 2026
Merged

Add FileDescriptor#imports and #public_imports#16
cocoahero merged 1 commit into
mainfrom
feature/file-imports

Conversation

@cocoahero

Copy link
Copy Markdown
Owner

Summary

Resolves a file's imports to their descriptors so generators can follow them — e.g. to emit language-level import/require statements for each dependency.

Changes

FileDescriptor

  • #imports — the file's dependency filenames resolved to FileDescriptors. Imports not included in the request are omitted.
  • #public_imports — the subset declared with import public (resolved via public_dependency).

Testing

  • New tests: #imports resolves to FileDescriptors in declaration order, #public_imports returns only the import public subset, and a file with no dependencies yields empty arrays.
  • Marked article.proto's comment.proto import as import public in the blog fixtures (and regenerated via bin/fixtures) to cover public imports.
  • bin/rake (test + rubocop): 76 runs, 200 assertions, 0 failures, rubocop clean.

Resolve a file's dependency filenames to their FileDescriptors so
generators can follow imports (e.g. to emit require/import statements).
#public_imports returns the subset declared with 'import public'.
Imports not included in the request are omitted.

Mark article.proto's comment.proto import as public in the fixtures
(and regenerate) to cover public imports.
@cocoahero cocoahero merged commit 775cfad into main Jul 7, 2026
5 checks passed
@cocoahero cocoahero deleted the feature/file-imports branch July 7, 2026 19:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant