/// <summary> /// Create the inherited localizability attribute /// </summary> /// <param name="source">localizability attribute defined in source</param> /// <param name="inheritable">localizability attribute inheritable from above</param> /// <returns>LocalizabilityAttribute</returns> private LocalizabilityAttribute CreateInheritedLocalizability( LocalizabilityAttribute source, LocalizabilityAttribute inheritable ) { LocalizationCategory category = (source.Category == LocalizationCategory.Inherit) ? inheritable.Category : source.Category; Readability readability = (source.Readability == Readability.Inherit) ? inheritable.Readability : source.Readability; Modifiability modifiability = (source.Modifiability == Modifiability.Inherit) ? inheritable.Modifiability : source.Modifiability; LocalizabilityAttribute attribute = new LocalizabilityAttribute(category); attribute.Readability = readability; attribute.Modifiability = modifiability; return(attribute); }
// Helper to override a localizability attribute. Not needed for compiler internal LocalizabilityAttribute Override(LocalizabilityAttribute attribute) { Modifiability modifiability = attribute.Modifiability; Readability readability = attribute.Readability; LocalizationCategory category = attribute.Category; bool overridden = false; if (((int)Modifiability) != InvalidValue) { modifiability = Modifiability; overridden = true; } if (((int)Readability) != InvalidValue) { readability = Readability; overridden = true; } if (((int)Category) != InvalidValue) { category = Category; overridden = true; } if (overridden) { attribute = new LocalizabilityAttribute(category); attribute.Modifiability = modifiability; attribute.Readability = readability; } return(attribute); }
// Token: 0x06006EBC RID: 28348 RVA: 0x001FD4A0 File Offset: 0x001FB6A0 private LocalizabilityAttribute CombineMinimumLocalizability(LocalizabilityAttribute first, LocalizabilityAttribute second) { if (first != null && second != null) { Readability readability = (Readability)Math.Min((int)first.Readability, (int)second.Readability); Modifiability modifiability = (Modifiability)Math.Min((int)first.Modifiability, (int)second.Modifiability); LocalizationCategory category; if (first.Category == LocalizationCategory.NeverLocalize || second.Category == LocalizationCategory.NeverLocalize) { category = LocalizationCategory.NeverLocalize; } else if (first.Category == LocalizationCategory.Ignore || second.Category == LocalizationCategory.Ignore) { category = LocalizationCategory.Ignore; } else { category = ((first.Category != LocalizationCategory.None) ? first.Category : second.Category); } return(new LocalizabilityAttribute(category) { Readability = readability, Modifiability = modifiability }); } if (first != null) { return(first); } return(second); }
// Token: 0x06006ECA RID: 28362 RVA: 0x001FDA24 File Offset: 0x001FBC24 internal LocalizabilityAttribute Override(LocalizabilityAttribute attribute) { Modifiability modifiability = attribute.Modifiability; Readability readability = attribute.Readability; LocalizationCategory category = attribute.Category; bool flag = false; if (this.Modifiability != (Modifiability)(-1)) { modifiability = this.Modifiability; flag = true; } if (this.Readability != (Readability)(-1)) { readability = this.Readability; flag = true; } if (this.Category != (LocalizationCategory)(-1)) { category = this.Category; flag = true; } if (flag) { attribute = new LocalizabilityAttribute(category); attribute.Modifiability = modifiability; attribute.Readability = readability; } return(attribute); }
/// <summary> /// It combines the min values of two localizability attributes. /// </summary> /// <param name="first">first </param> /// <param name="second">second</param> /// <returns>LocalizabilityAttribute</returns> private LocalizabilityAttribute CombineMinimumLocalizability( LocalizabilityAttribute first, LocalizabilityAttribute second ) { if (first == null || second == null) { return((first == null) ? second : first); } // min of two readability enum. The less the more restrictive. Readability readability = (Readability)Math.Min( (int)first.Readability, (int)second.Readability ); // min of two Modifiability enum. The less the more restrictive. Modifiability modifiability = (Modifiability)Math.Min( (int)first.Modifiability, (int)second.Modifiability ); // for category, NeverLocalize < Ignore < { all others } < None // If both categories belong to { all others }, first.Category wins LocalizationCategory category = LocalizationCategory.None; if (first.Category == LocalizationCategory.NeverLocalize || second.Category == LocalizationCategory.NeverLocalize) { category = LocalizationCategory.NeverLocalize; } else if (first.Category == LocalizationCategory.Ignore || second.Category == LocalizationCategory.Ignore) { category = LocalizationCategory.Ignore; } else { category = (first.Category != LocalizationCategory.None) ? first.Category : second.Category; } LocalizabilityAttribute result = new LocalizabilityAttribute(category); result.Readability = readability; result.Modifiability = modifiability; return(result); }
internal LocalizabilityGroup() { Modifiability = (Modifiability) InvalidValue; Readability = (Readability) InvalidValue; Category = (LocalizationCategory) InvalidValue; }
internal LocalizabilityGroup() { Modifiability = (Modifiability)InvalidValue; Readability = (Readability)InvalidValue; Category = (LocalizationCategory)InvalidValue; }