This works around the fact that the optimization introduced in bug 316704
inteferes with the mechanism for offering completions for both alternatives
in an ambiguous context.
Change-Id: Ibe14c1b4f2f9c9b3394d4635c87424a25fbd7a53
This is a revised approach for fixing this bug by giving using-
declarations implicit names for each delegate binding.
Change-Id: Ib9695c30258b8cb322ae1548ab022e357318135c
According to the standard, if a friend declaration is the only
declaration of a class type, then that class type is only
visible to argument-dependent lookup until another declaration
is encountered.
Bug 508338 attempted to implement this rule for PDOM class
types by not storing the class type in the index at all when
that first declaration is encountered. However, this meant
not recording the friend relationship either, which regressed
CompletionTests.testTypes_FriendClass (which was then disabled).
Bug 512932 implemented this rule for AST class types in a
different way, by keeping track of which names are visible to
ADL only.
This change reverts the fix for bug 508338, and extends the
approach from bug 512932 to PDOM class types. It also re-
enabled CompletionTests.testTypes_FriendClass which now passes.
Change-Id: I9a845fdba514339d86c0c3761a85cf34a17a5613
- Have resolveUnknownBinding() run the full "resolve unknown type"
logic if the binding is a type.
- Handle EvalTypeId
Change-Id: I97946453755ddcf6f382195ddb9fc7dcb2672b68
This resolves a significant UI performance regression so
now line numbers don't need to be recalculated for areas
where they are already known.
Change-Id: I4668d620cde24b7cd8c6a22e9c022eaf5b237ff2
We previously modelled alias template specializations as alias template
instances, which was conceptually incorrect and problematic for a number
of reasons.
Change-Id: Ibca8b87bb3d54cd3ae312254a02e8522e446331d
This allows reusing more code, such as CommonCPPTypes and
BindingAssertionHelper, between the two test suites.
Change-Id: I8203191fc3a10565add0ae1bd25c98f743cd1e64
Re-wrote the BuildConsolePartitioner to do as many operations as possible
in the non-UI thread and only to update the UI thread in batches.
Key changes:
- The UI thread "pulls" changes when it is ready, this means that many
lines of output are updated in one go. This compares to the "push" that
the non-UI thread used to do. The previous code pushed a change to the
UI thread on every line of build output.
- The limit on console size is now soft, rather than recalcuating the
entire document on each line (i.e. add line at bottom, remove line
from top) the document is truncated to the limit size as it reaches
2x the limit size. This calculation is also done more effeciently by
tracking the number of lines each partition contains rather than
recalculating them.
- Folded most of the implementation of BuildConsolePartition into
BuildConsolePartitioner. This is because the partioner has a global
view and is much more efficient at determining if adjacent partitions
can be combined. In addition, rather than having the complexity of
splitting partitions that were too long, instead make sure we don't
create such partitions in the first place.
Change-Id: I47543db3fef754e779684cae44d3316982f1bc0a
Specifically, this patch:
- Adds support for a new builtin, __builtin_assume_aligned.
- Models __builtin_constant_p as a function instead of a macro.
This inhibits constexpr evaluation, but allows for correct
type-checking.
- Diagnoses misuses of known builtins, instead of ingoring them like
unknown builtins.
Change-Id: Ie5a26f2010dc5b19e6f32a8c6a1237fe88da393e
Manually testing this code shows it works, but this test fails
>50% of the time on Hudson causing significant numbers of
UNSTABLE builds.
Change-Id: Ie23e97e477d9b154ff33b38374bd257412241889
The break inserter test was running all display events for 200ms after
each simulated keystroke, but all sideeffects were happening synchronously
or being placed on the event queue synchronously. So speed-up is achieved
by running event queue until empty instead of effectively sleeping for
200ms
Change-Id: Icffd4d5526176e596cf8ce3ac716a4ae88d51159
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
This change enables future tests to use new style annotations,
for example using @RunWith(Parameterized.class)
Change-Id: I4998e8b50fc7574c057b4f4a556205ce5a2497d6
This removes a lot of pom.xml from the source tree. This is using the
"POM-less" Tycho functionality.
See
https://wiki.eclipse.org/Tycho/Release_Notes/0.24#POM-less_Tycho_builds
One advantage of this is that you do not need to update the version in
the pom.xml when you change it in the MANIFEST.MF because the pom.xml is
automatically generated. This also reduces a lot of the duplicated
information and pom.xml repetition.
- Maven 3.3 and up is required.
- Only eclipse-plugins and eclipse-features can be pom-less.
Repositories, target and others still have pom.xml.
- New parent poms are added because a parent is necessary directly one
level above the plug-in/feature that will have its pom generated
- Some test plug-ins had to be renamed .test -> .tests because it's
required so that it detects that it's a test plug-in
- Some suites were renamed so that they all use the same consistent name
"AutomatedIntegrationSuite"
- Profiles were added for the more common test configurations. They are
activated by the presence of simple .properties files that only serve to
activate the correct profile. The profiles:
- One for UI tests (UI present and start in UI thread)
- One for SWTBot tests (UI present and do not start in UI thread)
Other test plug-ins that are too different are kept intact and still
have
a pom.xml
- Fragments are kept intact since they all have different target
platform configurations
Change-Id: I9d73380eb766f547830c552daf08053a30b1845c
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
The change is invalid since a PDOMName can participate in only one
binding at a time through its BINDING_PREV_OFFSET/ BINDING_PREV_OFFSET
pointers.
This reverts commit 2706699543.
Change-Id: I1a4dd7b189b85a0d9c1cca2660d33ab7351a025c
Previously, the arguments shared the color of the template-name.
Now, the arguments get their own colors.
Change-Id: I27af4146717a19095f1ac22188eedb8a71d9466c
In addition to showing the parameter list (with the current parameter
bolded), the hint now shows the function's name, return type, and
whether or not it is virtual.
Change-Id: I24be893ee8968fca8d9893230266ec98e2b9ae5a
Proposals where the extension is not a known C/C++ header file extension
are ranked below proposals where the extension is one.
Proposals where the extension is a known C/C++ *source* file extension,
and proposals where the filename begins with a '.', are still not considered.
Change-Id: I80784f8f15a01b05977a288affbe3958f1400bdf