本文整理汇总了C#中Boo.Lang.Compiler.Ast.MethodInvocationExpression.set_Target方法的典型用法代码示例。如果您正苦于以下问题:C# MethodInvocationExpression.set_Target方法的具体用法?C# MethodInvocationExpression.set_Target怎么用?C# MethodInvocationExpression.set_Target使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Boo.Lang.Compiler.Ast.MethodInvocationExpression
的用法示例。
在下文中一共展示了MethodInvocationExpression.set_Target方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: typeof_with_expression
protected Expression typeof_with_expression()
{
Expression expression = null;
IToken token = null;
try
{
Expression expression2;
token = this.LT(1);
this.match(0x2c);
if ((this.LA(1) == 0x3f) && tokenSet_16_.member(this.LA(2)))
{
this.match(0x3f);
expression2 = this.expression();
this.match(0x40);
}
else
{
if (!tokenSet_16_.member(this.LA(1)) || !tokenSet_20_.member(this.LA(2)))
{
throw new NoViableAltException(this.LT(1), this.getFilename());
}
expression2 = this.expression();
}
if (base.inputState.guessing == 0)
{
ReferenceExpression expression4;
MethodInvocationExpression expression3 = new MethodInvocationExpression(ToLexicalInfo(token));
ReferenceExpression expression1 = expression4 = new ReferenceExpression(ToLexicalInfo(token));
expression4.set_Name(token.getText());
expression3.set_Target(expression4);
expression3.get_Arguments().Add(expression2);
expression = expression3;
}
}
catch (RecognitionException exception)
{
if (base.inputState.guessing != 0)
{
throw;
}
this.reportError(exception);
this.recover(exception, tokenSet_20_);
return expression;
}
return expression;
}
示例2: new_expression
public Expression new_expression()
{
Expression expression = null;
try
{
ExpressionCollection expressions;
bool flag = false;
if ((this.LA(1) == 0x1b) && (this.LA(2) == 0x3b))
{
int num = this.mark();
flag = true;
base.inputState.guessing++;
try
{
this.new_array_expression();
}
catch (RecognitionException)
{
flag = false;
}
this.rewind(num);
base.inputState.guessing--;
}
if (flag)
{
return this.new_array_expression();
}
if ((this.LA(1) != 0x1b) || ((this.LA(2) != 12) && (this.LA(2) != 0x3b)))
{
throw new NoViableAltException(this.LT(1), this.getFilename());
}
this.match(0x1b);
Expression expression2 = this.reference_expression();
if (base.inputState.guessing == 0)
{
MethodInvocationExpression expression3;
MethodInvocationExpression expression4;
MethodInvocationExpression expression1 = expression3 = new MethodInvocationExpression(expression2.get_LexicalInfo());
expression3.set_Target(expression2);
expression = expression4 = expression3;
expressions = expression4.get_Arguments();
}
this.match(0x3f);
this.expression_list(expressions);
this.match(0x40);
return expression;
}
catch (RecognitionException exception2)
{
if (base.inputState.guessing != 0)
{
throw;
}
this.reportError(exception2);
this.recover(exception2, tokenSet_20_);
return expression;
}
return expression;
}
示例3: slicing_expression
public Expression slicing_expression()
{
Expression target = null;
IToken token = null;
IToken token2 = null;
SlicingExpression se = null;
MethodInvocationExpression expression3 = null;
ExpressionCollection ec = null;
try
{
target = this.atom();
while (true)
{
while ((this.LA(1) == 0x44) && tokenSet_54_.member(this.LA(2)))
{
token = this.LT(1);
this.match(0x44);
if (base.inputState.guessing == 0)
{
se = new SlicingExpression(ToLexicalInfo(token));
se.set_Target(target);
target = se;
}
this.slice(se);
while (this.LA(1) == 0x43)
{
this.match(0x43);
this.slice(se);
}
this.match(0x45);
}
if ((this.LA(1) == 0x41) && tokenSet_55_.member(this.LA(2)))
{
this.match(0x41);
target = this.member_reference_expression(target);
}
else
{
if ((this.LA(1) != 0x3f) || !tokenSet_22_.member(this.LA(2)))
{
return target;
}
token2 = this.LT(1);
this.match(0x3f);
if (base.inputState.guessing == 0)
{
expression3 = new MethodInvocationExpression(ToLexicalInfo(token2));
expression3.set_Target(target);
target = expression3;
ec = expression3.get_Arguments();
}
this.expression_list(ec);
this.match(0x40);
}
}
}
catch (RecognitionException exception)
{
if (base.inputState.guessing != 0)
{
throw;
}
this.reportError(exception);
this.recover(exception, tokenSet_20_);
return target;
}
return target;
}
示例4: ProcessTypeofBuiltin
private void ProcessTypeofBuiltin(MethodInvocationExpression node)
{
if (node.get_Arguments().get_Count() != 1)
{
this.Error(node, new CompilerError("UCE0001", node.get_Target().get_LexicalInfo(), "'typeof' takes a single argument.", null));
}
else
{
IType type = node.get_Arguments().get_Item(0).get_Entity() as IType;
if (type != null)
{
node.get_ParentNode().Replace(node, this.get_CodeBuilder().CreateTypeofExpression(type));
}
else
{
node.set_Target(this.get_CodeBuilder().CreateReference(this._UnityRuntimeServices_GetTypeOf));
this.BindExpressionType(node, this.get_TypeSystemServices().TypeType);
}
}
}