public void WriteAttribute(AST.Attribute attr) { var strata = Strata; Strata = ApiStrata.Normal; if (attr.UnnamedParameters.Count + attr.NamedParameters.Count == 0) { Line("[{0}]", AttributeType(attr)); } else { Code("[{0}(", AttributeType(attr)); BeginList(); foreach (var attrarg in attr.UnnamedParameters) { ListItem(ToLiteral(attrarg)); } foreach (var attrarg in attr.NamedParameters) { ListItem("{0}: {1}", attrarg.Name, ToLiteral(attrarg.Value)); } EndList(); Line(")]"); } Strata = strata; }
public void WriteAttribute(AST.Attribute attr) { Insert(new AttributeNode(attr)); Line(); }
public string AttributeType(AST.Attribute t, bool?abi = null) { var n = TypeName(t.Type, abi); return(n.Remove(n.Length - 9)); }