Boo.Lang.Compiler.Steps.ProcessMethodBodies.LeaveRaiseStatement C# (CSharp) Метод

LeaveRaiseStatement() публичный Метод

public LeaveRaiseStatement ( Boo.Lang.Compiler.Ast.RaiseStatement node ) : void
node Boo.Lang.Compiler.Ast.RaiseStatement
Результат void
        public override void LeaveRaiseStatement(RaiseStatement node)
        {
            if (node.Exception == null) return;

            var exceptionType = GetExpressionType(node.Exception);
            if (IsError(exceptionType))
                return;

            if (TypeSystemServices.StringType == exceptionType)
            {
                node.Exception = CodeBuilder.CreateConstructorInvocation(
                    node.Exception.LexicalInfo,
                    MethodCache.Exception_StringConstructor,
                    node.Exception);
            }
            else if (!TypeSystemServices.IsValidException(exceptionType))
            {
                Error(CompilerErrorFactory.InvalidRaiseArgument(node.Exception, exceptionType));
            }
        }
ProcessMethodBodies