mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-24 01:15:29 +02:00
Fixed a typo.
This commit is contained in:
parent
44d1c404f5
commit
4d12093432
1 changed files with 95 additions and 102 deletions
|
@ -6,7 +6,7 @@
|
|||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* Intel Corporation - Initial API and implementation
|
||||
* Intel Corporation - Initial API and implementation
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.core.settings.model.util;
|
||||
|
||||
|
@ -27,6 +27,7 @@ public class SettingsSet {
|
|||
public static final int WRITABLE = 1 << 1;
|
||||
|
||||
private SettingLevel[] fLevels;
|
||||
|
||||
public class SettingLevel {
|
||||
private int fFlagsToSet;
|
||||
private int fFlagsToClear;
|
||||
|
@ -36,149 +37,149 @@ public class SettingsSet {
|
|||
HashSet<String> fOverrideSet;
|
||||
private Object fContext;
|
||||
|
||||
private SettingLevel(){
|
||||
private SettingLevel() {
|
||||
fEntries = new LinkedHashMap<EntryNameKey, EntryInfo>();
|
||||
}
|
||||
|
||||
public boolean isReadOnly(){
|
||||
public boolean isReadOnly() {
|
||||
return fIsReadOnly;
|
||||
}
|
||||
|
||||
public void setReadOnly(boolean readOnly){
|
||||
public void setReadOnly(boolean readOnly) {
|
||||
fIsReadOnly = readOnly;
|
||||
}
|
||||
|
||||
public boolean isOverrideSupported(){
|
||||
public boolean isOverrideSupported() {
|
||||
return fIsOverrideSupported;
|
||||
}
|
||||
|
||||
public void setOverrideSupported(boolean supported){
|
||||
public void setOverrideSupported(boolean supported) {
|
||||
fIsOverrideSupported = supported;
|
||||
}
|
||||
|
||||
public void setFlagsToSet(int flags){
|
||||
public void setFlagsToSet(int flags) {
|
||||
fFlagsToSet = flags;
|
||||
}
|
||||
|
||||
public boolean containsOverrideInfo(){
|
||||
public boolean containsOverrideInfo() {
|
||||
return fOverrideSet != null;
|
||||
}
|
||||
|
||||
public void setFlagsToClear(int flags){
|
||||
public void setFlagsToClear(int flags) {
|
||||
fFlagsToClear = flags;
|
||||
}
|
||||
|
||||
public int getFlagsToSet(){
|
||||
public int getFlagsToSet() {
|
||||
return fFlagsToSet;
|
||||
}
|
||||
|
||||
public int getFlagsToClear(){
|
||||
public int getFlagsToClear() {
|
||||
return fFlagsToClear;
|
||||
}
|
||||
|
||||
public int getFlags(int baseFlags){
|
||||
public int getFlags(int baseFlags) {
|
||||
return (baseFlags | fFlagsToSet) & (~fFlagsToClear);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public Set<String> getOverrideSet(){
|
||||
if(fOverrideSet != null)
|
||||
public Set<String> getOverrideSet() {
|
||||
if (fOverrideSet != null)
|
||||
return (HashSet<String>)fOverrideSet.clone();
|
||||
return new HashSet<String>();
|
||||
}
|
||||
|
||||
public void addEntries(ICLanguageSettingEntry entries[]){
|
||||
if(entries != null){
|
||||
for(int i = 0; i < entries.length; i++){
|
||||
public void addEntries(ICLanguageSettingEntry entries[]) {
|
||||
if (entries != null) {
|
||||
for (int i = 0; i < entries.length; i++) {
|
||||
addEntry(entries[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void addEntries(List<ICLanguageSettingEntry> list){
|
||||
for(ICLanguageSettingEntry se : list)
|
||||
public void addEntries(List<ICLanguageSettingEntry> list) {
|
||||
for (ICLanguageSettingEntry se : list)
|
||||
addEntry(se);
|
||||
}
|
||||
|
||||
public void addEntry(ICLanguageSettingEntry entry){
|
||||
public void addEntry(ICLanguageSettingEntry entry) {
|
||||
addEntry(entry, null);
|
||||
}
|
||||
|
||||
public void addEntry(ICLanguageSettingEntry entry, Object customInfo){
|
||||
public void addEntry(ICLanguageSettingEntry entry, Object customInfo) {
|
||||
entry = CDataUtil.createEntry(entry, fFlagsToSet, fFlagsToClear);
|
||||
EntryInfo info = new EntryInfo(entry, customInfo);
|
||||
fEntries.put(info.getContentsKey(), info);
|
||||
}
|
||||
|
||||
public void addOverrideName(String name){
|
||||
if(fOverrideSet == null)
|
||||
public void addOverrideName(String name) {
|
||||
if (fOverrideSet == null)
|
||||
fOverrideSet = new HashSet<String>();
|
||||
|
||||
fOverrideSet.add(name);
|
||||
}
|
||||
|
||||
public void addOverrideNameSet(Set<String> set){
|
||||
if(set == null)
|
||||
public void addOverrideNameSet(Set<String> set) {
|
||||
if (set == null)
|
||||
return;
|
||||
if(fOverrideSet != null){
|
||||
if (fOverrideSet != null) {
|
||||
fOverrideSet.addAll(set);
|
||||
} else if(set.size() != 0){
|
||||
} else if (set.size() != 0) {
|
||||
fOverrideSet = new HashSet<String>(set);
|
||||
}
|
||||
}
|
||||
|
||||
public void removeOverrideName(String name){
|
||||
if(fOverrideSet == null)
|
||||
public void removeOverrideName(String name) {
|
||||
if (fOverrideSet == null)
|
||||
return;
|
||||
|
||||
fOverrideSet.remove(name);
|
||||
|
||||
if(fOverrideSet.size() == 0)
|
||||
if (fOverrideSet.size() == 0)
|
||||
fOverrideSet = null;
|
||||
}
|
||||
|
||||
public void clear(){
|
||||
public void clear() {
|
||||
fEntries.clear();
|
||||
fOverrideSet = null;
|
||||
}
|
||||
|
||||
public Map<EntryNameKey, EntryInfo> clearAndGetMap(){
|
||||
public Map<EntryNameKey, EntryInfo> clearAndGetMap() {
|
||||
Map<EntryNameKey, EntryInfo> map = fEntries;
|
||||
fEntries = new LinkedHashMap<EntryNameKey, EntryInfo>();
|
||||
fOverrideSet = null;
|
||||
return map;
|
||||
}
|
||||
|
||||
public EntryInfo[] getInfos(){
|
||||
public EntryInfo[] getInfos() {
|
||||
return fEntries.values().toArray(new EntryInfo[fEntries.size()]);
|
||||
}
|
||||
|
||||
public ICLanguageSettingEntry[] getEntries(){
|
||||
public ICLanguageSettingEntry[] getEntries() {
|
||||
List<ICLanguageSettingEntry> list = getEntriesList(false);
|
||||
return list.toArray(new ICLanguageSettingEntry[list.size()]);
|
||||
}
|
||||
|
||||
public ICLanguageSettingEntry[] getEntries(boolean includeOverridden){
|
||||
public ICLanguageSettingEntry[] getEntries(boolean includeOverridden) {
|
||||
List<ICLanguageSettingEntry> list = getEntriesList(includeOverridden);
|
||||
return list.toArray(new ICLanguageSettingEntry[list.size()]);
|
||||
}
|
||||
|
||||
public List<ICLanguageSettingEntry> getEntriesList(boolean includeOverridden){
|
||||
public List<ICLanguageSettingEntry> getEntriesList(boolean includeOverridden) {
|
||||
List<ICLanguageSettingEntry> list = new ArrayList<ICLanguageSettingEntry>();
|
||||
EntryInfo infos[] = getInfos();
|
||||
for(EntryInfo info : infos){
|
||||
if(includeOverridden || !info.isOverridden())
|
||||
for (EntryInfo info : infos) {
|
||||
if (includeOverridden || !info.isOverridden())
|
||||
list.add(info.getEntry());
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public Object getContext(){
|
||||
public Object getContext() {
|
||||
return fContext;
|
||||
}
|
||||
|
||||
public void setContext(Object context){
|
||||
public void setContext(Object context) {
|
||||
fContext = context;
|
||||
}
|
||||
}
|
||||
|
@ -189,60 +190,60 @@ public class SettingsSet {
|
|||
private boolean fIsOverRidden;
|
||||
private Object fCustomInfo;
|
||||
|
||||
private EntryInfo(ICLanguageSettingEntry entry, Object customInfo){
|
||||
private EntryInfo(ICLanguageSettingEntry entry, Object customInfo) {
|
||||
fEntry = entry;
|
||||
fCustomInfo = customInfo;
|
||||
}
|
||||
|
||||
public EntryNameKey getContentsKey(){
|
||||
if(fNameKey == null){
|
||||
public EntryNameKey getContentsKey() {
|
||||
if (fNameKey == null) {
|
||||
fNameKey = new EntryNameKey(fEntry);
|
||||
}
|
||||
return fNameKey;
|
||||
}
|
||||
|
||||
private void makeOverridden(boolean overrridden){
|
||||
fIsOverRidden = overrridden;
|
||||
private void makeOverridden(boolean overridden) {
|
||||
fIsOverRidden = overridden;
|
||||
}
|
||||
|
||||
public ICLanguageSettingEntry getEntry(){
|
||||
public ICLanguageSettingEntry getEntry() {
|
||||
return fEntry;
|
||||
}
|
||||
|
||||
public boolean isOverridden(){
|
||||
public boolean isOverridden() {
|
||||
return fIsOverRidden;
|
||||
}
|
||||
|
||||
public Object getCustomInfo(){
|
||||
public Object getCustomInfo() {
|
||||
return fCustomInfo;
|
||||
}
|
||||
}
|
||||
|
||||
public SettingsSet(int num){
|
||||
public SettingsSet(int num) {
|
||||
fLevels = new SettingLevel[num];
|
||||
for(int i = 0; i < num; i++){
|
||||
for (int i = 0; i < num; i++) {
|
||||
fLevels[i] = new SettingLevel();
|
||||
}
|
||||
}
|
||||
|
||||
public SettingLevel[] getLevels(){
|
||||
public SettingLevel[] getLevels() {
|
||||
return fLevels.clone();
|
||||
}
|
||||
|
||||
public void adjustOverrideState(){
|
||||
public void adjustOverrideState() {
|
||||
Set<String> set = new HashSet<String>();
|
||||
SettingLevel level;
|
||||
for(int i = 0; i < fLevels.length; i++){
|
||||
for (int i = 0; i < fLevels.length; i++) {
|
||||
level = fLevels[i];
|
||||
if(level.isOverrideSupported() && level.fOverrideSet != null)
|
||||
if (level.isOverrideSupported() && level.fOverrideSet != null)
|
||||
set.addAll(level.fOverrideSet);
|
||||
adjustOverrideState(fLevels[i], set);
|
||||
}
|
||||
}
|
||||
|
||||
private void adjustOverrideState(SettingLevel level, Set<String> overridenSet){
|
||||
for(EntryInfo info : level.getInfos()){
|
||||
if(overridenSet.add(info.getEntry().getName())){
|
||||
private void adjustOverrideState(SettingLevel level, Set<String> overridenSet) {
|
||||
for (EntryInfo info : level.getInfos()) {
|
||||
if (overridenSet.add(info.getEntry().getName())) {
|
||||
info.makeOverridden(false);
|
||||
} else {
|
||||
info.makeOverridden(true);
|
||||
|
@ -250,47 +251,47 @@ public class SettingsSet {
|
|||
}
|
||||
}
|
||||
|
||||
public ICLanguageSettingEntry[] getEntries(){
|
||||
public ICLanguageSettingEntry[] getEntries() {
|
||||
return getEntries(READ_ONLY | WRITABLE);
|
||||
}
|
||||
|
||||
public ICLanguageSettingEntry[] getEntries(int types){
|
||||
public ICLanguageSettingEntry[] getEntries(int types) {
|
||||
adjustOverrideState();
|
||||
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
||||
for(SettingLevel sl : fLevels){
|
||||
if(isCompatible(sl, types))
|
||||
for (SettingLevel sl : fLevels) {
|
||||
if (isCompatible(sl, types))
|
||||
getEntries(sl, entries);
|
||||
}
|
||||
return entries.toArray(new ICLanguageSettingEntry[entries.size()]);
|
||||
}
|
||||
|
||||
private void getEntries(SettingLevel level, List<ICLanguageSettingEntry> list){
|
||||
for(EntryInfo info : level.getInfos())
|
||||
if(!info.isOverridden())
|
||||
private void getEntries(SettingLevel level, List<ICLanguageSettingEntry> list) {
|
||||
for (EntryInfo info : level.getInfos())
|
||||
if (!info.isOverridden())
|
||||
list.add(info.getEntry());
|
||||
}
|
||||
|
||||
private boolean isCompatible(SettingLevel level, int types){
|
||||
if((types & READ_ONLY) == 0 && level.isReadOnly())
|
||||
private boolean isCompatible(SettingLevel level, int types) {
|
||||
if ((types & READ_ONLY) == 0 && level.isReadOnly())
|
||||
return false;
|
||||
if((types & WRITABLE) == 0 && !level.isReadOnly())
|
||||
if ((types & WRITABLE) == 0 && !level.isReadOnly())
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private int getWritableLevelNum(){
|
||||
for(int i = 0; i <fLevels.length; i++){
|
||||
if(!fLevels[i].isReadOnly())
|
||||
private int getWritableLevelNum() {
|
||||
for (int i = 0; i <fLevels.length; i++) {
|
||||
if (!fLevels[i].isReadOnly())
|
||||
return i;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
private int getOverrideLevelNum(){
|
||||
for(int i = 0; i <fLevels.length; i++){
|
||||
if(fLevels[i].isOverrideSupported())
|
||||
private int getOverrideLevelNum() {
|
||||
for (int i = 0; i <fLevels.length; i++) {
|
||||
if (fLevels[i].isOverrideSupported())
|
||||
return i;
|
||||
}
|
||||
|
||||
|
@ -298,13 +299,13 @@ public class SettingsSet {
|
|||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public void applyEntries(ICLanguageSettingEntry[] entries){
|
||||
public void applyEntries(ICLanguageSettingEntry[] entries) {
|
||||
HashMap<EntryNameKey, Object[]> map = getEntryLevelMap(WRITABLE | READ_ONLY);
|
||||
Map<EntryNameKey, Object[]> mapCopy = (HashMap<EntryNameKey, Object[]>)map.clone();
|
||||
Map<EntryNameKey, EntryInfo>[] clearedInfos = new Map [fLevels.length];
|
||||
|
||||
for(int i = 0; i < fLevels.length; i++){
|
||||
if(!fLevels[i].isReadOnly())
|
||||
for (int i = 0; i < fLevels.length; i++) {
|
||||
if (!fLevels[i].isReadOnly())
|
||||
clearedInfos[i] = fLevels[i].clearAndGetMap();
|
||||
}
|
||||
|
||||
|
@ -314,13 +315,13 @@ public class SettingsSet {
|
|||
int writableLevel = getWritableLevelNum();
|
||||
SettingLevel level;
|
||||
|
||||
for(int i = 0; i < entries.length; i++){
|
||||
for (int i = 0; i < entries.length; i++) {
|
||||
entry = entries[i];
|
||||
EntryNameKey key = new EntryNameKey(entry);
|
||||
Object[] o = map.get(key);
|
||||
|
||||
|
||||
if(o != null && valueMatches(entry, o[1])){
|
||||
if (o != null && valueMatches(entry, o[1])) {
|
||||
mapCopy.remove(key);
|
||||
levelInteger = (Integer)o[0];
|
||||
if (! entry.isBuiltIn()) // allow overwrite existing entry,
|
||||
|
@ -330,14 +331,14 @@ public class SettingsSet {
|
|||
}
|
||||
|
||||
levelNum = levelInteger != null ? levelInteger.intValue() : writableLevel;
|
||||
if(levelNum >= 0){
|
||||
if (levelNum >= 0) {
|
||||
level = fLevels[levelNum];
|
||||
if(!level.isReadOnly()){
|
||||
if (!level.isReadOnly()) {
|
||||
Map<EntryNameKey, EntryInfo> clearedInfo = clearedInfos[levelNum];
|
||||
Object customInfo = null;
|
||||
if(clearedInfo != null){
|
||||
if (clearedInfo != null) {
|
||||
EntryInfo info = clearedInfo.get(key);
|
||||
if(info != null && entry.equalsByContents(info.getEntry()))
|
||||
if (info != null && entry.equalsByContents(info.getEntry()))
|
||||
customInfo = info.getCustomInfo();
|
||||
}
|
||||
level.addEntry(entry, customInfo);
|
||||
|
@ -346,15 +347,15 @@ public class SettingsSet {
|
|||
}
|
||||
|
||||
int overrideLevel = getOverrideLevelNum();
|
||||
if(overrideLevel >= 0){
|
||||
if (overrideLevel >= 0) {
|
||||
level = fLevels[overrideLevel];
|
||||
if(level.isOverrideSupported() && !mapCopy.isEmpty()){
|
||||
for(EntryNameKey enk : mapCopy.keySet()){
|
||||
if (level.isOverrideSupported() && !mapCopy.isEmpty()) {
|
||||
for (EntryNameKey enk : mapCopy.keySet()) {
|
||||
ICSettingEntry e = enk.getEntry();
|
||||
if ((e.getFlags() & ICSettingEntry.BUILTIN) == 0)
|
||||
continue;
|
||||
String str = e.getName();
|
||||
if(str != null)
|
||||
if (str != null)
|
||||
level.addOverrideName(str);
|
||||
}
|
||||
}
|
||||
|
@ -362,19 +363,19 @@ public class SettingsSet {
|
|||
adjustOverrideState();
|
||||
}
|
||||
|
||||
public HashMap<EntryNameKey, Object[]> getEntryLevelMap(int types){
|
||||
public HashMap<EntryNameKey, Object[]> getEntryLevelMap(int types) {
|
||||
HashMap<EntryNameKey, Object[]> map = new HashMap<EntryNameKey, Object[]>();
|
||||
for(int i = 0; i < fLevels.length; i++){
|
||||
if(isCompatible(fLevels[i], types))
|
||||
for (int i = 0; i < fLevels.length; i++) {
|
||||
if (isCompatible(fLevels[i], types))
|
||||
addLevelInfoToMap(fLevels[i], i, map);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
private void addLevelInfoToMap(SettingLevel level, int l, Map<EntryNameKey, Object[]> map){
|
||||
for(EntryInfo info : level.getInfos()){
|
||||
private void addLevelInfoToMap(SettingLevel level, int l, Map<EntryNameKey, Object[]> map) {
|
||||
for (EntryInfo info : level.getInfos()) {
|
||||
EntryNameKey key = info.getContentsKey();
|
||||
if(!map.containsKey(key))
|
||||
if (!map.containsKey(key))
|
||||
map.put(key, new Object[]{new Integer(l), info.getEntry()});
|
||||
}
|
||||
}
|
||||
|
@ -385,15 +386,7 @@ public class SettingsSet {
|
|||
if (!(o instanceof ICMacroEntry))
|
||||
return false; // cannot compare different entries
|
||||
String s1 = e.getValue();
|
||||
String s2 = ((ICMacroEntry)o).getValue();
|
||||
if (s1 == null && s2 == null)
|
||||
return true;
|
||||
if (s1 != null)
|
||||
return s1.equals(s2);
|
||||
else
|
||||
return s2.equals(s1);
|
||||
String s2 = ((ICMacroEntry) o).getValue();
|
||||
return s1 == null ? s2 == null : s1.equals(s2);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue