예제 #1
0
        private SolutionStyleError ReportWhenExistExcessLineBetweenDeclaration(BracesPair bracesPair)
        {
            var openBraceLine   = GetStartLine(bracesPair.Open);
            var declarationLine = GetEndDeclaraionLine(bracesPair.Open.Parent);

            if (openBraceLine == declarationLine || declarationLine == -1)
            {
                return(null);
            }

            if (declarationLine + 1 != openBraceLine)
            {
                return(new SolutionStyleError(StyleErrorType.ExcessLines03, bracesPair.Open));
            }

            return(null);
        }
예제 #2
0
        private SolutionStyleError ReportWhenNotExistLineBetweenBlocks(BracesPair bracesPair)
        {
            var closeBraceLine = GetStartLine(bracesPair.Close);
            var openBraceLine  = GetStartLine(bracesPair.Open);

            var nextSyntaxNode = GetNextNode(bracesPair.Open.Parent);

            if (nextSyntaxNode == null || nextSyntaxNode is StatementSyntax)
            {
                return(null);
            }
            var nextSyntaxNodeLine = GetStartLine(nextSyntaxNode);

            if (closeBraceLine + 1 == nextSyntaxNodeLine && closeBraceLine != openBraceLine)
            {
                return(new SolutionStyleError(StyleErrorType.ExcessLines04, bracesPair.Close));
            }

            return(null);
        }
예제 #3
0
        private IEnumerable <SolutionStyleError> ReportWhenExistExcessLineBetweenBraces(BracesPair bracesPair)
        {
            var openBraceLine  = GetStartLine(bracesPair.Open);
            var closeBraceLine = GetStartLine(bracesPair.Close);
            var statements     = GetStatements(bracesPair.Open.Parent);

            if (statements.Length == 0)
            {
                yield break;
            }

            var firstStatement = statements.First();
            var lastStatement  = statements.Last();

            var firstStatementLine = GetStartLine(firstStatement);
            var lastStatementLine  = GetEndLine(lastStatement);

            if (openBraceLine != firstStatementLine &&
                openBraceLine + 1 != firstStatementLine &&
                !IsCommentOrRegionOrDisabledText(bracesPair.Open.Parent, openBraceLine + 1))
            {
                yield return(new SolutionStyleError(StyleErrorType.ExcessLines01, bracesPair.Open));
            }

            if (closeBraceLine != lastStatementLine &&
                closeBraceLine - 1 != lastStatementLine &&
                !IsCommentOrRegionOrDisabledText(bracesPair.Open.Parent, closeBraceLine - 1))
            {
                yield return(new SolutionStyleError(StyleErrorType.ExcessLines02, bracesPair.Close));
            }
        }