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

rebase to master #1

Merged
merged 36 commits into from
May 11, 2018
Merged

rebase to master #1

merged 36 commits into from
May 11, 2018

Conversation

abrahamm87
Copy link
Owner

No description provided.

Knut Wannheden and others added 30 commits March 15, 2018 09:29
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.
dpetroff and others added 6 commits April 25, 2018 15:58
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 abrahamm87 merged commit b396e77 into abrahamm87:master May 11, 2018
abrahamm87 pushed a commit that referenced this pull request Aug 14, 2018
abrahamm87 pushed a commit that referenced this pull request Nov 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants