示例#1
0
            public override void VisitThrow(BoundThrow node)
            {
                base.VisitThrow(node);

                // Throw acts like a return in the context of definite
                // assignment.

                JoinOnBlock(null, JoinType.Return);
            }
示例#2
0
 public virtual void VisitThrow(BoundThrow node)
 {
     DefaultVisit(node);
 }
示例#3
0
        private void EmitThrow(BoundThrow node)
        {
            // Create the exception object.

            EmitBox(EmitExpression(node.Expression));

            IL.Emit(OpCodes.Newobj, _exceptionConstructor);

            // Throw the exception.

            IL.Emit(OpCodes.Throw);
        }