本文整理汇总了C#中IronPython.Compiler.Ast.AstGenerator.CreateGeneratorParameter方法的典型用法代码示例。如果您正苦于以下问题:C# AstGenerator.CreateGeneratorParameter方法的具体用法?C# AstGenerator.CreateGeneratorParameter怎么用?C# AstGenerator.CreateGeneratorParameter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IronPython.Compiler.Ast.AstGenerator
的用法示例。
在下文中一共展示了AstGenerator.CreateGeneratorParameter方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TransformParameters
private void TransformParameters(AstGenerator outer, AstGenerator inner, List<MSAst.Expression> defaults, List<MSAst.Expression> names) {
if (inner.IsGenerator) {
inner.CreateGeneratorParameter();
}
for (int i = 0; i < _parameters.Length; i++) {
// Create the parameter in the inner code block
Parameter p = _parameters[i];
p.Transform(inner);
// Transform the default value
if (p.DefaultValue != null) {
defaults.Add(
outer.TransformAndConvert(p.DefaultValue, typeof(object))
);
}
names.Add(
Ast.Constant(
SymbolTable.IdToString(p.Name)
)
);
}
}
示例2: TransformParameters
private void TransformParameters(AstGenerator outer, AstGenerator inner, List<MSAst.Expression> defaults, List<MSAst.Expression> names, bool needsWrapperMethod) {
if (inner.IsGenerator) {
inner.CreateGeneratorParameter();
}
if (needsWrapperMethod) {
// define a single parameter which takes all arguments
inner.Parameter(typeof(object[]), "allArgs");
}
for (int i = 0; i < _parameters.Length; i++) {
// Create the parameter in the inner code block
Parameter p = _parameters[i];
p.Transform(inner, needsWrapperMethod);
// Transform the default value
if (p.DefaultValue != null) {
defaults.Add(
outer.TransformAndConvert(p.DefaultValue, typeof(object))
);
}
names.Add(
AstUtils.Constant(
SymbolTable.IdToString(p.Name)
)
);
}
}