diff options
author | Andrew Gvozdev | 2011-04-23 18:02:47 +0000 |
---|---|---|
committer | Andrew Gvozdev | 2011-04-23 18:02:47 +0000 |
commit | 8f6af04d2aadcdf576039e60ec1265f2210d640d (patch) | |
tree | a14a408be7d7864c824bfd63ff53e362fb47de45 /build | |
parent | 3d1b5b91dfe71fc7f7f3787b83628e32d571989d (diff) | |
download | org.eclipse.cdt-8f6af04d2aadcdf576039e60ec1265f2210d640d.tar.gz org.eclipse.cdt-8f6af04d2aadcdf576039e60ec1265f2210d640d.tar.xz org.eclipse.cdt-8f6af04d2aadcdf576039e60ec1265f2210d640d.zip |
bug 342069: Scanner discovery output is lost when running compiler specs command
Diffstat (limited to 'build')
2 files changed, 26 insertions, 1 deletions
diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/InfoContext.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/InfoContext.java index 5cf22c0abe7..428f667f599 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/InfoContext.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/InfoContext.java @@ -10,11 +10,13 @@ *******************************************************************************/ package org.eclipse.cdt.make.core.scannerconfig; +import org.eclipse.cdt.core.model.ILanguage; import org.eclipse.core.resources.IProject; public final class InfoContext { private IProject fProject; private String fInstanceId; + private ILanguage fLanguage; public InfoContext(IProject project){ this(project, null); @@ -25,10 +27,26 @@ public final class InfoContext { this.fInstanceId = instanceId != null ? instanceId : ""; //$NON-NLS-1$ } + /** + * @since 7.1 + */ + public InfoContext(IProject project, String instanceId, ILanguage language){ + this.fProject = project; + this.fInstanceId = instanceId != null ? instanceId : ""; //$NON-NLS-1$ + this.fLanguage = language; + } + public String getInstanceId(){ return fInstanceId; } + /** + * @since 7.1 + */ + public ILanguage getLanguage(){ + return fLanguage; + } + @Override public boolean equals(Object obj) { if(obj == this) diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/core/scannerconfig/CfgInfoContext.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/core/scannerconfig/CfgInfoContext.java index 534b419d73f..aa7d0db0d0c 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/core/scannerconfig/CfgInfoContext.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/core/scannerconfig/CfgInfoContext.java @@ -10,6 +10,8 @@ *******************************************************************************/ package org.eclipse.cdt.build.core.scannerconfig; +import org.eclipse.cdt.core.model.ILanguage; +import org.eclipse.cdt.core.model.LanguageManager; import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; import org.eclipse.cdt.core.settings.model.ICProjectDescription; import org.eclipse.cdt.core.settings.model.util.CDataUtil; @@ -90,7 +92,12 @@ public final class CfgInfoContext{ } String instanceId = buf.toString(); - fContext = new InfoContext(project, instanceId); + if (fInType!=null) { + ILanguage language = LanguageManager.getInstance().getLanguage(fInType.getSourceContentType()); + fContext = new InfoContext(project, instanceId, language); + } else { + fContext = new InfoContext(project, instanceId); + } } return fContext; } |