diff --git a/pkg/linter/lib/src/rules/document_ignores.dart b/pkg/linter/lib/src/rules/document_ignores.dart index 51c1cbfb0a8..b3022d30f9d 100644 --- a/pkg/linter/lib/src/rules/document_ignores.dart +++ b/pkg/linter/lib/src/rules/document_ignores.dart @@ -5,7 +5,10 @@ import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer/dart/ast/visitor.dart'; import 'package:analyzer/src/ignore_comments/ignore_info.dart' // ignore: implementation_imports - show CommentTokenExtension, CompilationUnitExtension, IgnoredDiagnosticComment; + show + CommentTokenExtension, + CompilationUnitExtension, + IgnoredDiagnosticComment; import 'package:analyzer/src/utilities/extensions/string.dart' // ignore: implementation_imports show IntExtension; @@ -25,19 +28,21 @@ class DocumentIgnores extends LintRule { NodeLintRegistry registry, LinterContext context, ) { - var visitor = _Visitor(this); + var visitor = _Visitor(this, context); registry.addCompilationUnit(this, visitor); } } class _Visitor extends SimpleAstVisitor { final LintRule rule; + final LinterContext context; - _Visitor(this.rule); + _Visitor(this.rule, this.context); @override void visitCompilationUnit(CompilationUnit node) { - var content = node.declaredFragment?.source.contents.data; + assert(context.currentUnit?.unit == node); + var content = context.currentUnit?.content; for (var comment in node.ignoreComments) { var ignoredElements = comment.ignoredElements; if (ignoredElements.isEmpty) { diff --git a/pkg/linter/lib/src/rules/lines_longer_than_80_chars.dart b/pkg/linter/lib/src/rules/lines_longer_than_80_chars.dart index 7bd8e96d753..49d6728769b 100644 --- a/pkg/linter/lib/src/rules/lines_longer_than_80_chars.dart +++ b/pkg/linter/lib/src/rules/lines_longer_than_80_chars.dart @@ -161,6 +161,8 @@ class _Visitor extends SimpleAstVisitor { var lineInfo = node.lineInfo; var lineCount = lineInfo.lineCount; var longLines = <_LineInfo>[]; + assert(context.currentUnit?.unit == node); + var content = context.currentUnit?.content; for (var i = 0; i < lineCount; i++) { var start = lineInfo.getOffsetOfLine(i); int end; @@ -170,7 +172,6 @@ class _Visitor extends SimpleAstVisitor { end = lineInfo.getOffsetOfLine(i + 1) - 1; var length = end - start; if (length > 80) { - var content = node.declaredFragment?.source.contents.data; if (content != null && content[end] == _lf && content[end - 1] == _cr) {