| Index: frog/leg/typechecker.dart
|
| diff --git a/frog/leg/typechecker.dart b/frog/leg/typechecker.dart
|
| index 55049a4686a0cbf590f746b3e884d3bb2e8e52eb..c3424c3f0c970031f54ef25e160cb291e4fb95db 100644
|
| --- a/frog/leg/typechecker.dart
|
| +++ b/frog/leg/typechecker.dart
|
| @@ -29,6 +29,12 @@ interface Type {
|
| Element get element();
|
| }
|
|
|
| +class TypeVariableType implements Type {
|
| + final SourceString name;
|
| + Element element;
|
| + TypeVariableType(this.name, [this.element]);
|
| +}
|
| +
|
| /**
|
| * A statement type tracks whether a statement returns or may return.
|
| */
|
| @@ -590,6 +596,10 @@ class TypeCheckerVisitor implements Visitor<Type> {
|
| return type;
|
| }
|
|
|
| + visitTypeVariable(TypeVariable node) {
|
| + return types.dynamicType;
|
| + }
|
| +
|
| Type visitVariableDefinitions(VariableDefinitions node) {
|
| Type type = analyzeWithDefault(node.type, types.dynamicType);
|
| if (type == types.voidType) {
|
|
|