Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make ClySystemEnvironments responsible for managing environment elements in ClyScopes #15389

Closed

Conversation

carolahp
Copy link
Contributor

ClyScopes have an environment but currently they don't use it to get packages, classes, and methods from the environment. Instead, they ask directly to the elements for their related elements, for example, they ask a RPackages for their classes.

This PR proposes a refactor to make ClyScopes ask for environment elements to its own environment.

This change will make it possible to browse RBEnvironment elements in calypso (This feature is implemented in this NewTools PR)

@jecisc
Copy link
Member

jecisc commented Nov 16, 2023

Tests are failing. For example:

receiver of "system" is nil
Stacktrace
MessageNotUnderstood
receiver of "system" is nil
UndefinedObject(Object)>>doesNotUnderstand: #system
[ :eachClass |
		(environment system methodsInClass: eachClass) do: aBlock ] in ClyTraitUserScope(ClyClassHierarchyScope)>>methodsDo:
ClyClassScope class>>metaLevelsOf:do:
ClyTraitUserScope(ClyClassHierarchyScope)>>metaLevelsOf:do:
[:each |
		((localScopeClass metaLevelForHierarchyOf: each) = each) ifTrue: [
			each isObsolete ifFalse: [ self metaLevelsOf: each do: aBlock].
			self allClassesRelatedTo: each do: aBlock]] in ClyTraitUserScope(ClyClassHierarchyScope)>>allClassesRelatedTo:do:
IdentitySet(Set)>>do:
ClyTraitUserScope class>>classesRelatedTo:do:

@jecisc jecisc added the Status: Need more work The issue is nearly ready. Waiting some last bits. label Nov 16, 2023
@carolahp
Copy link
Contributor Author

No needed anymore

@carolahp carolahp closed this Sep 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Need more work The issue is nearly ready. Waiting some last bits.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants