diff --git a/.travis.yml b/.travis.yml
index b7324e9..50ef28c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,7 +2,7 @@
 
 dart:
   - dev
-  - stable
+  - 2.0.0
 
 dart_task:
   - test
diff --git a/analysis_options.yaml b/analysis_options.yaml
index 6b149b2..d76cc45 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -52,6 +52,7 @@
     - prefer_const_constructors
     - prefer_contains
     - prefer_equal_for_default_values
+    - prefer_generic_function_type_aliases
     #- prefer_final_fields
     #- prefer_final_locals
     - prefer_initializing_formals
@@ -62,7 +63,6 @@
     #- prefer_typing_uninitialized_variables
     - recursive_getters
     - slash_for_doc_comments
-    - super_goes_last
     - test_types_in_equals
     - throw_in_finally
     - type_init_formals
diff --git a/example/FluidMotion/dart/FluidMotion.dart b/example/FluidMotion/dart/FluidMotion.dart
index e8a581f..d01e765 100644
--- a/example/FluidMotion/dart/FluidMotion.dart
+++ b/example/FluidMotion/dart/FluidMotion.dart
@@ -209,7 +209,9 @@
   }
 
   void addFields(Float64List x, Float64List s, double dt) {
-    for (var i = 0; i < size; i++) x[i] += dt * s[i];
+    for (var i = 0; i < size; i++) {
+      x[i] += dt * s[i];
+    }
   }
 
   void set_bnd(int b, Float64List x) {
@@ -273,7 +275,7 @@
           var nextRow = (j + 1) * rowSize;
           var lastX = x[currentRow];
           ++currentRow;
-          for (var i = 1; i <= width; i++)
+          for (var i = 1; i <= width; i++) {
             lastX = x[currentRow] = (x0[currentRow] +
                     a *
                         (lastX +
@@ -281,6 +283,7 @@
                             x[++lastRow] +
                             x[++nextRow])) *
                 invC;
+          }
         }
         set_bnd(b, x);
       }
diff --git a/example/Richards.dart b/example/Richards.dart
index 2cba39e..3cbae66 100644
--- a/example/Richards.dart
+++ b/example/Richards.dart
@@ -424,7 +424,9 @@
     link = null;
     if (queue == null) return this;
     Packet peek, next = queue;
-    while ((peek = next.link) != null) next = peek;
+    while ((peek = next.link) != null) {
+      next = peek;
+    }
     next.link = this;
     return queue;
   }
