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;