コード例 #1
0
ファイル: LanguageException.cs プロジェクト: fossabot/Axion
 public LanguageException(
     BlameType type,
     BlameSeverity severity,
     Position start,
     Position end
     )
 {
     Severity   = severity;
     Span       = new Span(start, end);
     Message    = TypeToMessage(type);
     StackTrace = new StackTrace(2).ToString();
 }
コード例 #2
0
ファイル: LanguageException.cs プロジェクト: fossabot/Axion
        private static string TypeToMessage(BlameType type)
        {
            string enumMemberName = type.ToString("G");

            var result = new StringBuilder();

            result.Append(char.ToUpper(enumMemberName[0]));

            enumMemberName = enumMemberName.Remove(0, 1);
            foreach (char c in enumMemberName)
            {
                if (char.IsUpper(c))
                {
                    result.Append(" ").Append(char.ToLower(c));
                }
                else
                {
                    result.Append(c);
                }
            }

            return(result.ToString());
        }
コード例 #3
0
ファイル: SourceUnit.cs プロジェクト: fossabot/Axion
 internal void Blame(BlameType type, Position start, Position end)
 {
     Blames.Add(new LanguageException(type, Spec.Blames[type], start, end));
 }
コード例 #4
0
ファイル: SourceUnit.cs プロジェクト: fossabot/Axion
 internal void Blame(BlameType type, SpannedRegion region)
 {
     Blame(type, region.Span.Start, region.Span.End);
 }