/// <summary>Walk all the attributes in this template, spitting them out. </summary> public virtual void walkAttributes(StringTemplate st) { if (st == null || st.getAttributes() == null) { return ; } ICollection keys = st.getAttributes().Keys; saveItemIndex(); for (IEnumerator iterator = keys.GetEnumerator(); iterator.MoveNext(); ) { String name = (String) iterator.Current; if (name.Equals(ASTExpr.REFLECTION_ATTRIBUTES)) { continue; } Object value = st.getAttributes()[name]; incItemIndex(); indent(); output.Append("Attribute "); output.Append(name); output.Append(" values:"); output.Append(Environment.NewLine); indentation++; walkAttributeValues(value); indentation--; } restoreItemIndex(); }