Minor: Inject builtins into DataFlowAnalyzer
This commit is contained in:
@@ -50,13 +50,16 @@ public class DataFlowAnalyzer {
|
|||||||
|
|
||||||
private final Iterable<? extends AdditionalTypeChecker> additionalTypeCheckers;
|
private final Iterable<? extends AdditionalTypeChecker> additionalTypeCheckers;
|
||||||
private final ConstantExpressionEvaluator constantExpressionEvaluator;
|
private final ConstantExpressionEvaluator constantExpressionEvaluator;
|
||||||
|
private final KotlinBuiltIns builtIns;
|
||||||
|
|
||||||
public DataFlowAnalyzer(
|
public DataFlowAnalyzer(
|
||||||
@NotNull Iterable<? extends AdditionalTypeChecker> additionalTypeCheckers,
|
@NotNull Iterable<? extends AdditionalTypeChecker> additionalTypeCheckers,
|
||||||
@NotNull ConstantExpressionEvaluator constantExpressionEvaluator
|
@NotNull ConstantExpressionEvaluator constantExpressionEvaluator,
|
||||||
|
@NotNull KotlinBuiltIns builtIns
|
||||||
) {
|
) {
|
||||||
this.additionalTypeCheckers = additionalTypeCheckers;
|
this.additionalTypeCheckers = additionalTypeCheckers;
|
||||||
this.constantExpressionEvaluator = constantExpressionEvaluator;
|
this.constantExpressionEvaluator = constantExpressionEvaluator;
|
||||||
|
this.builtIns = builtIns;
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -225,7 +228,7 @@ public class DataFlowAnalyzer {
|
|||||||
|
|
||||||
public void recordExpectedType(@NotNull BindingTrace trace, @NotNull JetExpression expression, @NotNull JetType expectedType) {
|
public void recordExpectedType(@NotNull BindingTrace trace, @NotNull JetExpression expression, @NotNull JetType expectedType) {
|
||||||
if (expectedType != NO_EXPECTED_TYPE) {
|
if (expectedType != NO_EXPECTED_TYPE) {
|
||||||
JetType normalizeExpectedType = expectedType == UNIT_EXPECTED_TYPE ? KotlinBuiltIns.getInstance().getUnitType() : expectedType;
|
JetType normalizeExpectedType = expectedType == UNIT_EXPECTED_TYPE ? builtIns.getUnitType() : expectedType;
|
||||||
trace.record(BindingContext.EXPECTED_EXPRESSION_TYPE, expression, normalizeExpectedType);
|
trace.record(BindingContext.EXPECTED_EXPRESSION_TYPE, expression, normalizeExpectedType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -236,7 +239,7 @@ public class DataFlowAnalyzer {
|
|||||||
context.trace.report(EXPECTED_TYPE_MISMATCH.on(expression, context.expectedType));
|
context.trace.report(EXPECTED_TYPE_MISMATCH.on(expression, context.expectedType));
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return KotlinBuiltIns.getInstance().getUnitType();
|
return builtIns.getUnitType();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
|||||||
Reference in New Issue
Block a user