Closed bioball closed 1 month ago
The goal of this PR is to separte the concerns of building a file from analysis and publishing diagnostics.
Each VirtualFile now returns the underlying PklModule as a completable future, which gets invalidated if its contents change.
getModule(): CompletableFuture<PklModule>
DiagnosticsManager
Miscellaneous: change various events to follow ADT pattern (use sealed interface)
sealed interface
The goal of this PR is to separte the concerns of building a file from analysis and publishing diagnostics.
Each VirtualFile now returns the underlying PklModule as a completable future, which gets invalidated if its contents change.
getModule(): CompletableFuture<PklModule>
to VirtualFileDiagnosticsManager
, which builds new diagnostics as the project's state changesMiscellaneous: change various events to follow ADT pattern (use
sealed interface
)