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

Fix cycle detection behavior in Analyzer #3552

merged 3 commits into from Jan 31, 2019

Fix cycle detection behavior in Analyzer #3552

merged 3 commits into from Jan 31, 2019


Copy link

@gzm0 gzm0 commented Jan 30, 2019

No description provided.

@gzm0 gzm0 requested a review from sjrd Jan 30, 2019
gzm0 added 2 commits Jan 30, 2019
This is something I have discovered while writing the async analyzer.
@gzm0 gzm0 force-pushed the fix-cycles branch 2 times, most recently from cf652fe to bb4a6b1 Jan 31, 2019
Copy link
Contributor Author

@gzm0 gzm0 commented Jan 31, 2019


The currently provided ClassInfos are broken: The superClass /
interfaces / ancestors accessors may return null.

We could imagine "fixing" this by actually returning a cyclic object
graph. However, we'd have to be very careful to not continue linking
"too far" in this case: As soon as we try a member lookup we risk an
infinite loop.

Therefore, we simply provide the bare class names and fail fast. This
seems to be acceptable for such a bad error condition.
sjrd approved these changes Jan 31, 2019
@sjrd sjrd merged commit cbedf77 into scala-js:master Jan 31, 2019
2 checks passed
@gzm0 gzm0 deleted the fix-cycles branch Jan 31, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants