partial review for const and final

I've been unable to run tests, so I'd love someone to take a look there.
Case 1: works because both `isTrue` and `isFalse` are local variables.

Case 2: works because you are explicitly setting `this.a` and `this.b`


try 
```
void main() {
  Sample s = new Sample();
  print(s.num);
  Sample s2 = new Sample2();
  print(s2.num);
}

class Sample {
  final int num;
  Sample({int this.num: "123"});
}

class Sample2 {
  final int num;
  Sample2({int num: "123"});
}
```

output:

```
123
null
```