mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Cleaned getProviderCopy() API, got rid of LanguageSettingsManager_TBD
This commit is contained in:
parent
0df3dfbbbc
commit
2309ecabf0
12 changed files with 297 additions and 313 deletions
|
@ -353,7 +353,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(cfgDescription);
|
parser.startup(cfgDescription);
|
||||||
|
@ -395,7 +395,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(cfgDescription);
|
parser.startup(cfgDescription);
|
||||||
|
@ -459,7 +459,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(cfgDescription);
|
parser.startup(cfgDescription);
|
||||||
|
@ -531,7 +531,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(cfgDescription);
|
parser.startup(cfgDescription);
|
||||||
|
@ -609,7 +609,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(cfgDescription);
|
parser.startup(cfgDescription);
|
||||||
|
@ -639,7 +639,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(cfgDescription);
|
parser.startup(cfgDescription);
|
||||||
|
@ -690,7 +690,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(cfgDescription);
|
parser.startup(cfgDescription);
|
||||||
|
@ -735,7 +735,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(cfgDescription);
|
parser.startup(cfgDescription);
|
||||||
|
@ -779,7 +779,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(cfgDescription);
|
parser.startup(cfgDescription);
|
||||||
|
@ -811,7 +811,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(cfgDescription);
|
parser.startup(cfgDescription);
|
||||||
|
@ -861,7 +861,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(cfgDescription);
|
parser.startup(cfgDescription);
|
||||||
|
@ -886,7 +886,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(cfgDescription);
|
parser.startup(cfgDescription);
|
||||||
|
@ -919,7 +919,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(null);
|
parser.startup(null);
|
||||||
|
@ -955,7 +955,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(cfgDescription);
|
parser.startup(cfgDescription);
|
||||||
|
@ -1008,7 +1008,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
ErrorParserManager epm = new ErrorParserManager(project, null);
|
ErrorParserManager epm = new ErrorParserManager(project, null);
|
||||||
// Shift build directory, that could happen if Make Target from folder1 was run
|
// Shift build directory, that could happen if Make Target from folder1 was run
|
||||||
IFolder buildDir = folder1;
|
IFolder buildDir = folder1;
|
||||||
|
@ -1049,7 +1049,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(cfgDescription);
|
parser.startup(cfgDescription);
|
||||||
|
@ -1098,7 +1098,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
parser.setResolvingPaths(true);
|
parser.setResolvingPaths(true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
|
@ -1129,7 +1129,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
parser.setResolvingPaths(true);
|
parser.setResolvingPaths(true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
|
@ -1169,7 +1169,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser with expandRelativePaths=false
|
// create GCCBuildCommandParser with expandRelativePaths=false
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
parser.setResolvingPaths(false);
|
parser.setResolvingPaths(false);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
|
@ -1205,7 +1205,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
parser.setResolvingPaths(true);
|
parser.setResolvingPaths(true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
|
@ -1242,7 +1242,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
ErrorParserManager epm = new ErrorParserManager(project, null);
|
ErrorParserManager epm = new ErrorParserManager(project, null);
|
||||||
epm.pushDirectoryURI(buildDir.getLocationURI());
|
epm.pushDirectoryURI(buildDir.getLocationURI());
|
||||||
|
|
||||||
|
@ -1284,7 +1284,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
ErrorParserManager epm = new ErrorParserManager(project, null);
|
ErrorParserManager epm = new ErrorParserManager(project, null);
|
||||||
|
|
||||||
|
@ -1316,7 +1316,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
ErrorParserManager epm = new ErrorParserManager(project, null);
|
ErrorParserManager epm = new ErrorParserManager(project, null);
|
||||||
epm.pushDirectoryURI(buildDir.getLocationURI());
|
epm.pushDirectoryURI(buildDir.getLocationURI());
|
||||||
|
@ -1354,7 +1354,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
ErrorParserManager epm = new ErrorParserManager(project, null);
|
ErrorParserManager epm = new ErrorParserManager(project, null);
|
||||||
URI uriBuildDir = new URI("file:/non-existing/path");
|
URI uriBuildDir = new URI("file:/non-existing/path");
|
||||||
|
@ -1397,7 +1397,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
ErrorParserManager epm = new ErrorParserManager(project, null);
|
ErrorParserManager epm = new ErrorParserManager(project, null);
|
||||||
URI uriBuildDir = new URI("file:/BuildDir");
|
URI uriBuildDir = new URI("file:/BuildDir");
|
||||||
|
@ -1447,7 +1447,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
ErrorParserManager epm = new ErrorParserManager(project, null);
|
ErrorParserManager epm = new ErrorParserManager(project, null);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
|
@ -1501,7 +1501,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
ErrorParserManager epm = new ErrorParserManager(project, null);
|
ErrorParserManager epm = new ErrorParserManager(project, null);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
|
@ -1561,7 +1561,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
ErrorParserManager epm = new ErrorParserManager(project, null);
|
ErrorParserManager epm = new ErrorParserManager(project, null);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
|
@ -1606,7 +1606,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
ResourceHelper.createSymbolicLink(linkPath, dir2);
|
ResourceHelper.createSymbolicLink(linkPath, dir2);
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
ErrorParserManager epm = new ErrorParserManager(project, null);
|
ErrorParserManager epm = new ErrorParserManager(project, null);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
|
@ -1646,7 +1646,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
ResourceHelper.createSymbolicLink(linkPath, subfolder.getLocation());
|
ResourceHelper.createSymbolicLink(linkPath, subfolder.getLocation());
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
ErrorParserManager epm = new ErrorParserManager(project, null);
|
ErrorParserManager epm = new ErrorParserManager(project, null);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
|
@ -1688,7 +1688,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(cfgDescription);
|
parser.startup(cfgDescription);
|
||||||
|
@ -1731,7 +1731,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(cfgDescription);
|
parser.startup(cfgDescription);
|
||||||
|
@ -1777,7 +1777,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
ResourceHelper.createFile(project, "file.c");
|
ResourceHelper.createFile(project, "file.c");
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
// restrict the parser's language scope to C++ only
|
// restrict the parser's language scope to C++ only
|
||||||
parser.setLanguageScope(new ArrayList<String>() {{add(LANG_CPP);}});
|
parser.setLanguageScope(new ArrayList<String>() {{add(LANG_CPP);}});
|
||||||
|
|
||||||
|
@ -1809,7 +1809,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
assertEquals(contentType, contentTypeX);
|
assertEquals(contentType, contentTypeX);
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(cfgDescription);
|
parser.startup(cfgDescription);
|
||||||
|
@ -1839,7 +1839,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
IFile file=ResourceHelper.createFile(project, "file.cpp");
|
IFile file=ResourceHelper.createFile(project, "file.cpp");
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
ErrorParserManager epm = new ErrorParserManager(project, null);
|
ErrorParserManager epm = new ErrorParserManager(project, null);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
|
@ -1870,7 +1870,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
parser.startup(cfgDescription);
|
parser.startup(cfgDescription);
|
||||||
|
@ -1916,7 +1916,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
ErrorParserManager epm = new ErrorParserManager(project, null);
|
ErrorParserManager epm = new ErrorParserManager(project, null);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
|
@ -1956,7 +1956,7 @@ public class GCCBuildCommandParserTest extends BaseTestCase {
|
||||||
String languageId = ls.getLanguageId();
|
String languageId = ls.getLanguageId();
|
||||||
|
|
||||||
// create GCCBuildCommandParser
|
// create GCCBuildCommandParser
|
||||||
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT);
|
GCCBuildCommandParser parser = (GCCBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(GCC_BUILD_COMMAND_PARSER_EXT, true);
|
||||||
ErrorParserManager epm = new ErrorParserManager(project, null);
|
ErrorParserManager epm = new ErrorParserManager(project, null);
|
||||||
|
|
||||||
// parse line
|
// parse line
|
||||||
|
|
|
@ -211,12 +211,14 @@ public abstract class AbstractBuildCommandParser extends AbstractLanguageSetting
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void init(String buildCommandParserId) {
|
protected void init(String buildCommandParserId) {
|
||||||
AbstractBuildCommandParser buildCommandParser = (AbstractBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(buildCommandParserId);
|
AbstractBuildCommandParser buildCommandParser = (AbstractBuildCommandParser) LanguageSettingsManager.getExtensionProviderCopy(buildCommandParserId, false);
|
||||||
for (String template : PATTERN_TEMPLATES) {
|
if (buildCommandParser != null) {
|
||||||
String pattern = buildCommandParser.makePattern(template);
|
for (String template : PATTERN_TEMPLATES) {
|
||||||
String fileExpr = "$"+buildCommandParser.adjustFileGroup(); //$NON-NLS-1$
|
String pattern = buildCommandParser.makePattern(template);
|
||||||
String descExpr = "$0"; //$NON-NLS-1$
|
String fileExpr = "$"+buildCommandParser.adjustFileGroup(); //$NON-NLS-1$
|
||||||
addPattern(new RegexErrorPattern(pattern, fileExpr, null, descExpr, null, IMarkerGenerator.SEVERITY_WARNING, true));
|
String descExpr = "$0"; //$NON-NLS-1$
|
||||||
|
addPattern(new RegexErrorPattern(pattern, fileExpr, null, descExpr, null, IMarkerGenerator.SEVERITY_WARNING, true));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,8 +26,6 @@ import java.util.Set;
|
||||||
import org.eclipse.cdt.core.CCorePlugin;
|
import org.eclipse.cdt.core.CCorePlugin;
|
||||||
import org.eclipse.cdt.core.ConsoleOutputStream;
|
import org.eclipse.cdt.core.ConsoleOutputStream;
|
||||||
import org.eclipse.cdt.core.ProblemMarkerInfo;
|
import org.eclipse.cdt.core.ProblemMarkerInfo;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsProvider;
|
|
||||||
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager_TBD;
|
|
||||||
import org.eclipse.cdt.core.model.CoreModel;
|
import org.eclipse.cdt.core.model.CoreModel;
|
||||||
import org.eclipse.cdt.core.resources.ACBuilder;
|
import org.eclipse.cdt.core.resources.ACBuilder;
|
||||||
import org.eclipse.cdt.core.resources.IConsole;
|
import org.eclipse.cdt.core.resources.IConsole;
|
||||||
|
|
|
@ -912,10 +912,9 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (id.length()>0){
|
} else if (id.length()>0) {
|
||||||
// TODO - look into saving on copying, need to figure out "shared" attribute from extension provider directly
|
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getExtensionProviderCopy(id, false);
|
||||||
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getExtensionProviderCopy(id);
|
if (providerExt == null || LanguageSettingsProviderAssociationManager.shouldBeShared(providerExt)) {
|
||||||
if (LanguageSettingsProviderAssociationManager.shouldBeShared(providerExt)) {
|
|
||||||
provider = LanguageSettingsManager.getWorkspaceProvider(id);
|
provider = LanguageSettingsManager.getWorkspaceProvider(id);
|
||||||
} else {
|
} else {
|
||||||
provider = providerExt;
|
provider = providerExt;
|
||||||
|
@ -935,7 +934,7 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isProviderThere(providers, UI_USER_LANGUAGE_SETTINGS_PROVIDER)) {
|
if (!isProviderThere(providers, UI_USER_LANGUAGE_SETTINGS_PROVIDER)) {
|
||||||
ILanguageSettingsProvider provider = LanguageSettingsManager.getExtensionProviderCopy(UI_USER_LANGUAGE_SETTINGS_PROVIDER);
|
ILanguageSettingsProvider provider = LanguageSettingsManager.getExtensionProviderCopy(UI_USER_LANGUAGE_SETTINGS_PROVIDER, true);
|
||||||
providers.add(0, provider);
|
providers.add(0, provider);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,6 @@ import org.eclipse.cdt.core.settings.model.CMacroFileEntry;
|
||||||
import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
|
import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
|
||||||
import org.eclipse.cdt.core.settings.model.ICSettingEntry;
|
import org.eclipse.cdt.core.settings.model.ICSettingEntry;
|
||||||
import org.eclipse.cdt.core.testplugin.util.BaseTestCase;
|
import org.eclipse.cdt.core.testplugin.util.BaseTestCase;
|
||||||
import org.eclipse.cdt.internal.core.language.settings.providers.LanguageSettingsExtensionManager;
|
|
||||||
import org.eclipse.core.resources.IFile;
|
import org.eclipse.core.resources.IFile;
|
||||||
import org.eclipse.core.resources.ResourcesPlugin;
|
import org.eclipse.core.resources.ResourcesPlugin;
|
||||||
import org.eclipse.core.runtime.Path;
|
import org.eclipse.core.runtime.Path;
|
||||||
|
@ -108,14 +107,14 @@ public class LanguageSettingsExtensionsTests extends BaseTestCase {
|
||||||
|
|
||||||
{
|
{
|
||||||
// test provider not in the list
|
// test provider not in the list
|
||||||
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getExtensionProviderCopy("missing.povider");
|
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getExtensionProviderCopy("missing.povider", true);
|
||||||
assertTrue(LanguageSettingsManager.isWorkspaceProvider(providerExt));
|
assertNull(providerExt);
|
||||||
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(providerExt);
|
|
||||||
assertNull(rawProvider);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// get test plugin extension provider
|
// get test plugin extension provider
|
||||||
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_BASE_PROVIDER_ID);
|
ILanguageSettingsProvider providerExtCopy = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_BASE_PROVIDER_ID, true);
|
||||||
|
assertNull(providerExtCopy);
|
||||||
|
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_BASE_PROVIDER_ID);
|
||||||
assertTrue(LanguageSettingsManager.isWorkspaceProvider(providerExt));
|
assertTrue(LanguageSettingsManager.isWorkspaceProvider(providerExt));
|
||||||
|
|
||||||
// get raw extension provider
|
// get raw extension provider
|
||||||
|
@ -157,7 +156,9 @@ public class LanguageSettingsExtensionsTests extends BaseTestCase {
|
||||||
*/
|
*/
|
||||||
public void testExtensionBaseProviderSubclass() throws Exception {
|
public void testExtensionBaseProviderSubclass() throws Exception {
|
||||||
// get test plugin extension provider
|
// get test plugin extension provider
|
||||||
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_BASE_SUBCLASS_PROVIDER_ID);
|
ILanguageSettingsProvider providerExtCopy = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_BASE_SUBCLASS_PROVIDER_ID, true);
|
||||||
|
assertNull(providerExtCopy);
|
||||||
|
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_BASE_SUBCLASS_PROVIDER_ID);
|
||||||
assertTrue(LanguageSettingsManager.isWorkspaceProvider(providerExt));
|
assertTrue(LanguageSettingsManager.isWorkspaceProvider(providerExt));
|
||||||
|
|
||||||
// get raw extension provider
|
// get raw extension provider
|
||||||
|
@ -187,7 +188,9 @@ public class LanguageSettingsExtensionsTests extends BaseTestCase {
|
||||||
*/
|
*/
|
||||||
public void testExtensionCustomProvider() throws Exception {
|
public void testExtensionCustomProvider() throws Exception {
|
||||||
// get test plugin extension non-default provider
|
// get test plugin extension non-default provider
|
||||||
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_CUSTOM_PROVIDER_ID);
|
ILanguageSettingsProvider providerExtCopy = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_CUSTOM_PROVIDER_ID, true);
|
||||||
|
assertNull(providerExtCopy);
|
||||||
|
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_CUSTOM_PROVIDER_ID);
|
||||||
assertTrue(LanguageSettingsManager.isWorkspaceProvider(providerExt));
|
assertTrue(LanguageSettingsManager.isWorkspaceProvider(providerExt));
|
||||||
|
|
||||||
// get raw extension provider
|
// get raw extension provider
|
||||||
|
@ -256,7 +259,9 @@ public class LanguageSettingsExtensionsTests extends BaseTestCase {
|
||||||
*/
|
*/
|
||||||
public void testSerializableProvider() throws Exception {
|
public void testSerializableProvider() throws Exception {
|
||||||
// get test plugin extension for serializable provider
|
// get test plugin extension for serializable provider
|
||||||
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_SERIALIZABLE_PROVIDER_ID);
|
ILanguageSettingsProvider providerExtCopy = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_SERIALIZABLE_PROVIDER_ID, true);
|
||||||
|
assertNull(providerExtCopy);
|
||||||
|
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_SERIALIZABLE_PROVIDER_ID);
|
||||||
assertTrue(LanguageSettingsManager.isWorkspaceProvider(providerExt));
|
assertTrue(LanguageSettingsManager.isWorkspaceProvider(providerExt));
|
||||||
|
|
||||||
// get raw extension provider
|
// get raw extension provider
|
||||||
|
@ -279,28 +284,25 @@ public class LanguageSettingsExtensionsTests extends BaseTestCase {
|
||||||
// Non-editable providers cannot be copied so they are singletons
|
// Non-editable providers cannot be copied so they are singletons
|
||||||
{
|
{
|
||||||
// get test plugin extension for serializable provider
|
// get test plugin extension for serializable provider
|
||||||
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_SERIALIZABLE_PROVIDER_ID);
|
ILanguageSettingsProvider providerExtCopy = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_SERIALIZABLE_PROVIDER_ID, true);
|
||||||
|
assertNull(providerExtCopy);
|
||||||
|
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_SERIALIZABLE_PROVIDER_ID);
|
||||||
assertTrue(LanguageSettingsManager.isWorkspaceProvider(providerExt));
|
assertTrue(LanguageSettingsManager.isWorkspaceProvider(providerExt));
|
||||||
|
|
||||||
// get raw extension provider
|
// get raw extension provider
|
||||||
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(providerExt);
|
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(providerExt);
|
||||||
assertTrue(rawProvider instanceof LanguageSettingsSerializableProvider);
|
assertTrue(rawProvider instanceof LanguageSettingsSerializableProvider);
|
||||||
assertTrue(LanguageSettingsExtensionManager.equalsExtensionProvider(rawProvider));
|
assertTrue(LanguageSettingsManager.isEqualExtensionProvider(rawProvider, true));
|
||||||
|
|
||||||
// compare with workspace provider
|
|
||||||
ILanguageSettingsProvider providerWsp = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_SERIALIZABLE_PROVIDER_ID);
|
|
||||||
ILanguageSettingsProvider providerWspRaw = LanguageSettingsManager.getRawProvider(providerWsp);
|
|
||||||
assertSame(rawProvider, providerWspRaw);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Editable providers are retrieved by copy
|
// Editable providers are retrieved by copy
|
||||||
{
|
{
|
||||||
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_EDITABLE_PROVIDER_ID);
|
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_EDITABLE_PROVIDER_ID, true);
|
||||||
assertFalse(LanguageSettingsManager.isWorkspaceProvider(providerExt));
|
assertFalse(LanguageSettingsManager.isWorkspaceProvider(providerExt));
|
||||||
assertTrue(providerExt instanceof ILanguageSettingsEditableProvider);
|
assertTrue(providerExt instanceof ILanguageSettingsEditableProvider);
|
||||||
assertTrue(LanguageSettingsExtensionManager.equalsExtensionProvider(providerExt));
|
assertTrue(LanguageSettingsManager.isEqualExtensionProvider(providerExt, true));
|
||||||
|
|
||||||
ILanguageSettingsProvider providerExt2 = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_EDITABLE_PROVIDER_ID);
|
ILanguageSettingsProvider providerExt2 = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_EDITABLE_PROVIDER_ID, true);
|
||||||
assertNotSame(providerExt, providerExt2);
|
assertNotSame(providerExt, providerExt2);
|
||||||
assertEquals(providerExt, providerExt2);
|
assertEquals(providerExt, providerExt2);
|
||||||
|
|
||||||
|
@ -308,22 +310,22 @@ public class LanguageSettingsExtensionsTests extends BaseTestCase {
|
||||||
ILanguageSettingsProvider providerWspRaw = LanguageSettingsManager.getRawProvider(providerWsp);
|
ILanguageSettingsProvider providerWspRaw = LanguageSettingsManager.getRawProvider(providerWsp);
|
||||||
assertNotSame(providerExt, providerWspRaw);
|
assertNotSame(providerExt, providerWspRaw);
|
||||||
assertEquals(providerExt, providerWspRaw);
|
assertEquals(providerExt, providerWspRaw);
|
||||||
assertTrue(LanguageSettingsExtensionManager.equalsExtensionProvider(providerWspRaw));
|
assertTrue(LanguageSettingsManager.isEqualExtensionProvider(providerWspRaw, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test shallow copy
|
// Test shallow copy
|
||||||
{
|
{
|
||||||
ILanguageSettingsProvider provider = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_EDITABLE_PROVIDER_ID);
|
ILanguageSettingsProvider provider = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_EDITABLE_PROVIDER_ID, true);
|
||||||
assertNotNull(provider);
|
assertNotNull(provider);
|
||||||
assertTrue(provider instanceof ILanguageSettingsEditableProvider);
|
assertTrue(provider instanceof ILanguageSettingsEditableProvider);
|
||||||
|
|
||||||
ILanguageSettingsProvider providerShallow = LanguageSettingsExtensionManager.getExtensionProviderShallow(EXTENSION_EDITABLE_PROVIDER_ID);
|
ILanguageSettingsProvider providerShallow = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_EDITABLE_PROVIDER_ID, false);
|
||||||
assertNotNull(providerShallow);
|
assertNotNull(providerShallow);
|
||||||
assertTrue(providerShallow instanceof ILanguageSettingsEditableProvider);
|
assertTrue(providerShallow instanceof ILanguageSettingsEditableProvider);
|
||||||
assertFalse(provider.equals(providerShallow));
|
assertFalse(provider.equals(providerShallow));
|
||||||
|
|
||||||
assertFalse(LanguageSettingsExtensionManager.equalsExtensionProvider(providerShallow));
|
assertFalse(LanguageSettingsManager.isEqualExtensionProvider(providerShallow, true));
|
||||||
assertTrue(LanguageSettingsExtensionManager.equalsExtensionProviderShallow((ILanguageSettingsEditableProvider) providerShallow));
|
assertTrue(LanguageSettingsManager.isEqualExtensionProvider(providerShallow, false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -331,7 +333,7 @@ public class LanguageSettingsExtensionsTests extends BaseTestCase {
|
||||||
* Check that LanguageSettingsGenericProvider extension defined in plugin.xml is accessible.
|
* Check that LanguageSettingsGenericProvider extension defined in plugin.xml is accessible.
|
||||||
*/
|
*/
|
||||||
public void testExtensionGenericProvider() throws Exception {
|
public void testExtensionGenericProvider() throws Exception {
|
||||||
ILanguageSettingsProvider provider = LanguageSettingsExtensionManager.getExtensionProviderClone(EXTENSION_USER_PROVIDER_ID);
|
ILanguageSettingsProvider provider = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_USER_PROVIDER_ID, true);
|
||||||
assertNotNull("extension " + EXTENSION_USER_PROVIDER_ID + " not found", provider);
|
assertNotNull("extension " + EXTENSION_USER_PROVIDER_ID + " not found", provider);
|
||||||
assertTrue(provider instanceof LanguageSettingsGenericProvider);
|
assertTrue(provider instanceof LanguageSettingsGenericProvider);
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,7 +60,7 @@ public class LanguageSettingsManager {
|
||||||
* Builds for the provider a nice looking resource tree to present hierarchical view to the user.
|
* Builds for the provider a nice looking resource tree to present hierarchical view to the user.
|
||||||
*
|
*
|
||||||
* TODO - Note that after using this method for a while for BOP parsers it appears that disadvantages
|
* TODO - Note that after using this method for a while for BOP parsers it appears that disadvantages
|
||||||
* outweight benefits. In particular, it doesn't result in saving memory as the language settings
|
* outweigh benefits. In particular, it doesn't result in saving memory as the language settings
|
||||||
* (and the lists itself) are not duplicated in memory anyway but optimized with using WeakHashSet
|
* (and the lists itself) are not duplicated in memory anyway but optimized with using WeakHashSet
|
||||||
* and SafeStringInterner.
|
* and SafeStringInterner.
|
||||||
*
|
*
|
||||||
|
@ -157,25 +157,38 @@ public class LanguageSettingsManager {
|
||||||
LanguageSettingsProvidersSerializer.setWorkspaceProviders(providers);
|
LanguageSettingsProvidersSerializer.setWorkspaceProviders(providers);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
* @param deepCopy TODO
|
||||||
|
* @param id
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static ILanguageSettingsEditableProvider getProviderCopy(ILanguageSettingsEditableProvider provider, boolean deep) {
|
||||||
|
return LanguageSettingsExtensionManager.getProviderCopy(provider, deep);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get Language Settings Provider defined via
|
* Get Language Settings Provider defined via
|
||||||
* {@code org.eclipse.cdt.core.LanguageSettingsProvider} extension point.
|
* {@code org.eclipse.cdt.core.LanguageSettingsProvider} extension point.
|
||||||
*
|
*
|
||||||
* @param id - ID of provider to find.
|
* @param id - ID of provider to find.
|
||||||
|
* @param deep TODO
|
||||||
* @return the copy of the provider if possible (i.e. for {@link ILanguageSettingsEditableProvider})
|
* @return the copy of the provider if possible (i.e. for {@link ILanguageSettingsEditableProvider})
|
||||||
* or workspace provider if provider is not copyable.
|
* or workspace provider if provider is not copyable.
|
||||||
*/
|
*/
|
||||||
public static ILanguageSettingsProvider getExtensionProviderCopy(String id) {
|
public static ILanguageSettingsProvider getExtensionProviderCopy(String id, boolean deep) {
|
||||||
ILanguageSettingsProvider provider = null;
|
return LanguageSettingsExtensionManager.getExtensionProviderCopy(id, deep);
|
||||||
try {
|
}
|
||||||
provider = LanguageSettingsExtensionManager.getExtensionProviderClone(id);
|
|
||||||
} catch (CloneNotSupportedException e) {
|
|
||||||
// from here falls to get workspace provider
|
|
||||||
}
|
|
||||||
if (provider==null)
|
|
||||||
provider = LanguageSettingsManager.getWorkspaceProvider(id);
|
|
||||||
|
|
||||||
return provider;
|
/**
|
||||||
|
* TODO
|
||||||
|
* @param provider
|
||||||
|
* @param deep
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static boolean isEqualExtensionProvider(ILanguageSettingsProvider provider, boolean deep) {
|
||||||
|
return LanguageSettingsExtensionManager.isEqualsExtensionProvider(provider, deep);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,66 +0,0 @@
|
||||||
/*******************************************************************************
|
|
||||||
* Copyright (c) 2009, 2011 Andrew Gvozdev and others.
|
|
||||||
* All rights reserved. This program and the accompanying materials
|
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
|
||||||
* which accompanies this distribution, and is available at
|
|
||||||
* http://www.eclipse.org/legal/epl-v10.html
|
|
||||||
*
|
|
||||||
* Contributors:
|
|
||||||
* Andrew Gvozdev - initial API and implementation
|
|
||||||
*******************************************************************************/
|
|
||||||
|
|
||||||
package org.eclipse.cdt.core.language.settings.providers;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.eclipse.cdt.core.CCorePlugin;
|
|
||||||
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
|
||||||
import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
|
|
||||||
import org.eclipse.cdt.internal.core.language.settings.providers.LanguageSettingsExtensionManager;
|
|
||||||
import org.eclipse.core.resources.IProject;
|
|
||||||
import org.eclipse.core.resources.IResource;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This temporary class keeps the utility methods being looking for better home.
|
|
||||||
* Checking if any Language Settings Provider has custom entries for the resource.
|
|
||||||
*/
|
|
||||||
public class LanguageSettingsManager_TBD {
|
|
||||||
public static boolean isCustomizedResource(ICConfigurationDescription cfgDescription, IResource rc) {
|
|
||||||
if (rc instanceof IProject)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
|
||||||
for (ILanguageSettingsProvider provider: ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders()) {
|
|
||||||
if (provider instanceof ILanguageSettingsBroadcastingProvider) {
|
|
||||||
for (String languageId : LanguageSettingsManager.getLanguages(rc, cfgDescription)) {
|
|
||||||
List<ICLanguageSettingEntry> list = provider.getSettingEntries(cfgDescription, rc, languageId);
|
|
||||||
if (list!=null) {
|
|
||||||
// TODO - check default or check parent?
|
|
||||||
List<ICLanguageSettingEntry> listDefault = provider.getSettingEntries(null, null, languageId);
|
|
||||||
// != is OK here due as the equal lists will have the same reference in WeakHashSet
|
|
||||||
if (list != listDefault)
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isReconfigured(ILanguageSettingsProvider provider) {
|
|
||||||
if (provider instanceof ILanguageSettingsEditableProvider) {
|
|
||||||
try {
|
|
||||||
return ! LanguageSettingsExtensionManager.equalsExtensionProviderShallow((ILanguageSettingsEditableProvider) provider);
|
|
||||||
} catch (Exception e) {
|
|
||||||
CCorePlugin.log(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isEqualExtensionProvider(ILanguageSettingsProvider provider) {
|
|
||||||
return LanguageSettingsExtensionManager.equalsExtensionProvider(provider);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -283,45 +283,6 @@ public class LanguageSettingsExtensionManager {
|
||||||
return provider;
|
return provider;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get Language Settings Provider defined via
|
|
||||||
* {@code org.eclipse.cdt.core.LanguageSettingsProvider} extension point.
|
|
||||||
*
|
|
||||||
* @param id - ID of provider to find.
|
|
||||||
* @return the clone of the provider or {@code null} if provider is not defined.
|
|
||||||
* @throws CloneNotSupportedException if the provider is not cloneable
|
|
||||||
*/
|
|
||||||
public static ILanguageSettingsProvider getExtensionProviderClone(String id) throws CloneNotSupportedException {
|
|
||||||
ILanguageSettingsProvider provider = fExtensionProviders.get(id);
|
|
||||||
if (provider!=null) {
|
|
||||||
if (!(provider instanceof ILanguageSettingsEditableProvider))
|
|
||||||
throw new CloneNotSupportedException("Not able to clone provider " + provider.getClass());
|
|
||||||
|
|
||||||
provider = ((ILanguageSettingsEditableProvider) provider).clone();
|
|
||||||
}
|
|
||||||
return provider;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO
|
|
||||||
*
|
|
||||||
* @param id
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public static ILanguageSettingsProvider getExtensionProviderShallow(String id) {
|
|
||||||
ILanguageSettingsProvider provider = fExtensionProviders.get(id);
|
|
||||||
if (provider instanceof ILanguageSettingsEditableProvider) {
|
|
||||||
try {
|
|
||||||
return ((ILanguageSettingsEditableProvider) provider).cloneShallow();
|
|
||||||
} catch (CloneNotSupportedException e) {
|
|
||||||
IStatus status = new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, "Not able to clone provider " + provider.getClass());
|
|
||||||
CCorePlugin.log(new CoreException(status));
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return provider;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return list of providers contributed by all extensions. Preferable copy but if not possible
|
* @return list of providers contributed by all extensions. Preferable copy but if not possible
|
||||||
* will return raw provider.
|
* will return raw provider.
|
||||||
|
@ -329,12 +290,7 @@ public class LanguageSettingsExtensionManager {
|
||||||
/*package*/ static List<ILanguageSettingsProvider> getExtensionProvidersInternal() {
|
/*package*/ static List<ILanguageSettingsProvider> getExtensionProvidersInternal() {
|
||||||
ArrayList<ILanguageSettingsProvider> list = new ArrayList<ILanguageSettingsProvider>(fExtensionProviders.size());
|
ArrayList<ILanguageSettingsProvider> list = new ArrayList<ILanguageSettingsProvider>(fExtensionProviders.size());
|
||||||
for (String id : fExtensionProviders.keySet()) {
|
for (String id : fExtensionProviders.keySet()) {
|
||||||
ILanguageSettingsProvider extensionProvider = null;
|
ILanguageSettingsProvider extensionProvider = getExtensionProviderCopy(id, true);
|
||||||
try {
|
|
||||||
extensionProvider = getExtensionProviderClone(id);
|
|
||||||
} catch (CloneNotSupportedException e) {
|
|
||||||
// from here falls to get raw extension provider
|
|
||||||
}
|
|
||||||
if (extensionProvider==null)
|
if (extensionProvider==null)
|
||||||
extensionProvider = fExtensionProviders.get(id);
|
extensionProvider = fExtensionProviders.get(id);
|
||||||
|
|
||||||
|
@ -344,16 +300,59 @@ public class LanguageSettingsExtensionManager {
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean equalsExtensionProviderShallow(ILanguageSettingsEditableProvider provider) throws CloneNotSupportedException {
|
/**
|
||||||
String id = provider.getId();
|
* TODO
|
||||||
ILanguageSettingsProvider extensionProviderShallow = getExtensionProviderShallow(id);
|
* @param provider
|
||||||
return provider.cloneShallow().equals(extensionProviderShallow);
|
* @param deep
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static ILanguageSettingsEditableProvider getProviderCopy(ILanguageSettingsEditableProvider provider, boolean deep) {
|
||||||
|
try {
|
||||||
|
if (deep) {
|
||||||
|
return provider.clone();
|
||||||
|
} else {
|
||||||
|
return provider.cloneShallow();
|
||||||
|
}
|
||||||
|
} catch (CloneNotSupportedException e) {
|
||||||
|
CCorePlugin.log("Error cloning provider " + provider.getId() + ", class " + provider.getClass(), e); //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean equalsExtensionProvider(ILanguageSettingsProvider provider) {
|
/**
|
||||||
|
* Get Language Settings Provider defined via
|
||||||
|
* {@code org.eclipse.cdt.core.LanguageSettingsProvider} extension point.
|
||||||
|
*
|
||||||
|
* @param id - ID of provider to find.
|
||||||
|
* @param deep TODO
|
||||||
|
* @return the clone of the provider or {@code null} TODO if provider is not defined.
|
||||||
|
*/
|
||||||
|
public static ILanguageSettingsProvider getExtensionProviderCopy(String id, boolean deep) {
|
||||||
|
ILanguageSettingsProvider provider = fExtensionProviders.get(id);
|
||||||
|
if (provider instanceof ILanguageSettingsEditableProvider) {
|
||||||
|
return getProviderCopy((ILanguageSettingsEditableProvider) provider, deep);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
* @param provider
|
||||||
|
* @param deep
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static boolean isEqualsExtensionProvider(ILanguageSettingsProvider provider, boolean deep) {
|
||||||
String id = provider.getId();
|
String id = provider.getId();
|
||||||
ILanguageSettingsProvider extensionProvider = fExtensionProviders.get(id);
|
if (deep || !(provider instanceof ILanguageSettingsEditableProvider)) {
|
||||||
return provider.equals(extensionProvider);
|
ILanguageSettingsProvider extensionProvider = fExtensionProviders.get(id);
|
||||||
|
return provider.equals(extensionProvider);
|
||||||
|
} else {
|
||||||
|
ILanguageSettingsEditableProvider providerShallow = getProviderCopy((ILanguageSettingsEditableProvider) provider, false);
|
||||||
|
ILanguageSettingsProvider extensionProviderShallow = getExtensionProviderCopy(id, false);
|
||||||
|
return providerShallow == extensionProviderShallow
|
||||||
|
|| (providerShallow != null && providerShallow.equals(extensionProviderShallow));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -203,7 +203,8 @@ public class LanguageSettingsProvidersSerializer {
|
||||||
*/
|
*/
|
||||||
public LanguageSettingsChangeEvent(ICProjectDescription prjDescription) {
|
public LanguageSettingsChangeEvent(ICProjectDescription prjDescription) {
|
||||||
if (!prjDescription.isReadOnly()) {
|
if (!prjDescription.isReadOnly()) {
|
||||||
String msg = "Project description " + prjDescription.getName() + " is expected to be read-only";
|
// The logic goes that we send notifications only for acting description but not for currently being prepared to set
|
||||||
|
String msg = "Project description " + prjDescription.getName() + " is expected to be read-only"; //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
CCorePlugin.log(new Status(IStatus.WARNING, CCorePlugin.PLUGIN_ID, msg, new Exception(msg)));
|
CCorePlugin.log(new Status(IStatus.WARNING, CCorePlugin.PLUGIN_ID, msg, new Exception(msg)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,7 +223,8 @@ public class LanguageSettingsProvidersSerializer {
|
||||||
if (delta != null)
|
if (delta != null)
|
||||||
deltaMap.put(cfgDescription.getId(), delta);
|
deltaMap.put(cfgDescription.getId(), delta);
|
||||||
} else {
|
} else {
|
||||||
IStatus ss = new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, "Internal error: Missing specSettings for " + cfgDescription.getClass().getSimpleName());
|
IStatus ss = new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, "Internal error: Missing specSettings for " //$NON-NLS-1$
|
||||||
|
+ cfgDescription.getClass().getSimpleName());
|
||||||
CCorePlugin.log(new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, ss.getMessage(), new CoreException(ss)));
|
CCorePlugin.log(new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, ss.getMessage(), new CoreException(ss)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -239,11 +241,11 @@ public class LanguageSettingsProvidersSerializer {
|
||||||
return deltaMap.keySet().toArray(new String[deltaMap.size()]);
|
return deltaMap.keySet().toArray(new String[deltaMap.size()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("nls")
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "LanguageSettingsChangeEvent for project=[" + getProjectName() + "]"
|
return "LanguageSettingsChangeEvent for project=[" + getProjectName() + "]"
|
||||||
+ ", configurations=" + deltaMap.keySet()
|
+ ", configurations=" + deltaMap.keySet();
|
||||||
;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -257,6 +259,12 @@ public class LanguageSettingsProvidersSerializer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine location of the project store of language settings providers in the plug-in state area.
|
||||||
|
*
|
||||||
|
* @param store - name of the store.
|
||||||
|
* @return location of the store in the plug-in state area.
|
||||||
|
*/
|
||||||
private static IFile getStoreInProjectArea(IProject project) throws CoreException {
|
private static IFile getStoreInProjectArea(IProject project) throws CoreException {
|
||||||
IFolder folder = project.getFolder(SETTINGS_FOLDER_NAME);
|
IFolder folder = project.getFolder(SETTINGS_FOLDER_NAME);
|
||||||
if (!folder.exists()) {
|
if (!folder.exists()) {
|
||||||
|
@ -267,10 +275,10 @@ public class LanguageSettingsProvidersSerializer {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: refactor with ErrorParserManager ?
|
* Determine location of the store in the plug-in state area.
|
||||||
*
|
*
|
||||||
* @param store - name of the store
|
* @param store - name of the store.
|
||||||
* @return location of the store in the plug-in state area
|
* @return location of the store in the plug-in state area.
|
||||||
*/
|
*/
|
||||||
private static URI getStoreInWorkspaceArea(String store) {
|
private static URI getStoreInWorkspaceArea(String store) {
|
||||||
IPath location = CCorePlugin.getDefault().getStateLocation().append(store);
|
IPath location = CCorePlugin.getDefault().getStateLocation().append(store);
|
||||||
|
@ -434,9 +442,9 @@ projects:
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
CCorePlugin.log("Internal error while trying to serialize language settings", e); //$NON-NLS-1$
|
String msg = "Internal error while trying to serialize language settings"; //$NON-NLS-1$
|
||||||
IStatus s = new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, "Internal error while trying to serialize language settings", e);
|
CCorePlugin.log(msg, e);
|
||||||
throw new CoreException(s);
|
throw new CoreException(new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, msg, e));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -464,7 +472,7 @@ projects:
|
||||||
Node providerNode = providerNodes.item(i);
|
Node providerNode = providerNodes.item(i);
|
||||||
String providerId = XmlUtil.determineAttributeValue(providerNode, LanguageSettingsExtensionManager.ATTR_ID);
|
String providerId = XmlUtil.determineAttributeValue(providerNode, LanguageSettingsExtensionManager.ATTR_ID);
|
||||||
if (userDefinedProvidersIds.contains(providerId)) {
|
if (userDefinedProvidersIds.contains(providerId)) {
|
||||||
String msg = "Ignored repeatedly persisted duplicate language settings provider id=" + providerId;
|
String msg = "Ignored an attempt to persist duplicate language settings provider, id=" + providerId; //$NON-NLS-1$
|
||||||
CCorePlugin.log(new Status(IStatus.WARNING, CCorePlugin.PLUGIN_ID, msg, new Exception()));
|
CCorePlugin.log(new Status(IStatus.WARNING, CCorePlugin.PLUGIN_ID, msg, new Exception()));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -475,7 +483,7 @@ projects:
|
||||||
if (providers==null)
|
if (providers==null)
|
||||||
providers= new ArrayList<ILanguageSettingsProvider>();
|
providers= new ArrayList<ILanguageSettingsProvider>();
|
||||||
|
|
||||||
if (!LanguageSettingsExtensionManager.equalsExtensionProvider(provider)) {
|
if (!LanguageSettingsManager.isEqualExtensionProvider(provider, true)) {
|
||||||
providers.add(provider);
|
providers.add(provider);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -600,9 +608,9 @@ projects:
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
IStatus s = new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, "Internal error while trying to serialize language settings", e);
|
String msg = "Internal error while trying to serialize language settings"; //$NON-NLS-1$
|
||||||
CCorePlugin.log(s);
|
CCorePlugin.log(msg, e);
|
||||||
throw new CoreException(s);
|
throw new CoreException(new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, msg, e));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1008,12 +1016,9 @@ projects:
|
||||||
List<ILanguageSettingsProvider> newProviders = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> newProviders = new ArrayList<ILanguageSettingsProvider>();
|
||||||
for (ILanguageSettingsProvider provider : baseProviders) {
|
for (ILanguageSettingsProvider provider : baseProviders) {
|
||||||
if (provider instanceof ILanguageSettingsEditableProvider) {
|
if (provider instanceof ILanguageSettingsEditableProvider) {
|
||||||
try {
|
ILanguageSettingsEditableProvider newProvider = LanguageSettingsManager.getProviderCopy((ILanguageSettingsEditableProvider) provider, true);
|
||||||
provider = ((ILanguageSettingsEditableProvider) provider).clone();
|
if (newProvider != null) {
|
||||||
} catch (CloneNotSupportedException e) {
|
provider = newProvider;
|
||||||
IStatus status = new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, Status.OK,
|
|
||||||
"Not able to clone provider " + provider.getClass(), e);
|
|
||||||
CCorePlugin.log(status);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
newProviders.add(provider);
|
newProviders.add(provider);
|
||||||
|
|
|
@ -980,16 +980,14 @@ providers: for (ILanguageSettingsProvider provider : oldProviders) {
|
||||||
String langId = (String)langItems.getData();
|
String langId = (String)langItems.getData();
|
||||||
if (langId!=null) {
|
if (langId!=null) {
|
||||||
if (provider.getSettingEntries(cfgDescription, rc, langId)!=null) {
|
if (provider.getSettingEntries(cfgDescription, rc, langId)!=null) {
|
||||||
try {
|
if (providerCopy == null) {
|
||||||
// clone providers to be able to "Cancel" in UI
|
// copy providers to be able to "Cancel" in UI
|
||||||
if (providerCopy==null) {
|
providerCopy = LanguageSettingsManager.getProviderCopy((ILanguageSettingsEditableProvider) provider, true);
|
||||||
providerCopy = ((ILanguageSettingsEditableProvider) provider).clone();
|
if (providerCopy == null) {
|
||||||
|
continue providers;
|
||||||
}
|
}
|
||||||
providerCopy.setSettingEntries(cfgDescription, rc, langId, null);
|
providerCopy.setSettingEntries(cfgDescription, rc, langId, null);
|
||||||
changed = true;
|
changed = true;
|
||||||
} catch (CloneNotSupportedException e) {
|
|
||||||
CUIPlugin.log("Internal Error: cannot clone provider "+provider.getId(), e);
|
|
||||||
continue providers;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,7 +49,6 @@ import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsEditabl
|
||||||
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsProvider;
|
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsProvider;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsProvidersKeeper;
|
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsProvidersKeeper;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager;
|
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager_TBD;
|
|
||||||
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsSerializableProvider;
|
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsSerializableProvider;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.ScannerDiscoveryLegacySupport;
|
import org.eclipse.cdt.core.language.settings.providers.ScannerDiscoveryLegacySupport;
|
||||||
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
||||||
|
@ -150,17 +149,19 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(provider);
|
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(provider);
|
||||||
Assert.isTrue(rawProvider instanceof ILanguageSettingsEditableProvider);
|
Assert.isTrue(rawProvider instanceof ILanguageSettingsEditableProvider);
|
||||||
|
|
||||||
try {
|
ILanguageSettingsEditableProvider newProvider = LanguageSettingsManager.getProviderCopy((ILanguageSettingsEditableProvider)rawProvider, true);
|
||||||
ILanguageSettingsEditableProvider newProvider = ((ILanguageSettingsEditableProvider)rawProvider).clone();
|
if (newProvider != null) {
|
||||||
replaceSelectedProvider(newProvider);
|
replaceSelectedProvider(newProvider);
|
||||||
return newProvider;
|
|
||||||
|
|
||||||
} catch (CloneNotSupportedException e) {
|
|
||||||
CUIPlugin.log("Error cloning provider " + rawProvider.getId(), e);
|
|
||||||
// TODO warning dialog for user?
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return newProvider;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean isReconfigured(ILanguageSettingsProvider provider) {
|
||||||
|
if (provider instanceof ILanguageSettingsEditableProvider) {
|
||||||
|
return ! LanguageSettingsManager.isEqualExtensionProvider(provider, false);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private class ProvidersTableLabelProvider extends LanguageSettingsProvidersLabelProvider {
|
private class ProvidersTableLabelProvider extends LanguageSettingsProvidersLabelProvider {
|
||||||
|
@ -169,7 +170,7 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
String[] overlayKeys = super.getOverlayKeys(provider);
|
String[] overlayKeys = super.getOverlayKeys(provider);
|
||||||
|
|
||||||
ILanguageSettingsProvider rawProvider = page.isForPrefs() ? LanguageSettingsManager.getRawProvider(provider) : provider;
|
ILanguageSettingsProvider rawProvider = page.isForPrefs() ? LanguageSettingsManager.getRawProvider(provider) : provider;
|
||||||
if (LanguageSettingsManager_TBD.isReconfigured(rawProvider)) {
|
if (isReconfigured(rawProvider)) {
|
||||||
overlayKeys[IDecoration.TOP_RIGHT] = CDTSharedImages.IMG_OVR_SETTING;
|
overlayKeys[IDecoration.TOP_RIGHT] = CDTSharedImages.IMG_OVR_SETTING;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -315,18 +316,16 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(provider);
|
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(provider);
|
||||||
if (!LanguageSettingsProviderAssociationManager.shouldBeShared(rawProvider)) {
|
if (!LanguageSettingsProviderAssociationManager.shouldBeShared(rawProvider)) {
|
||||||
// Switch to local provider instance
|
// Switch to local provider instance
|
||||||
try {
|
if (rawProvider instanceof ILanguageSettingsEditableProvider) {
|
||||||
if (rawProvider instanceof ILanguageSettingsEditableProvider) {
|
ILanguageSettingsEditableProvider newProvider = LanguageSettingsManager.getProviderCopy((ILanguageSettingsEditableProvider) rawProvider, false);
|
||||||
provider = ((ILanguageSettingsEditableProvider) rawProvider).cloneShallow();
|
if (newProvider != null) {
|
||||||
|
provider = newProvider;
|
||||||
|
replaceSelectedProvider(provider);
|
||||||
|
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
||||||
|
initializeOptionsPage(provider, cfgDescription);
|
||||||
|
displaySelectedOptionPage();
|
||||||
}
|
}
|
||||||
} catch (CloneNotSupportedException e) {
|
|
||||||
CUIPlugin.log("Error cloning provider " + provider.getId(), e);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
replaceSelectedProvider(provider);
|
|
||||||
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
|
||||||
initializeOptionsPage(provider, cfgDescription);
|
|
||||||
displaySelectedOptionPage();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -659,7 +658,7 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
|
|
||||||
boolean canReset = false;
|
boolean canReset = false;
|
||||||
if (rawProvider!=null && (canForWorkspace || canForProject)) {
|
if (rawProvider!=null && (canForWorkspace || canForProject)) {
|
||||||
canReset = ! LanguageSettingsManager_TBD.isEqualExtensionProvider(rawProvider);
|
canReset = ! LanguageSettingsManager.isEqualExtensionProvider(rawProvider, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean canMoveUp = page.isForProject() && isProviderSelected && isRangeOk && pos!=0;
|
boolean canMoveUp = page.isForProject() && isProviderSelected && isRangeOk && pos!=0;
|
||||||
|
@ -721,28 +720,24 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
} else {
|
} else {
|
||||||
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(selectedProvider);
|
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(selectedProvider);
|
||||||
if (rawProvider instanceof ILanguageSettingsEditableProvider) {
|
if (rawProvider instanceof ILanguageSettingsEditableProvider) {
|
||||||
ILanguageSettingsEditableProvider editableProvider = (ILanguageSettingsEditableProvider) rawProvider;
|
ILanguageSettingsEditableProvider newProvider = LanguageSettingsManager.getProviderCopy((ILanguageSettingsEditableProvider) rawProvider, false);
|
||||||
|
if (newProvider != null) {
|
||||||
try {
|
|
||||||
ILanguageSettingsEditableProvider newProvider = editableProvider.cloneShallow();
|
|
||||||
replaceSelectedProvider(newProvider);
|
replaceSelectedProvider(newProvider);
|
||||||
|
|
||||||
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
||||||
initializeOptionsPage(newProvider, cfgDescription);
|
initializeOptionsPage(newProvider, cfgDescription);
|
||||||
displaySelectedOptionPage();
|
displaySelectedOptionPage();
|
||||||
|
|
||||||
} catch (CloneNotSupportedException e) {
|
|
||||||
CUIPlugin.log("Error cloning provider " + editableProvider.getId(), e);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
updateButtons();
|
updateButtons();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void performReset(ILanguageSettingsProvider selectedProvider) {
|
private void performReset(ILanguageSettingsProvider selectedProvider) {
|
||||||
ILanguageSettingsProvider newProvider = LanguageSettingsManager.getExtensionProviderCopy(selectedProvider.getId());
|
String id = selectedProvider.getId();
|
||||||
|
ILanguageSettingsProvider newProvider = LanguageSettingsManager.getExtensionProviderCopy(id, true);
|
||||||
|
if (newProvider == null) {
|
||||||
|
newProvider = LanguageSettingsManager.getWorkspaceProvider(id);
|
||||||
|
}
|
||||||
replaceSelectedProvider(newProvider);
|
replaceSelectedProvider(newProvider);
|
||||||
|
|
||||||
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
||||||
|
@ -840,8 +835,11 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
boolean atLeastOneChanged = false;
|
boolean atLeastOneChanged = false;
|
||||||
for (int i=0;i<cfgProviders.size();i++) {
|
for (int i=0;i<cfgProviders.size();i++) {
|
||||||
ILanguageSettingsProvider provider = cfgProviders.get(i);
|
ILanguageSettingsProvider provider = cfgProviders.get(i);
|
||||||
if (!LanguageSettingsManager.isWorkspaceProvider(provider) && !LanguageSettingsManager_TBD.isEqualExtensionProvider(provider)) {
|
if (!LanguageSettingsManager.isWorkspaceProvider(provider) && !LanguageSettingsManager.isEqualExtensionProvider(provider, true)) {
|
||||||
ILanguageSettingsProvider extProvider = LanguageSettingsManager.getExtensionProviderCopy(provider.getId());
|
ILanguageSettingsProvider extProvider = LanguageSettingsManager.getExtensionProviderCopy(provider.getId(), true);
|
||||||
|
if (extProvider == null) {
|
||||||
|
extProvider = LanguageSettingsManager.getWorkspaceProvider(provider.getId());
|
||||||
|
}
|
||||||
cfgProviders.set(i, extProvider);
|
cfgProviders.set(i, extProvider);
|
||||||
atLeastOneChanged = true;
|
atLeastOneChanged = true;
|
||||||
}
|
}
|
||||||
|
@ -856,8 +854,12 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
for (int i=0;i<providers.size();i++) {
|
for (int i=0;i<providers.size();i++) {
|
||||||
ILanguageSettingsProvider provider = providers.get(i);
|
ILanguageSettingsProvider provider = providers.get(i);
|
||||||
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(provider);
|
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(provider);
|
||||||
if (!LanguageSettingsManager_TBD.isEqualExtensionProvider(rawProvider)) {
|
if (!LanguageSettingsManager.isEqualExtensionProvider(rawProvider, true)) {
|
||||||
ILanguageSettingsProvider extProvider = LanguageSettingsManager.getExtensionProviderCopy(provider.getId());
|
String id = provider.getId();
|
||||||
|
ILanguageSettingsProvider extProvider = LanguageSettingsManager.getExtensionProviderCopy(id, true);
|
||||||
|
if (extProvider == null) {
|
||||||
|
extProvider = LanguageSettingsManager.getWorkspaceProvider(id);
|
||||||
|
}
|
||||||
providers.set(i, extProvider);
|
providers.set(i, extProvider);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,12 +10,13 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.internal.ui.viewsupport;
|
package org.eclipse.cdt.internal.ui.viewsupport;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.eclipse.core.resources.IMarker;
|
import org.eclipse.core.resources.IMarker;
|
||||||
import org.eclipse.core.resources.IProject;
|
import org.eclipse.core.resources.IProject;
|
||||||
import org.eclipse.core.resources.IResource;
|
import org.eclipse.core.resources.IResource;
|
||||||
import org.eclipse.core.resources.IResourceStatus;
|
import org.eclipse.core.resources.IResourceStatus;
|
||||||
import org.eclipse.core.runtime.CoreException;
|
import org.eclipse.core.runtime.CoreException;
|
||||||
import org.eclipse.core.runtime.IPath;
|
|
||||||
import org.eclipse.core.runtime.ListenerList;
|
import org.eclipse.core.runtime.ListenerList;
|
||||||
import org.eclipse.jface.resource.ImageDescriptor;
|
import org.eclipse.jface.resource.ImageDescriptor;
|
||||||
import org.eclipse.jface.viewers.IBaseLabelProvider;
|
import org.eclipse.jface.viewers.IBaseLabelProvider;
|
||||||
|
@ -29,7 +30,11 @@ import org.eclipse.swt.graphics.Point;
|
||||||
import org.eclipse.swt.graphics.Rectangle;
|
import org.eclipse.swt.graphics.Rectangle;
|
||||||
import org.eclipse.ui.texteditor.MarkerUtilities;
|
import org.eclipse.ui.texteditor.MarkerUtilities;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager_TBD;
|
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsBroadcastingProvider;
|
||||||
|
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsProvider;
|
||||||
|
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsProvidersKeeper;
|
||||||
|
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager;
|
||||||
|
import org.eclipse.cdt.core.language.settings.providers.ScannerDiscoveryLegacySupport;
|
||||||
import org.eclipse.cdt.core.model.CModelException;
|
import org.eclipse.cdt.core.model.CModelException;
|
||||||
import org.eclipse.cdt.core.model.CoreModel;
|
import org.eclipse.cdt.core.model.CoreModel;
|
||||||
import org.eclipse.cdt.core.model.ICElement;
|
import org.eclipse.cdt.core.model.ICElement;
|
||||||
|
@ -37,6 +42,7 @@ import org.eclipse.cdt.core.model.ISourceRange;
|
||||||
import org.eclipse.cdt.core.model.ISourceReference;
|
import org.eclipse.cdt.core.model.ISourceReference;
|
||||||
import org.eclipse.cdt.core.model.ITranslationUnit;
|
import org.eclipse.cdt.core.model.ITranslationUnit;
|
||||||
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
||||||
|
import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
|
||||||
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
|
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
|
||||||
import org.eclipse.cdt.core.settings.model.ICResourceDescription;
|
import org.eclipse.cdt.core.settings.model.ICResourceDescription;
|
||||||
import org.eclipse.cdt.ui.CElementImageDescriptor;
|
import org.eclipse.cdt.ui.CElementImageDescriptor;
|
||||||
|
@ -372,6 +378,35 @@ public class ProblemsLabelDecorator implements ILabelDecorator, ILightweightLabe
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isCustomizedResource(ICConfigurationDescription cfgDescription, IResource rc) {
|
||||||
|
if (rc instanceof IProject)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (!ScannerDiscoveryLegacySupport.isLanguageSettingsProvidersFunctionalityEnabled(rc.getProject())) {
|
||||||
|
ICResourceDescription rcDescription = cfgDescription.getResourceDescription(rc.getProjectRelativePath(), true);
|
||||||
|
return rcDescription != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
|
for (ILanguageSettingsProvider provider: ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders()) {
|
||||||
|
if (provider instanceof ILanguageSettingsBroadcastingProvider) {
|
||||||
|
for (String languageId : LanguageSettingsManager.getLanguages(rc, cfgDescription)) {
|
||||||
|
List<ICLanguageSettingEntry> list = provider.getSettingEntries(cfgDescription, rc, languageId);
|
||||||
|
if (list!=null) {
|
||||||
|
// TODO - check default or check parent?
|
||||||
|
List<ICLanguageSettingEntry> listDefault = provider.getSettingEntries(null, null, languageId);
|
||||||
|
// != is OK here due as the equal lists will have the same reference in WeakHashSet
|
||||||
|
if (list != listDefault)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param rc - resource to check
|
* @param rc - resource to check
|
||||||
* @return flags {@link TICK_CONFIGURATION} if the resource has custom settings and possibly needs
|
* @return flags {@link TICK_CONFIGURATION} if the resource has custom settings and possibly needs
|
||||||
|
@ -386,10 +421,7 @@ public class ProblemsLabelDecorator implements ILabelDecorator, ILightweightLabe
|
||||||
if (prjDescription != null) {
|
if (prjDescription != null) {
|
||||||
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
||||||
if (cfgDescription != null) {
|
if (cfgDescription != null) {
|
||||||
IPath path = rc.getProjectRelativePath();
|
if (isCustomizedResource(cfgDescription, rc))
|
||||||
ICResourceDescription rcDescription = cfgDescription.getResourceDescription(path, true);
|
|
||||||
boolean isLSCustomized = LanguageSettingsManager_TBD.isCustomizedResource(cfgDescription, rc);
|
|
||||||
if (rcDescription != null || isLSCustomized)
|
|
||||||
result |= TICK_CONFIGURATION;
|
result |= TICK_CONFIGURATION;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue