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
Split TopLevelExportDefs away from LinkedClass #4124
Conversation
Split away from #4111. To be merged now, or not :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's merge this now.
@@ -42,8 +43,6 @@ object Infos { | |||
val methods: List[MethodInfo], | |||
val jsNativeMembers: Map[MethodName, JSNativeLoadSpec], | |||
val exportedMembers: List[ReachabilityInfo], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The CI says:
val exportedMembers: List[ReachabilityInfo], | |
val exportedMembers: List[ReachabilityInfo] |
648910e
to
770c20b
Compare
770c20b
to
5f82662
Compare
def loadClassDefAndVersion(irFile: IRFileImpl)( | ||
implicit ec: ExecutionContext): Future[(ClassDef, Option[String])] = { | ||
update(irFile).map(s => (s._1, version)) | ||
} | ||
|
||
private def update(irFile: IRFileImpl)( | ||
implicit ec: ExecutionContext): Future[(ClassDef, Infos.ClassInfo)] = synchronized { | ||
implicit ec: ExecutionContext): Future[(ClassDef, Infos.ClassInfo, List[Infos.TopLevelExportInfo])] = synchronized { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The CI says that this line is too long (more than 120 characters). Perhaps move the synchronized
inside?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I took the chance to simplify this a bit. PTAL
This will help with organizing modules. Side-effects for TopLevelMethodExportDefs in IRChecker: - Allow them on all class kinds. - Allow names containing `__` for non JS classes. - Disallow references to JS class captures (this was a bug).
5f82662
to
9616e5e
Compare
Side-effects for TopLevelMethodExportDefs in IRChecker:
__
for non JS classes.