本文整理汇总了C#中Scope.addVariable方法的典型用法代码示例。如果您正苦于以下问题:C# Scope.addVariable方法的具体用法?C# Scope.addVariable怎么用?C# Scope.addVariable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Scope
的用法示例。
在下文中一共展示了Scope.addVariable方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RightAssignment
private static SyntaxNode RightAssignment(RParser.RightAssignmentContext assignment, Func<ParserRuleContext, Scope, SyntaxNode> transform, Scope scope)
{
var left = transform(assignment.expr()[1], scope) as ExpressionSyntax;
var right = transform(assignment.expr()[0], scope) as ExpressionSyntax;
Debug.Assert(left != null && right != null);
if (topLevel(assignment))
return assigmentStatement(left, right, scope);
Debug.Assert(left is IdentifierNameSyntax);
var leftValue = left.ToString();
if (!scope.hasVariable(leftValue))
{
scope.PreStatements().Add(preVariable.Get<StatementSyntax>(left));
scope.addVariable(leftValue);
}
return preAssignment.Get(left, right);
}
示例2: assigmentStatement
private static StatementSyntax assigmentStatement(ExpressionSyntax left, ExpressionSyntax right, Scope scope)
{
if (left is IdentifierNameSyntax)
{
var varName = left.ToString();
if (scope.hasVariable(varName))
return assignment.Get<StatementSyntax>(left, right);
else
{
scope.addVariable(varName);
return declaration.Get<StatementSyntax>(varName, right);
}
}
throw new NotImplementedException();
}