public override void UpdateProps() { base.SetPropertyString("fileRef", this.fileRef); PBXElementDict dict = null; if (base.m_Properties.Contains("settings")) { dict = base.m_Properties["settings"].AsDict(); } if ((this.compileFlags != null) && (this.compileFlags != "")) { if (dict == null) { dict = base.m_Properties.CreateDict("settings"); } dict.SetString("COMPILER_FLAGS", this.compileFlags); } else if (dict != null) { dict.Remove("COMPILER_FLAGS"); } if (this.weak) { if (dict == null) { dict = base.m_Properties.CreateDict("settings"); } PBXElementArray array = null; if (dict.Contains("ATTRIBUTES")) { array = dict["ATTRIBUTES"].AsArray(); } else { array = dict.CreateArray("ATTRIBUTES"); } bool flag = false; foreach (PBXElement element in array.values) { if ((element is PBXElementString) && (element.AsString() == "Weak")) { flag = true; } } if (!flag) { array.AddString("Weak"); } } else if ((dict != null) && dict.Contains("ATTRIBUTES")) { PBXElementArray array2 = dict["ATTRIBUTES"].AsArray(); if (< > f__am$cache0 == null) {
public static PBXElementDict ParseTreeAST(TreeAST ast, TokenList tokens, string text) { PBXElementDict dict = new PBXElementDict(); foreach (KeyValueAST east in ast.values) { PBXElementString str = ParseIdentifierAST(east.key, tokens, text); PBXElement element = ParseValueAST(east.value, tokens, text); dict[str.value] = element; } return dict; }
public static PBXElementDict ParseTreeAST(TreeAST ast, TokenList tokens, string text) { PBXElementDict pbxElementDict = new PBXElementDict(); foreach (KeyValueAST keyValueAst in ast.values) { PBXElementString pbxElementString = Serializer.ParseIdentifierAST(keyValueAst.key, tokens, text); PBXElement pbxElement = Serializer.ParseValueAST(keyValueAst.value, tokens, text); pbxElementDict[pbxElementString.value] = pbxElement; } return(pbxElementDict); }
public static PBXElementDict ParseTreeAST(TreeAST ast, TokenList tokens, string text) { var el = new PBXElementDict(); foreach (var kv in ast.values) { PBXElementString key = ParseIdentifierAST(kv.key, tokens, text); PBXElement value = ParseValueAST(kv.value, tokens, text); el[key.value] = value; } return(el); }
public static PBXElementDict ParseTreeAST(TreeAST ast, TokenList tokens, string text) { PBXElementDict dict = new PBXElementDict(); foreach (KeyValueAST east in ast.values) { PBXElementString str = ParseIdentifierAST(east.key, tokens, text); PBXElement element = ParseValueAST(east.value, tokens, text); dict[str.value] = element; } return(dict); }
public override void UpdateVars() { this.projectReferences = new List <ProjectReference>(); if (this.m_Properties.Contains("projectReferences")) { foreach (PBXElement pbxElement in this.m_Properties["projectReferences"].AsArray().values) { PBXElementDict pbxElementDict = pbxElement.AsDict(); if (pbxElementDict.Contains("ProductGroup") && pbxElementDict.Contains("ProjectRef")) { this.projectReferences.Add(ProjectReference.Create(pbxElementDict["ProductGroup"].AsString(), pbxElementDict["ProjectRef"].AsString())); } } } this.targets = this.GetPropertyList("targets"); this.buildConfigList = this.GetPropertyString("buildConfigurationList"); this.knownAssetTags = new List <string>(); if (!this.m_Properties.Contains("attributes")) { return; } PBXElementDict pbxElementDict1 = this.m_Properties["attributes"].AsDict(); if (pbxElementDict1.Contains("knownAssetTags")) { foreach (PBXElement pbxElement in pbxElementDict1["knownAssetTags"].AsArray().values) { this.knownAssetTags.Add(pbxElement.AsString()); } } this.capabilities = new List <PBXCapabilityType.TargetCapabilityPair>(); this.teamIDs = new Dictionary <string, string>(); if (pbxElementDict1.Contains("TargetAttributes")) { foreach (KeyValuePair <string, PBXElement> keyValuePair1 in (IEnumerable <KeyValuePair <string, PBXElement> >)pbxElementDict1["TargetAttributes"].AsDict().values) { if (keyValuePair1.Key == "DevelopmentTeam") { this.teamIDs.Add(keyValuePair1.Key, keyValuePair1.Value.AsString()); } if (keyValuePair1.Key == "SystemCapabilities") { foreach (KeyValuePair <string, PBXElement> keyValuePair2 in (IEnumerable <KeyValuePair <string, PBXElement> >)pbxElementDict1["SystemCapabilities"].AsDict().values) { this.capabilities.Add(new PBXCapabilityType.TargetCapabilityPair(keyValuePair1.Key, PBXCapabilityType.StringToPBXCapabilityType(keyValuePair2.Value.AsString()))); } } } } }
public override void UpdateVars() { this.fileRef = this.GetPropertyString("fileRef"); this.compileFlags = (string)null; this.weak = false; this.assetTags = new List <string>(); if (!this.m_Properties.Contains("settings")) { return; } PBXElementDict pbxElementDict = this.m_Properties["settings"].AsDict(); if (pbxElementDict.Contains("COMPILER_FLAGS")) { this.compileFlags = pbxElementDict["COMPILER_FLAGS"].AsString(); } if (pbxElementDict.Contains("ATTRIBUTES")) { foreach (PBXElement pbxElement in pbxElementDict["ATTRIBUTES"].AsArray().values) { if (pbxElement is PBXElementString && pbxElement.AsString() == "Weak") { this.weak = true; } if (pbxElement is PBXElementString && pbxElement.AsString() == "CodeSignOnCopy") { this.codeSignOnCopy = true; } if (pbxElement is PBXElementString && pbxElement.AsString() == "RemoveHeadersOnCopy") { this.removeHeadersOnCopy = true; } if (pbxElement is PBXElementString && pbxElement.AsString() == "Public") { this.publicHeader = true; } } } if (pbxElementDict.Contains("ASSET_TAGS")) { foreach (PBXElement pbxElement in pbxElementDict["ASSET_TAGS"].AsArray().values) { this.assetTags.Add(pbxElement.AsString()); } } }
public override void UpdateProps() { this.SetPropertyString("fileRef", this.fileRef); PBXElementDict settings = (PBXElementDict)null; if (this.m_Properties.Contains("settings")) { settings = this.m_Properties["settings"].AsDict(); } if (this.compileFlags != null && this.compileFlags != "") { if (settings == null) { settings = this.m_Properties.CreateDict("settings"); } settings.SetString("COMPILER_FLAGS", this.compileFlags); } else if (settings != null) { settings.Remove("COMPILER_FLAGS"); } PBXElementDict pbxElementDict = this.UpdatePropsAttribute(this.UpdatePropsAttribute(this.UpdatePropsAttribute(settings, this.weak, "Weak"), this.codeSignOnCopy, "CodeSignOnCopy"), this.removeHeadersOnCopy, "RemoveHeadersOnCopy"); if (this.assetTags.Count > 0) { if (pbxElementDict == null) { pbxElementDict = this.m_Properties.CreateDict("settings"); } PBXElementArray array = pbxElementDict.CreateArray("ASSET_TAGS"); foreach (string val in this.assetTags) { array.AddString(val); } } else if (pbxElementDict != null) { pbxElementDict.Remove("ASSET_TAGS"); } if (pbxElementDict == null || pbxElementDict.values.Count != 0) { return; } this.m_Properties.Remove("settings"); }
public override void UpdateVars() { this.baseConfigurationReference = this.GetPropertyString("baseConfigurationReference"); this.entries = new SortedDictionary <string, BuildConfigEntryData>(); if (!this.m_Properties.Contains("buildSettings")) { return; } PBXElementDict pbxElementDict = this.m_Properties["buildSettings"].AsDict(); foreach (string index in (IEnumerable <string>)pbxElementDict.values.Keys) { PBXElement pbxElement1 = pbxElementDict[index]; if (pbxElement1 is PBXElementString) { if (this.entries.ContainsKey(index)) { this.entries[index].val.Add(pbxElement1.AsString()); } else { this.entries.Add(index, BuildConfigEntryData.FromNameValue(index, pbxElement1.AsString())); } } else if (pbxElement1 is PBXElementArray) { foreach (PBXElement pbxElement2 in pbxElement1.AsArray().values) { if (pbxElement2 is PBXElementString) { if (this.entries.ContainsKey(index)) { this.entries[index].val.Add(pbxElement2.AsString()); } else { this.entries.Add(index, BuildConfigEntryData.FromNameValue(index, pbxElement2.AsString())); } } } } } }
public override void UpdateVars() { projectReferences = new List <ProjectReference>(); if (m_Properties.Contains("projectReferences")) { var el = m_Properties["projectReferences"].AsArray(); foreach (var value in el.values) { PBXElementDict dict = value.AsDict(); if (dict.Contains("ProductGroup") && dict.Contains("ProjectRef")) { string group = dict["ProductGroup"].AsString(); string projectRef = dict["ProjectRef"].AsString(); projectReferences.Add(ProjectReference.Create(group, projectRef)); } } } buildConfigList = GetPropertyString("buildConfigurationList"); }
public override void UpdateVars() { this.entries = new SortedDictionary <string, BuildConfigEntryData>(); if (base.m_Properties.Contains("buildSettings")) { PBXElementDict dict = base.m_Properties["buildSettings"].AsDict(); foreach (string str in dict.values.Keys) { PBXElement element = dict[str]; if (element is PBXElementString) { if (this.entries.ContainsKey(str)) { this.entries[str].val.Add(element.AsString()); } else { this.entries.Add(str, BuildConfigEntryData.FromNameValue(str, element.AsString())); } } else if (element is PBXElementArray) { foreach (PBXElement element2 in element.AsArray().values) { if (element2 is PBXElementString) { if (this.entries.ContainsKey(str)) { this.entries[str].val.Add(element2.AsString()); } else { this.entries.Add(str, BuildConfigEntryData.FromNameValue(str, element2.AsString())); } } } } } } }
private PBXElementDict UpdatePropsAttribute(PBXElementDict settings, bool value, string attributeName) { PBXElementArray pbxElementArray = (PBXElementArray)null; if (value && settings == null) { settings = this.m_Properties.CreateDict("settings"); } if (settings != null && settings.Contains("ATTRIBUTES")) { pbxElementArray = settings["ATTRIBUTES"].AsArray(); } if (value) { if (pbxElementArray == null) { pbxElementArray = settings.CreateArray("ATTRIBUTES"); } if (!Enumerable.Any <PBXElement>((IEnumerable <PBXElement>)pbxElementArray.values, (Func <PBXElement, bool>)(attr => attr is PBXElementString && attr.AsString() == attributeName))) { pbxElementArray.AddString(attributeName); } } else if (pbxElementArray != null) { pbxElementArray.values.RemoveAll((Predicate <PBXElement>)(el => { if (el is PBXElementString) { return(el.AsString() == attributeName); } return(false); })); if (pbxElementArray.values.Count == 0) { settings.Remove("ATTRIBUTES"); } } return(settings); }
public override void UpdateProps() { this.m_Properties.values.Remove("projectReferences"); if (this.projectReferences.Count > 0) { PBXElementArray array = this.m_Properties.CreateArray("projectReferences"); foreach (ProjectReference projectReference in this.projectReferences) { PBXElementDict pbxElementDict = array.AddDict(); pbxElementDict.SetString("ProductGroup", projectReference.group); pbxElementDict.SetString("ProjectRef", projectReference.projectRef); } } this.SetPropertyList("targets", this.targets); this.SetPropertyString("buildConfigurationList", this.buildConfigList); if (this.knownAssetTags.Count > 0) { PBXElementArray array = (!this.m_Properties.Contains("attributes") ? this.m_Properties.CreateDict("attributes") : this.m_Properties["attributes"].AsDict()).CreateArray("knownAssetTags"); foreach (string val in this.knownAssetTags) { array.AddString(val); } } foreach (PBXCapabilityType.TargetCapabilityPair targetCapabilityPair in this.capabilities) { PBXElementDict pbxElementDict1 = this.m_Properties.Contains("attributes") ? this.m_Properties["attributes"].AsDict() : this.m_Properties.CreateDict("attributes"); PBXElementDict pbxElementDict2 = pbxElementDict1.Contains("TargetAttributes") ? pbxElementDict1["TargetAttributes"].AsDict() : pbxElementDict1.CreateDict("TargetAttributes"); PBXElementDict pbxElementDict3 = pbxElementDict2.Contains(targetCapabilityPair.targetGuid) ? pbxElementDict2[targetCapabilityPair.targetGuid].AsDict() : pbxElementDict2.CreateDict(targetCapabilityPair.targetGuid); PBXElementDict pbxElementDict4 = pbxElementDict3.Contains("SystemCapabilities") ? pbxElementDict3["SystemCapabilities"].AsDict() : pbxElementDict3.CreateDict("SystemCapabilities"); string id = targetCapabilityPair.capability.id; (pbxElementDict4.Contains(id) ? pbxElementDict4[id].AsDict() : pbxElementDict4.CreateDict(id)).SetString("enabled", "1"); } foreach (KeyValuePair <string, string> keyValuePair in this.teamIDs) { PBXElementDict pbxElementDict1 = this.m_Properties.Contains("attributes") ? this.m_Properties["attributes"].AsDict() : this.m_Properties.CreateDict("attributes"); PBXElementDict pbxElementDict2 = pbxElementDict1.Contains("TargetAttributes") ? pbxElementDict1["TargetAttributes"].AsDict() : pbxElementDict1.CreateDict("TargetAttributes"); (pbxElementDict2.Contains(keyValuePair.Key) ? pbxElementDict2[keyValuePair.Key].AsDict() : pbxElementDict2.CreateDict(keyValuePair.Key)).SetString("DevelopmentTeam", keyValuePair.Value); } }
public override void UpdateProps() { PBXElementDict dict = base.m_Properties.CreateDict("buildSettings"); foreach (KeyValuePair <string, BuildConfigEntryData> pair in this.entries) { if (pair.Value.val.Count != 0) { if (pair.Value.val.Count == 1) { dict.SetString(pair.Key, pair.Value.val[0]); } else { PBXElementArray array = dict.CreateArray(pair.Key); foreach (string str in pair.Value.val) { array.AddString(str); } } } } }
public static void WriteDict(StringBuilder sb, PBXElementDict el, int indent, bool compact, PropertyCommentChecker checker, GUIDToCommentMap comments) { sb.Append("{"); if (el.Contains("isa")) { WriteDictKeyValue(sb, "isa", el["isa"], indent + 1, compact, checker, comments); } foreach (var key in el.values.Keys) { if (key != "isa") { WriteDictKeyValue(sb, key, el[key], indent + 1, compact, checker, comments); } } if (!compact) { sb.Append("\n"); sb.Append(GetIndent(indent)); } sb.Append("}"); }
public override void UpdateProps() { this.SetPropertyString("baseConfigurationReference", this.baseConfigurationReference); PBXElementDict dict = this.m_Properties.CreateDict("buildSettings"); foreach (KeyValuePair <string, BuildConfigEntryData> keyValuePair in this.entries) { if (keyValuePair.Value.val.Count != 0) { if (keyValuePair.Value.val.Count == 1) { dict.SetString(keyValuePair.Key, keyValuePair.Value.val[0]); } else { PBXElementArray array = dict.CreateArray(keyValuePair.Key); foreach (string val in keyValuePair.Value.val) { array.AddString(val); } } } } }
public static void WriteDict(StringBuilder sb, PBXElementDict el, int indent, bool compact, PropertyCommentChecker checker, GUIDToCommentMap comments) { sb.Append("{"); if (el.Contains("isa")) { WriteDictKeyValue(sb, "isa", el["isa"], indent + 1, compact, checker, comments); } List <string> list = new List <string>(el.values.Keys); list.Sort(StringComparer.Ordinal); foreach (string str in list) { if (str != "isa") { WriteDictKeyValue(sb, str, el[str], indent + 1, compact, checker, comments); } } if (!compact) { sb.Append("\n"); sb.Append(GetIndent(indent)); } sb.Append("}"); }
public static void WriteDict(StringBuilder sb, PBXElementDict el, int indent, bool compact, PropertyCommentChecker checker, GUIDToCommentMap comments) { sb.Append("{"); if (el.Contains("isa")) { Serializer.WriteDictKeyValue(sb, "isa", el["isa"], indent + 1, compact, checker, comments); } List <string> list = new List <string>((IEnumerable <string>)el.values.Keys); list.Sort((IComparer <string>)StringComparer.Ordinal); foreach (string key in list) { if (key != "isa") { Serializer.WriteDictKeyValue(sb, key, el[key], indent + 1, compact, checker, comments); } } if (!compact) { sb.Append("\n"); sb.Append(Serializer.GetIndent(indent)); } sb.Append("}"); }
public abstract void AddObject(string key, PBXElementDict value);
public static PBXElementDict ParseTreeAST(TreeAST ast, TokenList tokens, string text) { var el = new PBXElementDict(); foreach (var kv in ast.values) { PBXElementString key = ParseIdentifierAST(kv.key, tokens, text); PBXElement value = ParseValueAST(kv.value, tokens, text); el[key.value] = value; } return el; }
internal void SetPropertiesWhenSerializing(PBXElementDict props) { m_Properties = props; }
public override void UpdateProps() { SetPropertyString("fileRef", fileRef); PBXElementDict settings = null; if (m_Properties.Contains("settings")) { settings = m_Properties["settings"].AsDict(); } if (compileFlags != null && compileFlags != "") { if (settings == null) { settings = m_Properties.CreateDict("settings"); } settings.SetString("COMPILER_FLAGS", compileFlags); } else { if (settings != null) { settings.Remove("COMPILER_FLAGS"); } } if (weak) { if (settings == null) { settings = m_Properties.CreateDict("settings"); } PBXElementArray attrs = null; if (settings.Contains("ATTRIBUTES")) { attrs = settings["ATTRIBUTES"].AsArray(); } else { attrs = settings.CreateArray("ATTRIBUTES"); } bool exists = false; foreach (var value in attrs.values) { if (value is PBXElementString && value.AsString() == "Weak") { exists = true; } } if (!exists) { attrs.AddString("Weak"); } } else { if (settings != null && settings.Contains("ATTRIBUTES")) { var attrs = settings["ATTRIBUTES"].AsArray(); attrs.values.RemoveAll(el => (el is PBXElementString && el.AsString() == "Weak")); if (attrs.values.Count == 0) { settings.Remove("ATTRIBUTES"); } } } if (assetTags.Count > 0) { if (settings == null) { settings = m_Properties.CreateDict("settings"); } var tagsArray = settings.CreateArray("ASSET_TAGS"); foreach (string tag in assetTags) { tagsArray.AddString(tag); } } else { if (settings != null) { settings.Remove("ASSET_TAGS"); } } if (settings != null && settings.values.Count == 0) { m_Properties.Remove("settings"); } }
public static void WriteDict(StringBuilder sb, PBXElementDict el, int indent, bool compact, PropertyCommentChecker checker, GUIDToCommentMap comments) { sb.Append("{"); if (el.Contains("isa")) { WriteDictKeyValue(sb, "isa", el["isa"], indent + 1, compact, checker, comments); } List<string> list = new List<string>(el.values.Keys); list.Sort(StringComparer.Ordinal); foreach (string str in list) { if (str != "isa") { WriteDictKeyValue(sb, str, el[str], indent + 1, compact, checker, comments); } } if (!compact) { sb.Append("\n"); sb.Append(GetIndent(indent)); } sb.Append("}"); }
public PBXElementDict AddDict() { var v = new PBXElementDict(); values.Add(v); return v; }
public PBXElementDict CreateDict(string key) { PBXElementDict dict = new PBXElementDict(); this.values[key] = dict; return dict; }
public static void WriteDict(StringBuilder sb, PBXElementDict el, int indent, bool compact, PropertyCommentChecker checker, GUIDToCommentMap comments) { sb.Append("{"); if (el.Contains("isa")) WriteDictKeyValue(sb, "isa", el["isa"], indent+1, compact, checker, comments); var keys = new List<string>(el.values.Keys); keys.Sort(StringComparer.Ordinal); foreach (var key in keys) { if (key != "isa") WriteDictKeyValue(sb, key, el[key], indent+1, compact, checker, comments); } if (!compact) { sb.Append("\n"); sb.Append(GetIndent(indent)); } sb.Append("}"); }
public PBXElementDict CreateDict(string key) { var v = new PBXElementDict(); values[key] = v; return v; }