1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-24 01:15:29 +02:00

Bug 545463 - Docker Build occasionally shows unknown includes in editor

- add checks in CBuildConfiguration so that a scanner info that has
  no include paths stored should be treated as no scanner info and
  the data should be fetched again

Change-Id: I6820c56304aed568a58b6058145e912d71fa33c1
This commit is contained in:
Jeff Johnston 2019-03-15 19:32:51 -04:00
parent 02ecf97abe
commit 65d40fbacf

View file

@ -758,7 +758,7 @@ public abstract class CBuildConfiguration extends PlatformObject implements ICBu
synchronized (scannerInfoLock) {
info = scannerInfoCache.getScannerInfo(resource);
}
if (info == null) {
if (info == null || info.getIncludePaths().length == 0) {
ICElement celement = CCorePlugin.getDefault().getCoreModel().create(resource);
if (celement instanceof ITranslationUnit) {
try {
@ -927,6 +927,10 @@ public abstract class CBuildConfiguration extends PlatformObject implements ICBu
boolean hasCommand = true;
synchronized (scannerInfoLock) {
if (scannerInfoCache.hasCommand(commandStrings)) {
IExtendedScannerInfo info = scannerInfoCache.getScannerInfo(commandStrings);
if (info.getIncludePaths().length == 0) {
needScannerRefresh = true;
}
if (!scannerInfoCache.hasResource(commandStrings, resource)) {
scannerInfoCache.addResource(commandStrings, resource);
infoChanged = true;
@ -1053,6 +1057,10 @@ public abstract class CBuildConfiguration extends PlatformObject implements ICBu
boolean hasCommand = true;
synchronized (scannerInfoLock) {
if (scannerInfoCache.hasCommand(commandStrings)) {
IExtendedScannerInfo info = scannerInfoCache.getScannerInfo(commandStrings);
if (info.getIncludePaths().length == 0) {
needScannerRefresh = true;
}
if (!scannerInfoCache.hasResource(commandStrings, resource)) {
scannerInfoCache.addResource(commandStrings, resource);
infoChanged = true;