Merge pull request #16 from kevmoo/type_issue_15

Fix type issues, lock down types (breaking changes), bumped to 0.7.0
diff --git a/lib/src/inline_parser.dart b/lib/src/inline_parser.dart
index b46f5f9..8bab6ba 100644
--- a/lib/src/inline_parser.dart
+++ b/lib/src/inline_parser.dart
@@ -11,7 +11,7 @@
 /// Maintains the internal state needed to parse inline span elements in
 /// markdown.
 class InlineParser {
-  static List<InlineSyntax>  defaultSyntaxes = <InlineSyntax>[
+  static List<InlineSyntax> _defaultSyntaxes = <InlineSyntax>[
     // This first regexp matches plain text to accelerate parsing.  It must
     // be written so that it does not match any prefix of any following
     // syntax.  Most markdown is plain text, so it is faster to match one
@@ -64,7 +64,7 @@
   /// The markdown document this parser is parsing.
   final Document document;
 
-  List<InlineSyntax> syntaxes;
+  final List<InlineSyntax> syntaxes = <InlineSyntax>[];
 
   /// The current read position.
   int pos = 0;
@@ -78,12 +78,9 @@
     : _stack = <TagState>[] {
     /// User specified syntaxes will be the first syntaxes to be evaluated.
     if (document.inlineSyntaxes != null) {
-      syntaxes = [];
       syntaxes.addAll(document.inlineSyntaxes);
-      syntaxes.addAll(defaultSyntaxes);
-    } else {
-      syntaxes = defaultSyntaxes;
     }
+    syntaxes.addAll(_defaultSyntaxes);
     // Custom link resolvers goes after the generic text syntax.
     syntaxes.insertAll(1, [
       new LinkSyntax(linkResolver: document.linkResolver),
@@ -125,12 +122,12 @@
     return _stack[0].close(this, null);
   }
 
-  writeText() {
+  void writeText() {
     writeTextRange(start, pos);
     start = pos;
   }
 
-  writeTextRange(int start, int end) {
+  void writeTextRange(int start, int end) {
     if (end > start) {
       final text = source.substring(start, end);
       final nodes = _stack.last.children;
@@ -145,7 +142,7 @@
     }
   }
 
-  addNode(Node node) {
+  void addNode(Node node) {
     _stack.last.children.add(node);
   }
 
@@ -191,7 +188,7 @@
 
 /// Matches stuff that should just be passed through as straight text.
 class TextSyntax extends InlineSyntax {
-  String substitute;
+  final String substitute;
   TextSyntax(String pattern, {String sub})
     : super(pattern),
       substitute = sub;
@@ -252,7 +249,7 @@
 
 /// Matches inline links like `[blah] [id]` and `[blah] (url)`.
 class LinkSyntax extends TagSyntax {
-  Resolver linkResolver;
+  final Resolver linkResolver;
 
   /// The regex for the end of a link needs to handle both reference style and
   /// inline styles as well as optional titles for inline links. To make that
@@ -274,7 +271,7 @@
   LinkSyntax({this.linkResolver, String pattern: r'\['})
     : super(pattern, end: linkPattern);
 
-  Element createNode(InlineParser parser, Match match, TagState state) {
+  Node createNode(InlineParser parser, Match match, TagState state) {
     // If we didn't match refLink or inlineLink, then it means there was
     // nothing after the first square bracket, so it isn't a normal markdown
     // link at all. Instead, we allow users of the library to specify a special
@@ -334,7 +331,7 @@
   }
 
   bool onMatchEnd(InlineParser parser, Match match, TagState state) {
-    Element node = createNode(parser, match, state);
+    Node node = createNode(parser, match, state);
     if (node == null) return false;
     parser.addNode(node);
     return true;
@@ -344,7 +341,7 @@
 /// Matches images like `![alternate text](url "optional title")` and
 /// `![alternate text][url reference]`.
 class ImageLinkSyntax extends LinkSyntax {
-  Resolver linkResolver;
+  final Resolver linkResolver;
   ImageLinkSyntax({this.linkResolver})
     : super(pattern: r'!\[');
 
@@ -385,10 +382,10 @@
 /// maintains a stack of these so it can handle nested tags.
 class TagState {
   /// The point in the original source where this tag started.
-  int startPos;
+  final int startPos;
 
   /// The point in the original source where open tag ended.
-  int endPos;
+  final int endPos;
 
   /// The syntax that created this node.
   final TagSyntax syntax;
diff --git a/pubspec.yaml b/pubspec.yaml
index d390e75..e07d943 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: markdown
-version: 0.6.0+1
+version: 0.7.0
 author: Dart Team <misc@dartlang.org>
 description: A library for converting markdown to HTML.
 homepage: https://github.com/dpeek/dart-markdown