bug fixes
diff --git a/angular_analyzer_plugin/lib/src/resolver.dart b/angular_analyzer_plugin/lib/src/resolver.dart index 8583b14..f0594e3 100644 --- a/angular_analyzer_plugin/lib/src/resolver.dart +++ b/angular_analyzer_plugin/lib/src/resolver.dart
@@ -1645,7 +1645,8 @@ // half-complete-code case: ensure the expression is actually there if (attribute.expression != null && !typeSystem.isAssignableTo( - attribute.expression.staticType, typeProvider.boolType)) { + attribute.expression.staticType ?? typeProvider.dynamicType, + typeProvider.boolType)) { errorListener.onError(new AnalysisError( templateSource, attribute.valueOffset, @@ -1787,7 +1788,8 @@ // half-complete-code case: ensure the expression is actually there if (attribute.expression != null && !typeSystem.isAssignableTo( - attribute.expression.staticType, typeProvider.numType)) { + attribute.expression.staticType ?? typeProvider.dynamicType, + typeProvider.numType)) { errorListener.onError(new AnalysisError( templateSource, attribute.valueOffset, @@ -1830,13 +1832,17 @@ // half-complete-code case: ensure the expression is actually there if (attribute.expression != null && !typeSystem.isAssignableTo( - eventType, attribute.expression.staticType)) { + eventType, + attribute.expression.staticType ?? + typeProvider.dynamicType)) { errorListener.onError(new AnalysisError( templateSource, attribute.valueOffset, attribute.value.length, - AngularWarningCode.TWO_WAY_BINDING_OUTPUT_TYPE_ERROR, - [output.eventType, attribute.expression.staticType])); + AngularWarningCode.TWO_WAY_BINDING_OUTPUT_TYPE_ERROR, [ + output.eventType, + attribute.expression.staticType ?? typeProvider.dynamicType + ])); } } } @@ -1858,7 +1864,7 @@ ExpressionBoundAttribute attr, InputElement input) { // half-complete-code case: ensure the expression is actually there if (attr.expression != null) { - final attrType = attr.expression.staticType; + final attrType = attr.expression.staticType ?? typeProvider.dynamicType; final inputType = input.setterType; final securityContext = input.securityContext;