当前位置: 首页>>代码示例>>C#>>正文


C# MethodInvocationExpression.get_Arguments方法代码示例

本文整理汇总了C#中Boo.Lang.Compiler.Ast.MethodInvocationExpression.get_Arguments方法的典型用法代码示例。如果您正苦于以下问题:C# MethodInvocationExpression.get_Arguments方法的具体用法?C# MethodInvocationExpression.get_Arguments怎么用?C# MethodInvocationExpression.get_Arguments使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Boo.Lang.Compiler.Ast.MethodInvocationExpression的用法示例。


在下文中一共展示了MethodInvocationExpression.get_Arguments方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: LeaveMethodInvocationExpression

 public override void LeaveMethodInvocationExpression(MethodInvocationExpression node)
 {
     IEntityWithParameters parameters = node.get_Target().get_Entity() as IEntityWithParameters;
     if (parameters != null)
     {
         ExpressionCollection args = node.get_Arguments();
         if (parameters.get_AcceptVarArgs() && UnityCallableResolutionServiceModule.IsArrayArgumentExplicitlyProvided(parameters.GetParameters(), args))
         {
             UnaryExpression expression2;
             Expression expression = args.get_Item(-1);
             UnaryExpression expression1 = expression2 = new UnaryExpression();
             expression2.set_Operator(7);
             expression2.set_Operand(expression);
             expression2.set_ExpressionType(this.GetExpressionType(expression));
             args.ReplaceAt(-1, expression2);
         }
     }
 }
开发者ID:CarlosHBC,项目名称:UnityDecompiled,代码行数:18,代码来源:AutoExplodeVarArgsInvocations.cs

示例2: CreateEvaluatorInvocation

 public MethodInvocationExpression CreateEvaluatorInvocation(MethodInvocationExpression node)
 {
     return this.get_CodeBuilder().CreateMethodInvocation(Evaluator_Eval, this.CreateEvaluationContextReference(), node.get_Arguments().get_Item(0));
 }
开发者ID:CarlosHBC,项目名称:UnityDecompiled,代码行数:4,代码来源:ProcessEvalInvocations.cs

示例3: 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;
 }
开发者ID:CarlosHBC,项目名称:UnityDecompiled,代码行数:46,代码来源:UnityScriptParser.cs

示例4: 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;
 }
开发者ID:CarlosHBC,项目名称:UnityDecompiled,代码行数:68,代码来源:UnityScriptParser.cs

示例5: PropagateChanges

 public override void PropagateChanges(MethodInvocationExpression eval, List chain)
 {
     ExpressionCollection expressions = new ExpressionCollection();
     foreach (object local1 in chain.Reversed)
     {
         if (!(local1 is ProcessAssignmentsToSpecialMembers.ChainItem))
         {
         }
         ProcessAssignmentsToSpecialMembers.ChainItem item = (ProcessAssignmentsToSpecialMembers.ChainItem) RuntimeServices.Coerce(local1, typeof(ProcessAssignmentsToSpecialMembers.ChainItem));
         if (item.Container is MethodInvocationExpression)
         {
             break;
         }
         if (item.Container is SlicingExpression)
         {
             SlicingExpression expression = item.Container;
             Expression[] expressionArray1 = new Expression[] { expression.get_Target().CloneNode(), expression.get_Indices().get_Item(0).get_Begin().CloneNode(), this.get_CodeBuilder().CreateReference(item.Local) };
             expressions.Add(this.CreateConstructorInvocation(this._sliceValueTypeChangeConstructor, expressionArray1));
             break;
         }
         MemberReferenceExpression container = item.Container;
         Expression[] args = new Expression[] { container.get_Target().CloneNode(), this.get_CodeBuilder().CreateStringLiteral(container.get_Name()), this.get_CodeBuilder().CreateReference(item.Local) };
         expressions.Add(this.CreateConstructorInvocation(this._valueTypeChangeConstructor, args));
     }
     MethodInvocationExpression expression3 = this.get_CodeBuilder().CreateMethodInvocation(this._propagateChanges);
     IArrayType type = this._valueTypeChangeType.MakeArrayType(1);
     expression3.get_Arguments().Add(this.get_CodeBuilder().CreateArray(type, expressions));
     eval.get_Arguments().Add(expression3);
 }
开发者ID:CarlosHBC,项目名称:UnityDecompiled,代码行数:29,代码来源:ProcessAssignmentToDuckMembers.cs

示例6: 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);
         }
     }
 }
开发者ID:CarlosHBC,项目名称:UnityDecompiled,代码行数:20,代码来源:ProcessUnityScriptMethods.cs


注:本文中的Boo.Lang.Compiler.Ast.MethodInvocationExpression.get_Arguments方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。