diff --git a/lib/rbs/environment.rb b/lib/rbs/environment.rb index e013c3529..605844fd3 100644 --- a/lib/rbs/environment.rb +++ b/lib/rbs/environment.rb @@ -11,6 +11,10 @@ class Environment attr_reader :sources + def declarations + sources.flat_map(&:declarations) + end + class SingleEntry attr_reader :name attr_reader :context diff --git a/sig/environment.rbs b/sig/environment.rbs index 0d7e783aa..aaa4d447e 100644 --- a/sig/environment.rbs +++ b/sig/environment.rbs @@ -30,6 +30,9 @@ module RBS class GlobalEntry < SingleEntry[Symbol, AST::Declarations::Global] end + # Top level declarations + def declarations: () -> Array[AST::Ruby::Declarations::t | AST::Declarations::t] + # Array of source objects loaded in the environment # attr_reader sources: Array[Source::t]