Because of a bug in the platform implementation of equals/hashCode under
some circumstances, we can workaround the problem by returning
the same instance of CElementImageDescriptor when the objects are equal().
Change-Id: I6ff15cffa4b48080dcc6c9a023622edf4ae2d497
This allows symbol reading on larger executables without
hitting an out of memory error
Note: this should not close the bug, it is just a first step.
Change-Id: I62bb252ff67d88d9bef686760fdc0e9b8240fd02
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Switched from "org.eclipse.cdt.core.options" to
"org.eclipse.core.runtime.preferences"
Change-Id: Ie01d955079a7a54875270bb2d259c9232d30e7ea
Signed-off-by: Alexander Fedorov <alexander.fedorov@arsysop.ru>
CDT has two representations for a pointer type wrapped in a
qualifier type: it can be an IPointerType with some qualifiers
set on it directly, or an IPointerType wrapped in an
IQualifierType. (We prefer the first representation to avoid
creating too many wrappers, but sometimes the second one arises
during template instantiation.) This patch makes sure that two
such types can compare equal even if they use different
representations.
Change-Id: Ia8c7d227c74378aae74f04545b9a69103c14e74b
The position of namespaces didn't take into account because the
declaration doesn't exist yet when we use this kind of refactoring,
so the find method of MethodDefinitionInsertLocationFinder didn't
look for namespaces.
Change-Id: I839194879c41f86653c837ca83a306ea1840c1d0
The fields are not used outside of the loadSymbols section,
and they are written before being read, so they should be safely
inlineable.
Change-Id: I68388227074d80ace283395b48c88c59700dd9da
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Some heuristics in skipToStatementStart require knowledge of previous
token. It is initialized with value from a fToken, but it current value
may be invalid because looksLikeMethodDecl changes fPossition value
without adjusting a fToken. Using invalid value may lead to false
triggering of heuristics. Restore fToken value when change fPossition in
looksLikeMethodDecl to prevent this.
Change-Id: If0c2c0577c89a983e1479587409f293c3d0db7be
Signed-off-by: Andrey Mozzhuhin <amozzhuhin@yandex.ru>
A function call may be mistakenly interpreted in looksLikeMethodDecl()
as a method declaration. This was due to simplified processing of
functions with a scope qualifiers in the name.
Now methods with a scope qualifier are handled similarly to methods
without them.
Change-Id: Id3075d3387fdf9c4ae2d0dffa6cdf923fd1ef9d5
Signed-off-by: Andrey Mozzhuhin <amozzhuhin@yandex.ru>
Scanning of double char tokens (::, >>, >=, <<, <=, ->) is broken in
nextToken(). In each case, peekNextChar() was used to get second
character, but scanner position was already on second char and
peekPreviousChar() need to be used.
Change-Id: Ibd447c7cde8783e8ffe547d5f9bc09d11c1c60a7
Signed-off-by: Andrey Mozzhuhin <amozzhuhin@yandex.ru>
Switch to JVM classes
Remove commented code from
CProjectDescriptionManager
Change-Id: I53431ba1d5c015b3192fff7249c73e816b8b49ea
Signed-off-by: Alexander Fedorov <alexander.fedorov@arsysop.ru>
Replace under_score with camelCase for private non-api fields
Change-Id: Ica0dece19aaaf79d979588266f4c9552ea6d1224
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
The syms field is only set and never read outside of getSections.
It can safely be removed.
Change-Id: I40be61c4d6fab0131bd47134fc444b4306f8b322
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
The modifiers should be public static final.
Change-Id: Iaaede29a68891ab8aeb297b08db78ac13acbc1b8
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Test on X86-64, i386, ppc64 and ppc32.
Add Elf compiled executables to resources folder in order to ensure address coherence.
Change-Id: Ie85636c9732cc41b6e5505ecf7acc783644bb442
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
When using -ffunction-section, each function is placed in it's own
section name. For example the main() function would be placed in
.text.main, so the pattern looking for undefined references needs to
allow the extra dot there.
Since C++ will use other symbols than what's included in \w, lets allow
everything except a + sign and whitespace.
Change-Id: I66d9ee7d8cbc0a405e60d7cdeb43c38b30107245
Signed-off-by: Torbjörn Svensson <azoff@svenskalinuxforeningen.se>
- modify EditorUtility.getEditorInputForLocation() so that if we are
dealing with an external Include element and we can't get a
TranslationUnit then check the parent to find a contentTypeId and
create an appropriate ExternalTranslationUnit to use in creating
the ExternalEditorInput
Change-Id: Id99305606d058b8c105fe9b4099f5561620b07fd
In commit f69a613d72, a check for null and
0-length array was introduced, but the checks is not reliable unless the
checked value is later used.
Change-Id: Ifc32b369514ee03eeea21281a7af80616531af87
Signed-off-by: Torbjörn Svensson <azoff@svenskalinuxforeningen.se>