forked from dsldevkit/dsl-devkit
-
Notifications
You must be signed in to change notification settings - Fork 0
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
rebase to master #1
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add a validation which checks that for simple scope expressions there is a matching default name function if the experssion doesn't have any explicit name functions.
Since there are clients which rely on the order of elements in InferedModelAssociator's "sourceToInferredModelMap" and hence the order of elements in the Set returned by IInferredModelAssociations#getInferredModelElements(), this commit changes InferedModelAssociator to use LinkedLists rather than a HashSet and LinkedListBasedSet as the values for both "sourceToInferredModelMap" and "inferredModelToSourceMap". Using a List rather than a Set improves the performance for associatePrimary() at the cost of slower getInferredModelElements() and getSourceModelElements() operations. DirectLinkingResourceStorageWritable has also been changed to serialize an ImmutableSet rather than a HashSet to make sure that this insertion order is maintained. It might make sense to add a method getPrimaryInferredModelElement() to IInferredModelAssociations, which would also be in line with Xbase's IJvmModelAssociations#getPrimaryJvmElement(). This would make it more explicit that this insertion order is maintained.
#72: Also use insertion ordered sets for "sourceToInferredModelMap"
Change-Id: I816bfef84a99286d6378779e79f93346bb95b85d
Refactor CheckMarkerUpdateJob to allow a user to override the validate method and have custom filtering of the issues.
Again changes InferredModelAssociator's internal representation of the model associations. Now the implementation uses ArrayDeques instead of LinkedLists, as there are more memory-efficient and typically also perform better (InferredModelAssociator doesn't remove elements in the middle). Additionally the serialization of the model associations has been tuned to use less space (around a factor 7 in uncompressed form) and perform better (up to 3 times faster serialization and up to 8 times faster deserialization). Note however that the model associations is only one of four parts of a binary resource, so the overall improvements are of course lower.
Improve performance of model associations in binary resources
scoping tests are now checked explicitly by tests, not by afterEachTest()..
Add helper method for adding linking expectations in marker-based
Initial configuration for code reviews
To be on the safe side the binary storage should always be deleted first. Otherwise, if an I/O exception occurs during an INCR build the old storage could still be present. Also, if the inferred model associations map contains "dangling" objects (not part of any resource), a warning will be logged instead of an exception being thrown.
In the context of MonitoredClusteringBuilderState#queueAffectedResources() it doesn't make sense to log warnings when encountering an OperationCanceledException.
Instead of using a HashSet in the TraceConfigurations returned by TraceConfiguration#enableAllExcept() and TraceConfiguration#enableOnly() the implemenations are now using a IdentityHashMap. The performance gain is probably very minimal (no need to call equals() anymore), but the TraceConfiguration#isEnabled() method is called *a lot*.
Always delete binary storage before writing
#76: Validate that required name function exists
Don't log OperationCanceledException in builder
Performance: Use IdentityHashMap in TraceConfiguration
The generation for FactoryExpressions was incorrect as the closing parenthesis and semicolon to terminate the assignment statement was missing.
Fix ScopeProviderGenerator bug with FactoryExpressions
So far platform was a set of resource descriptions plus issues. Issues are not completely independent from resource descriptions as they have to be associated with some resource description in the builder state. The new concept of associations to derived objects (created by builder participants) have a similar flavor - they are attached to existing resource descriptions (only resources that are processed by the builder may actually produce some derived objects), but are not part of the resource description (the core part of Xtext builder doesn't care about them much). Change-Id: I57455e12986ca16e4119a3e3737e4e82a52d3916
Kept the two saveOld* methods look similar, so changed saveOldDescriptions too.
Add class as a key parameter Correct date in copyright Lazy initialize hash map
This will allow reusing access API for xtext index extension in a DB-backed implementation without mixing it with the store API which is a platform extension. Change-Id: I435bbd67152cd0610c30bfcb3f1afb73aa415534
Change-Id: I5b5e74321c3c654774e3027d4914d3ebd76d6e1a
The additional info includes the class name and the URI of the context object.
Add context info to exception message in the Scope provider generator.
The language specific store for syntax and linking error issues cannot be determined since those have a null URI to problem. Warnings will not be logged when encountering those issues anymore to reduce log noise.
Suppress warnings in CheckConfigurationStoreService due to Xtext markers
The slow loading time used in ParallelResourceLoader can now be configured via the "resourceloader.slowloadingtime" property. Also cleaned up some error messages to use formatted strings and increased the slow loading time to 30 seconds.
abrahamm87
pushed a commit
that referenced
this pull request
Aug 14, 2018
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.