public PBXElementArray CreateArray(string key) { var v = new PBXElementArray(); values[key] = v; return(v); }
public PBXElementArray AddArray() { var v = new PBXElementArray(); values.Add(v); return(v); }
public static PBXElementArray ParseArrayAST(ArrayAST ast, TokenList tokens, string text) { var el = new PBXElementArray(); foreach (var v in ast.values) { el.values.Add(ParseValueAST(v, tokens, text)); } return(el); }
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 assetTag in this.assetTags) { array.AddString(assetTag); } } else { if (pbxElementDict != null) { pbxElementDict.Remove("ASSET_TAGS"); } } if (pbxElementDict == null || pbxElementDict.values.Count != 0) { return; } this.m_Properties.Remove("settings"); }
public static void WriteArray(StringBuilder sb, PBXElementArray el, int indent, bool compact, PropertyCommentChecker checker, GUIDToCommentMap comments) { sb.Append("("); foreach (var value in el.values) { if (!compact) { sb.Append("\n"); sb.Append(GetIndent(indent + 1)); } if (value is PBXElementString) { WriteStringImpl(sb, value.AsString(), checker.CheckStringValueInArray(value.AsString()), comments); } else if (value is PBXElementDict) { WriteDict(sb, value.AsDict(), indent + 1, compact, checker.NextLevel("*"), comments); } else if (value is PBXElementArray) { WriteArray(sb, value.AsArray(), indent + 1, compact, checker.NextLevel("*"), comments); } sb.Append(","); if (compact) { sb.Append(" "); } } if (!compact) { sb.Append("\n"); sb.Append(GetIndent(indent)); } sb.Append(")"); }
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 (!pbxElementArray.values.Any <PBXElement>((Func <PBXElement, bool>)(attr => attr is PBXElementString && attr.AsString() == attributeName))) { pbxElementArray.AddString(attributeName); } } else if (pbxElementArray != null) { pbxElementArray.values.RemoveAll((Predicate <PBXElement>)(el => el is PBXElementString && el.AsString() == attributeName)); if (pbxElementArray.values.Count == 0) { settings.Remove("ATTRIBUTES"); } } return(settings); }