protected void OnMessage(CompilerMessageEventArgs e)
 {
     if (this.Messages != null)
     {
         this.Messages(this, e);
     }
 }
示例#2
0
        private void OnMessageToCommandline(object sender, CompilerMessageEventArgs e)
        {
            if (!this.Verbose && e.Message.Type == CompilerMessage.CompilerMessageType.Verbose)
            {
                return;
            }

            string fileName = e.FileName;

            if (e.LineNumber > 0)
            {
                if (e.LinePosition > 0)
                {
                    fileName = String.Format(CultureInfo.InvariantCulture, "{0}({1},{2})", e.FileName, e.LineNumber, e.LinePosition);
                }
                else
                {
                    fileName = String.Format(CultureInfo.InvariantCulture, "{0}({1})", e.FileName, e.LineNumber);
                }
            }

            string messageType = e.Message.Type.ToString().ToLowerInvariant();

            Console.WriteLine(String.IsNullOrEmpty(fileName) ?
                              "{1} {2}{3:0000}: {4}" :
                              "{0} : {1} {2}{3:0000}: {4}",
                              fileName, messageType, "SWIX", e.Message.Id, e.Message.Message);

            if (e.Message.Type == CompilerMessage.CompilerMessageType.Error)
            {
                this.Errored = true;
            }
        }
示例#3
0
 // NOTE: 'id' is ignored!
 public void OnError(object sender, int id, string fileName, string format, params object[] details)
 {
     if (this.MessageDelegate != null)
     {
         CompilerMessageEventArgs e = new CompilerMessageEventArgs(CompilerMessage.InternalError(String.Format(CultureInfo.InvariantCulture, format, details)), fileName, 0, 0);
         this.MessageDelegate(sender, e);
     }
 }
示例#4
0
        private void OnMessageToMSBuild(object sender, CompilerMessageEventArgs e)
        {
            switch (e.Message.Type)
            {
            case CompilerMessage.CompilerMessageType.Error:
                this.logger.LogError(e.Message.Message);
                //this.logger.LogError("SWIX", e.Id, null, e.FileName, e.LineNumber, e.LinePosition, 0, 0, e.Details);
                this.Errored = true;
                break;

            case CompilerMessage.CompilerMessageType.Warning:
                this.logger.LogWarning("SWIX", e.Message.Id, null, e.FileName, e.LineNumber, e.LinePosition, 0, 0, e.Message.Message);
                break;

            case CompilerMessage.CompilerMessageType.Information:
            case CompilerMessage.CompilerMessageType.Verbose:
                this.logger.LogMessage("SWIX", e.Message.Id, null, e.FileName, e.LineNumber, e.LinePosition, 0, 0, e.Message.Message);
                break;
            }
        }
示例#5
0
 public CompilerException(CompilerMessageEventArgs mea, Exception innerException)
     : base(mea.Message.Message, innerException)
 {
     this.MessageEventArgs = mea;
 }
示例#6
0
 public CompilerException(CompilerMessageEventArgs mea) :
     this(mea, null)
 {
 }