This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | StackOverflowError at org.netbeans.modules.cnd.repository.RepositoryImpl.get | ||
---|---|---|---|
Product: | cnd | Reporter: | chila |
Component: | Code Model | Assignee: | Vladimir Kvashin <vkvashin> |
Status: | NEW --- | ||
Severity: | normal | ||
Priority: | P3 | ||
Version: | 8.2 | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | DEFECT | Exception Reporter: | 228627 |
Attachments: | stacktrace |
Description
chila
2017-04-01 13:34:25 UTC
Created attachment 163999 [details]
stacktrace
I was not able to reproduce this. However while investigating I understood the following problem. Consider the code #define M namespace ns2 { namespace ns2 { struct Base {int f;}; } } M Navigator shows only one namespace - ns2 and class Base, according to navigator, belongs to this 1-st level namespace. If you write the same without macro namespace ns2 { namespace ns2 { struct Base {int f;}; } } then navigator shows ns2 with nested ns2 and class Base inside the nested one. Investigation shows that keys are equal for outer and inner ns namespaces. There was a similar bug concerning classes - issue #256516 (tackOverflowError at org.netbeans.modules.cnd.repository.RepositoryImpl.get). Unfortunately I wasn't able to solve this one as the issue #256516 was solved. That's because NameSpaceImpl.getScope() returns getContainingFile(), so currently it is not possible to get physical container for a namespace definition. All ways of fixing this that come to my mind are too risky for this patch. |