Linter Demo Errors: 1Warnings: 0File: /home/fstrocco/Dart/dart/benchmark/markdown/lib/src/ast.dart library markdown.ast; typedef Node Resolver(String name); abstract class Node { void accept(NodeVisitor visitor); } class Element implements Node { final String tag; final List children; final Map attributes; Element(this.tag, this.children) : attributes = {}; Element.empty(this.tag) : children = null, attributes = {}; Element.withTag(this.tag) : children = [], attributes = {}; Element.text(this.tag, String text) : children = [new Text(text)], attributes = {}; bool get isEmpty => children == null; void accept(NodeVisitor visitor) { if (visitor.visitElementBefore(this)) { for (final child in children) child.accept(visitor); visitor.visitElementAfter(this); } } } class Text implements Node { final String text; Text(this.text); void accept(NodeVisitor visitor) => visitor.visitText(this); } abstract class NodeVisitor { void visitText(Text text); bool visitElementBefore(Element element); void visitElementAfter(Element element); }