本文整理汇总了C#中TextualExplanation.Indent方法的典型用法代码示例。如果您正苦于以下问题:C# TextualExplanation.Indent方法的具体用法?C# TextualExplanation.Indent怎么用?C# TextualExplanation.Indent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TextualExplanation
的用法示例。
在下文中一共展示了TextualExplanation.Indent方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetExplain
/// <summary>
/// Builds the explanation of the element
/// </summary>
/// <param name="explanation"></param>
/// <param name="explainSubElements">Precises if we need to explain the sub elements (if any)</param>
public virtual void GetExplain(TextualExplanation explanation, bool explainSubElements)
{
explanation.Write("FOLDER ");
explanation.WriteLine(Name);
if (explainSubElements)
{
explanation.Indent(2, () =>
{
foreach (Folder folder in Folders)
{
folder.GetExplain(explanation, explainSubElements);
}
});
}
explanation.Indent(2, () =>
{
foreach (Translation translation in Translations)
{
translation.GetExplain(explanation, explainSubElements);
}
});
explanation.Write("END FOLDER ");
explanation.WriteLine(Name);
}
示例2: GetExplain
/// <summary>
/// Builds the explanation of the element
/// </summary>
/// <param name="explanation"></param>
/// <param name="explainSubElements">Precises if we need to explain the sub elements (if any)</param>
public override void GetExplain(TextualExplanation explanation, bool explainSubElements)
{
explanation.Comment(this);
explanation.Write("FUNCTION ");
explanation.Write(Name);
explanation.Write(" (");
if (FormalParameters.Count > 0)
{
explanation.Indent(2, () =>
{
bool first = true;
foreach (Parameter parameter in FormalParameters)
{
if (first)
{
explanation.WriteLine();
first = false;
}
else
{
explanation.WriteLine(",");
}
parameter.GetExplain(explanation, true);
}
});
}
explanation.WriteLine(")");
explanation.Write("RETURNS ");
explanation.WriteLine(TypeName);
{
bool first = true;
foreach (Case cas in Cases)
{
if (!first)
{
explanation.Write("ELSE ");
}
cas.GetExplain(explanation, explainSubElements);
explanation.WriteLine();
first = false;
}
}
explanation.Write("END FUNCTION");
}
示例3: GetExplain
/// <summary>
/// Builds the explanation of the element
/// </summary>
/// <param name="explanation"></param>
/// <param name="explainSubElements">Precises if we need to explain the sub elements (if any)</param>
public override void GetExplain(TextualExplanation explanation, bool explainSubElements)
{
base.GetExplain(explanation, explainSubElements);
explanation.Write("RANGE ");
explanation.Write(Name);
explanation.Write(" FROM ");
explanation.Write(MinValue);
explanation.Write(" TO ");
explanation.WriteLine(MaxValue);
explanation.Indent(2, () =>
{
foreach (EnumValue enumValue in SpecialValues)
{
enumValue.GetExplain(explanation, explainSubElements);
}
});
}
示例4: GetExplain
/// <summary>
/// Builds the explanation of the element
/// </summary>
/// <param name="explanation"></param>
/// <param name="explainSubElements">Precises if we need to explain the sub elements (if any)</param>
public virtual void GetExplain(TextualExplanation explanation, bool explainSubElements)
{
int indent = 0;
if (PreConditions.Count > 0)
{
indent = 2;
explanation.Write("IF ");
if (PreConditions.Count > 1)
{
// Prepare the space for the following ANDs
explanation.Write(" ");
}
bool first = true;
foreach (PreCondition preCondition in PreConditions)
{
if (!first)
{
explanation.WriteLine();
explanation.Write(" AND ");
}
preCondition.GetExplain(explanation, explainSubElements);
first = false;
}
explanation.WriteLine();
explanation.WriteLine("THEN");
}
else
{
explanation.WriteLine();
}
explanation.Indent(indent, () =>
{
if (Name.CompareTo(EnclosingRule.Name) != 0)
{
explanation.Comment(Name);
}
foreach (Action action in Actions)
{
explanation.Write();
action.GetExplain(explanation, explainSubElements);
explanation.WriteLine();
}
if (explainSubElements)
{
foreach (Rule subRule in SubRules)
{
subRule.GetExplain(explanation, explainSubElements);
}
}
});
}
示例5: GetExplain
/// <summary>
/// Builds the explanation of the element
/// </summary>
/// <param name="explanation"></param>
/// <param name="explainSubElements">Precises if we need to explain the sub elements (if any)</param>
public override void GetExplain(TextualExplanation explanation, bool explainSubElements)
{
explanation.Comment(this);
if (!IsAbstract)
{
explanation.Write("STRUCTURE ");
}
else
{
explanation.Write("INTERFACE ");
}
explanation.WriteLine(Name);
explanation.Indent(2, () =>
{
foreach (Structure structure in Interfaces)
{
if (structure != null)
{
explanation.Write("IMPLEMENTS ");
explanation.WriteLine(structure.Name);
}
}
foreach (StructureElement element in Elements)
{
element.GetExplain(explanation, explainSubElements);
}
if (!IsAbstract)
{
foreach (Procedure procedure in Procedures)
{
procedure.GetExplain(explanation, explainSubElements);
}
foreach (StateMachine stateMachine in StateMachines)
{
stateMachine.GetExplain(explanation, explainSubElements);
}
foreach (Rule rule in Rules)
{
rule.GetExplain(explanation, explainSubElements);
}
}
});
if (!IsAbstract)
{
explanation.WriteLine("END STRUCTURE");
}
else
{
explanation.WriteLine("END INTERFACE");
}
}
示例6: CreateCallableParameters
protected void CreateCallableParameters(TextualExplanation text, ICallable callable)
{
if (callable.FormalParameters.Count > 0)
{
if (callable.FormalParameters.Count == 1)
{
Parameter formalParameter = callable.FormalParameters[0] as Parameter;
if(formalParameter != null)
{
text.Write("( " + formalParameter.Name + " => " + formalParameter.Type.Default + " )");
}
}
else
{
text.WriteLine("(");
text.Indent(4, () =>
{
bool first = true;
foreach (Parameter parameter in callable.FormalParameters)
{
if (!first)
{
text.WriteLine(",");
}
text.Write(parameter.Name + " => " + parameter.Type.Default);
first = false;
}
});
text.WriteLine();
text.Write(")");
}
}
else
{
text.Write("()");
}
}
示例7: GetExplain
/// <summary>
/// Builds the explanation of the element
/// </summary>
/// <param name="explanation"></param>
/// <param name="explainSubElements">Precises if we need to explain the sub elements (if any)</param>
public override void GetExplain(TextualExplanation explanation, bool explainSubElements)
{
base.GetExplain(explanation, explainSubElements);
explanation.Write("STATE MACHINE ");
explanation.WriteLine(Name);
explanation.Indent(2, () =>
{
foreach (State state in States)
{
state.GetExplain(explanation, false);
}
foreach (Rule rule in Rules)
{
rule.GetExplain(explanation, explainSubElements);
}
});
}
示例8: GetExplain
/// <summary>
/// Builds the explanation of the element
/// </summary>
/// <param name="explanation"></param>
/// <param name="explainSubElements">Precises if we need to explain the sub elements (if any)</param>
public virtual void GetExplain(TextualExplanation explanation, bool explainSubElements)
{
explanation.Comment(this);
explanation.Write("PROCEDURE ");
explanation.Write(Name);
if (FormalParameters.Count > 0)
{
bool first = true;
explanation.Write("(");
if (FormalParameters.Count > 1)
{
explanation.WriteLine();
}
explanation.Indent(4, () =>
{
foreach (Parameter parameter in FormalParameters)
{
if (!first)
{
explanation.WriteLine(",");
}
explanation.Write(parameter.Name);
explanation.Write(" : ");
explanation.Write(parameter.TypeName);
first = false;
}
});
explanation.WriteLine(")");
}
else
{
explanation.WriteLine("()");
}
explanation.Indent(2, () =>
{
foreach (Rule rule in Rules)
{
rule.GetExplain(explanation, explainSubElements);
explanation.WriteLine();
}
});
explanation.WriteLine("END PROCEDURE ");
}
示例9: GetExplain
/// <summary>
/// Builds the explanation of the element
/// </summary>
/// <param name="explanation"></param>
/// <param name="explainSubElements">Precises if we need to explain the sub elements (if any)</param>
public virtual void GetExplain(TextualExplanation explanation, bool explainSubElements)
{
explanation.Comment(Name);
explanation.Indent(2, () =>
{
foreach (Action action in Actions)
{
action.GetExplain(explanation, explainSubElements);
explanation.WriteLine();
}
});
explanation.WriteLine("IMPLIES");
explanation.Indent(2, () =>
{
foreach (Expectation expectation in Expectations)
{
expectation.GetExplain(explanation, explainSubElements);
explanation.WriteLine();
}
});
}
示例10: GetExplain
/// <summary>
/// Builds the explanation of the element
/// </summary>
/// <param name="explanation"></param>
/// <param name="explainSubElements">Precises if we need to explain the sub elements (if any)</param>
public override void GetExplain(TextualExplanation explanation, bool explainSubElements = true)
{
Called.GetExplain(explanation);
explanation.Write("(");
explanation.ExplainList(ActualParameters, explainSubElements, ", ",
element => element.GetExplain(explanation));
if (NamedActualParameters.Count > 0)
{
explanation.Indent(2, () =>
{
if (ActualParameters.Count > 0)
{
explanation.Write(", ");
}
explanation.ExplainList(NamedActualParameters, explainSubElements, ", ", pair =>
{
if (AllParameters.Count > 1)
{
explanation.WriteLine();
}
pair.Key.GetExplain(explanation);
explanation.Write(" => ");
pair.Value.GetExplain(explanation);
});
});
}
explanation.Write(")");
}
示例11: GetExplain
/// <summary>
/// Builds the explanation of the element
/// </summary>
/// <param name="explanation"></param>
/// <param name="explainSubElements">Precises if we need to explain the sub elements (if any)</param>
public virtual void GetExplain(TextualExplanation explanation, bool explainSubElements)
{
if (PreConditions.Count > 0)
{
explanation.Write("IF ");
if (PreConditions.Count > 1)
{
// Prepare the space for the following ANDs
explanation.Write(" ");
}
bool first = true;
foreach (PreCondition preCondition in PreConditions)
{
if (!first)
{
explanation.WriteLine();
explanation.Write(" AND ");
}
preCondition.GetExplain(explanation, explainSubElements);
first = false;
}
explanation.WriteLine(" THEN");
explanation.Indent(2, () =>
{
explanation.Header(this);
explanation.Expression(this);
});
}
else
{
explanation.WriteLine();
explanation.Indent(2, () =>
{
explanation.Header(this);
explanation.Expression(this);
});
}
}
示例12: GetExplain
/// <summary>
/// Builds the explanation of the element
/// </summary>
/// <param name="explanation"></param>
/// <param name="explainSubElements">Precises if we need to explain the sub elements (if any)</param>
public override void GetExplain(TextualExplanation explanation, bool explainSubElements = true)
{
if (ListElements.Count > 0)
{
explanation.Write("[");
explanation.Indent(2,
() => explanation.ExplainList(ListElements, explainSubElements, ", ",
element => element.GetExplain(explanation, explainSubElements)));
explanation.Write("]");
}
else
{
explanation.Write("[]");
}
}
示例13: GetExplain
/// <summary>
/// Builds the explanation of the element
/// </summary>
/// <param name="explanation"></param>
/// <param name="explainSubElements">Precises if we need to explain the sub elements (if any)</param>
public override void GetExplain(TextualExplanation explanation, bool explainSubElements)
{
base.GetExplain(explanation, explainSubElements);
explanation.Write("ENUMERATION ");
explanation.WriteLine(Name);
explanation.Indent(2, () =>
{
foreach (EnumValue enumValue in Values)
{
explanation.Write(enumValue, explainSubElements);
}
});
}
示例14: InsertElement
protected void InsertElement(ITypedElement element, TextualExplanation text)
{
text.Write(element.Name);
text.Write(" => ");
Structure structure = element.Type as Structure;
if (structure != null)
{
text.WriteLine(StripUseless(structure.FullName, WritingContext()) + "{");
text.Indent(4, () =>
{
bool first = true;
foreach (StructureElement subElement in structure.Elements)
{
if (!first)
{
text.WriteLine(",");
}
InsertElement(subElement, text);
first = false;
}
});
text.WriteLine();
text.Write("}");
}
else
{
IValue value = null;
if (string.IsNullOrEmpty(element.Default))
{
// No default value for element, get the one of the type
if (element.Type != null && element.Type.DefaultValue != null)
{
value = element.Type.DefaultValue;
}
}
else
{
if (element.Type != null)
{
value = element.Type.getValue(element.Default);
}
}
if (value != null)
{
text.Write(StripUseless(value.FullName, WritingContext()));
}
}
}
示例15: GetExplain
/// <summary>
/// Builds the explanation of the element
/// </summary>
/// <param name="explanation"></param>
/// <param name="explainSubElements">Precises if we need to explain the sub elements (if any)</param>
public override void GetExplain(TextualExplanation explanation, bool explainSubElements = true)
{
Structure.GetExplain(explanation);
explanation.Write("{");
explanation.Indent(2, () => explanation.ExplainList(Associations, explainSubElements, ", ", element =>
{
explanation.WriteLine();
element.Key.GetExplain(explanation);
explanation.Write(" => ");
element.Value.GetExplain(explanation);
}));
explanation.WriteLine();
explanation.Write("}");
}