Rename CompileTimeConstantResolver to CompileTimeConstantChecker
This commit is contained in:
@@ -43,7 +43,6 @@ import org.jetbrains.jet.lang.resolve.calls.util.CallMaker;
|
|||||||
import org.jetbrains.jet.lang.resolve.calls.util.ExpressionAsFunctionDescriptor;
|
import org.jetbrains.jet.lang.resolve.calls.util.ExpressionAsFunctionDescriptor;
|
||||||
import org.jetbrains.jet.lang.resolve.constants.BooleanValue;
|
import org.jetbrains.jet.lang.resolve.constants.BooleanValue;
|
||||||
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant;
|
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant;
|
||||||
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstantResolver;
|
|
||||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||||
import org.jetbrains.jet.lang.resolve.scopes.receivers.ExpressionReceiver;
|
import org.jetbrains.jet.lang.resolve.scopes.receivers.ExpressionReceiver;
|
||||||
import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue;
|
import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue;
|
||||||
|
|||||||
+2
-2
@@ -87,7 +87,7 @@ public class ConstantExpressionEvaluator private (val trace: BindingTrace) : Jet
|
|||||||
JetNodeTypes.INTEGER_CONSTANT -> parseLong(text)
|
JetNodeTypes.INTEGER_CONSTANT -> parseLong(text)
|
||||||
JetNodeTypes.FLOAT_CONSTANT -> parseFloatingLiteral(text)
|
JetNodeTypes.FLOAT_CONSTANT -> parseFloatingLiteral(text)
|
||||||
JetNodeTypes.BOOLEAN_CONSTANT -> parseBoolean(text)
|
JetNodeTypes.BOOLEAN_CONSTANT -> parseBoolean(text)
|
||||||
JetNodeTypes.CHARACTER_CONSTANT -> CompileTimeConstantResolver.parseChar(expression)
|
JetNodeTypes.CHARACTER_CONSTANT -> CompileTimeConstantChecker.parseChar(expression)
|
||||||
JetNodeTypes.NULL -> null
|
JetNodeTypes.NULL -> null
|
||||||
else -> throw IllegalArgumentException("Unsupported constant: " + expression)
|
else -> throw IllegalArgumentException("Unsupported constant: " + expression)
|
||||||
}
|
}
|
||||||
@@ -572,7 +572,7 @@ private fun getIntegerValue(value: Long, expectedType: JetType): CompileTimeCons
|
|||||||
else -> LongValue(value)
|
else -> LongValue(value)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CompileTimeConstantResolver.noExpectedTypeOrError(expectedType)) {
|
if (CompileTimeConstantChecker.noExpectedTypeOrError(expectedType)) {
|
||||||
return IntegerValueTypeConstant(value)
|
return IntegerValueTypeConstant(value)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -29,10 +29,6 @@ import org.jetbrains.jet.lang.resolve.calls.context.CallResolutionContext;
|
|||||||
import org.jetbrains.jet.lang.resolve.calls.context.CheckValueArgumentsMode;
|
import org.jetbrains.jet.lang.resolve.calls.context.CheckValueArgumentsMode;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.context.ResolutionContext;
|
import org.jetbrains.jet.lang.resolve.calls.context.ResolutionContext;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.model.MutableDataFlowInfoForArguments;
|
import org.jetbrains.jet.lang.resolve.calls.model.MutableDataFlowInfoForArguments;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCallImpl;
|
|
||||||
import org.jetbrains.jet.lang.resolve.calls.model.ResolvedValueArgument;
|
|
||||||
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant;
|
|
||||||
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstantResolver;
|
|
||||||
import org.jetbrains.jet.lang.resolve.constants.NumberValueTypeConstructor;
|
import org.jetbrains.jet.lang.resolve.constants.NumberValueTypeConstructor;
|
||||||
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
||||||
import org.jetbrains.jet.lang.types.JetType;
|
import org.jetbrains.jet.lang.types.JetType;
|
||||||
|
|||||||
+2
-2
@@ -37,7 +37,7 @@ import java.util.Set;
|
|||||||
|
|
||||||
import static org.jetbrains.jet.lang.diagnostics.Errors.*;
|
import static org.jetbrains.jet.lang.diagnostics.Errors.*;
|
||||||
|
|
||||||
public class CompileTimeConstantResolver {
|
public class CompileTimeConstantChecker {
|
||||||
private static final Set<DiagnosticFactory> errorsThatDependOnExpectedType =
|
private static final Set<DiagnosticFactory> errorsThatDependOnExpectedType =
|
||||||
Sets.<DiagnosticFactory>newHashSet(CONSTANT_EXPECTED_TYPE_MISMATCH, NULL_FOR_NONNULL_TYPE);
|
Sets.<DiagnosticFactory>newHashSet(CONSTANT_EXPECTED_TYPE_MISMATCH, NULL_FOR_NONNULL_TYPE);
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@ public class CompileTimeConstantResolver {
|
|||||||
private final BindingTrace trace;
|
private final BindingTrace trace;
|
||||||
private final boolean checkOnlyErrorsThatDependOnExpectedType;
|
private final boolean checkOnlyErrorsThatDependOnExpectedType;
|
||||||
|
|
||||||
public CompileTimeConstantResolver(@NotNull BindingTrace trace, boolean checkOnlyErrorsThatDependOnExpectedType) {
|
public CompileTimeConstantChecker(@NotNull BindingTrace trace, boolean checkOnlyErrorsThatDependOnExpectedType) {
|
||||||
this.checkOnlyErrorsThatDependOnExpectedType = checkOnlyErrorsThatDependOnExpectedType;
|
this.checkOnlyErrorsThatDependOnExpectedType = checkOnlyErrorsThatDependOnExpectedType;
|
||||||
this.builtIns = KotlinBuiltIns.getInstance();
|
this.builtIns = KotlinBuiltIns.getInstance();
|
||||||
this.trace = trace;
|
this.trace = trace;
|
||||||
+5
-6
@@ -48,9 +48,8 @@ import org.jetbrains.jet.lang.resolve.calls.tasks.ResolutionCandidate;
|
|||||||
import org.jetbrains.jet.lang.resolve.calls.tasks.TracingStrategy;
|
import org.jetbrains.jet.lang.resolve.calls.tasks.TracingStrategy;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.util.CallMaker;
|
import org.jetbrains.jet.lang.resolve.calls.util.CallMaker;
|
||||||
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant;
|
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant;
|
||||||
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstantResolver;
|
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstantChecker;
|
||||||
import org.jetbrains.jet.lang.resolve.constants.NumberValueTypeConstant;
|
import org.jetbrains.jet.lang.resolve.constants.NumberValueTypeConstant;
|
||||||
import org.jetbrains.jet.lang.resolve.constants.NumberValueTypeConstructor;
|
|
||||||
import org.jetbrains.jet.lang.resolve.name.LabelName;
|
import org.jetbrains.jet.lang.resolve.name.LabelName;
|
||||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||||
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
||||||
@@ -73,7 +72,7 @@ import static org.jetbrains.jet.lang.diagnostics.Errors.*;
|
|||||||
import static org.jetbrains.jet.lang.resolve.BindingContext.*;
|
import static org.jetbrains.jet.lang.resolve.BindingContext.*;
|
||||||
import static org.jetbrains.jet.lang.resolve.DescriptorUtils.getStaticNestedClassesScope;
|
import static org.jetbrains.jet.lang.resolve.DescriptorUtils.getStaticNestedClassesScope;
|
||||||
import static org.jetbrains.jet.lang.resolve.calls.context.ContextDependency.INDEPENDENT;
|
import static org.jetbrains.jet.lang.resolve.calls.context.ContextDependency.INDEPENDENT;
|
||||||
import static org.jetbrains.jet.lang.resolve.constants.CompileTimeConstantResolver.ErrorCharValueWithDiagnostic;
|
import static org.jetbrains.jet.lang.resolve.constants.CompileTimeConstantChecker.ErrorCharValueWithDiagnostic;
|
||||||
import static org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue.NO_RECEIVER;
|
import static org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue.NO_RECEIVER;
|
||||||
import static org.jetbrains.jet.lang.types.TypeUtils.*;
|
import static org.jetbrains.jet.lang.types.TypeUtils.*;
|
||||||
import static org.jetbrains.jet.lang.types.expressions.ControlStructureTypingUtils.createCallForSpecialConstruction;
|
import static org.jetbrains.jet.lang.types.expressions.ControlStructureTypingUtils.createCallForSpecialConstruction;
|
||||||
@@ -124,8 +123,8 @@ public class BasicExpressionTypingVisitor extends ExpressionTypingVisitor {
|
|||||||
CompileTimeConstant<?> value = ConstantExpressionEvaluator.object$.evaluate(expression, context.trace, context.expectedType);
|
CompileTimeConstant<?> value = ConstantExpressionEvaluator.object$.evaluate(expression, context.trace, context.expectedType);
|
||||||
|
|
||||||
if (!(value instanceof NumberValueTypeConstant)) {
|
if (!(value instanceof NumberValueTypeConstant)) {
|
||||||
CompileTimeConstantResolver compileTimeConstantResolver = context.getCompileTimeConstantResolver();
|
CompileTimeConstantChecker compileTimeConstantChecker = context.getCompileTimeConstantChecker();
|
||||||
boolean hasError = compileTimeConstantResolver.checkConstantExpressionType(value, expression, context.expectedType);
|
boolean hasError = compileTimeConstantChecker.checkConstantExpressionType(value, expression, context.expectedType);
|
||||||
if (hasError) {
|
if (hasError) {
|
||||||
IElementType elementType = expression.getNode().getElementType();
|
IElementType elementType = expression.getNode().getElementType();
|
||||||
return JetTypeInfo.create(getDefaultType(elementType), context.dataFlowInfo);
|
return JetTypeInfo.create(getDefaultType(elementType), context.dataFlowInfo);
|
||||||
@@ -1189,7 +1188,7 @@ public class BasicExpressionTypingVisitor extends ExpressionTypingVisitor {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void visitEscapeStringTemplateEntry(@NotNull JetEscapeStringTemplateEntry entry) {
|
public void visitEscapeStringTemplateEntry(@NotNull JetEscapeStringTemplateEntry entry) {
|
||||||
CompileTimeConstant<?> compileTimeConstant = CompileTimeConstantResolver.escapedStringToCharValue(entry.getText(), entry);
|
CompileTimeConstant<?> compileTimeConstant = CompileTimeConstantChecker.escapedStringToCharValue(entry.getText(), entry);
|
||||||
if (compileTimeConstant instanceof ErrorCharValueWithDiagnostic) {
|
if (compileTimeConstant instanceof ErrorCharValueWithDiagnostic) {
|
||||||
context.trace.report(((ErrorCharValueWithDiagnostic) compileTimeConstant).getDiagnostic());
|
context.trace.report(((ErrorCharValueWithDiagnostic) compileTimeConstant).getDiagnostic());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ import org.jetbrains.jet.lang.resolve.calls.autocasts.DataFlowValue;
|
|||||||
import org.jetbrains.jet.lang.resolve.calls.autocasts.DataFlowValueFactory;
|
import org.jetbrains.jet.lang.resolve.calls.autocasts.DataFlowValueFactory;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.context.ResolutionContext;
|
import org.jetbrains.jet.lang.resolve.calls.context.ResolutionContext;
|
||||||
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant;
|
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant;
|
||||||
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstantResolver;
|
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstantChecker;
|
||||||
import org.jetbrains.jet.lang.resolve.constants.NumberValueTypeConstant;
|
import org.jetbrains.jet.lang.resolve.constants.NumberValueTypeConstant;
|
||||||
import org.jetbrains.jet.lang.types.JetType;
|
import org.jetbrains.jet.lang.types.JetType;
|
||||||
import org.jetbrains.jet.lang.types.JetTypeInfo;
|
import org.jetbrains.jet.lang.types.JetTypeInfo;
|
||||||
@@ -173,7 +173,7 @@ public class DataFlowUtils {
|
|||||||
if (value instanceof NumberValueTypeConstant) {
|
if (value instanceof NumberValueTypeConstant) {
|
||||||
value = EvaluatePackage.getCompileTimeConstantForNumberType(((NumberValueTypeConstant) value).getValue(), expectedType);
|
value = EvaluatePackage.getCompileTimeConstantForNumberType(((NumberValueTypeConstant) value).getValue(), expectedType);
|
||||||
}
|
}
|
||||||
new CompileTimeConstantResolver(trace, true).checkConstantExpressionType(value, (JetConstantExpression) expression, expectedType);
|
new CompileTimeConstantChecker(trace, true).checkConstantExpressionType(value, (JetConstantExpression) expression, expectedType);
|
||||||
return expressionType;
|
return expressionType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+6
-6
@@ -25,7 +25,7 @@ import org.jetbrains.jet.lang.resolve.calls.CallResolverExtension;
|
|||||||
import org.jetbrains.jet.lang.resolve.calls.autocasts.DataFlowInfo;
|
import org.jetbrains.jet.lang.resolve.calls.autocasts.DataFlowInfo;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.context.*;
|
import org.jetbrains.jet.lang.resolve.calls.context.*;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.results.OverloadResolutionResults;
|
import org.jetbrains.jet.lang.resolve.calls.results.OverloadResolutionResults;
|
||||||
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstantResolver;
|
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstantChecker;
|
||||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||||
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
||||||
import org.jetbrains.jet.lang.types.JetType;
|
import org.jetbrains.jet.lang.types.JetType;
|
||||||
@@ -75,7 +75,7 @@ public class ExpressionTypingContext extends ResolutionContext<ExpressionTypingC
|
|||||||
|
|
||||||
public final ExpressionTypingServices expressionTypingServices;
|
public final ExpressionTypingServices expressionTypingServices;
|
||||||
public final JetScope scopeForVisibility;
|
public final JetScope scopeForVisibility;
|
||||||
private CompileTimeConstantResolver compileTimeConstantResolver;
|
private CompileTimeConstantChecker compileTimeConstantChecker;
|
||||||
|
|
||||||
private ExpressionTypingContext(
|
private ExpressionTypingContext(
|
||||||
@NotNull ExpressionTypingServices expressionTypingServices,
|
@NotNull ExpressionTypingServices expressionTypingServices,
|
||||||
@@ -118,11 +118,11 @@ public class ExpressionTypingContext extends ResolutionContext<ExpressionTypingC
|
|||||||
|
|
||||||
///////////// LAZY ACCESSORS
|
///////////// LAZY ACCESSORS
|
||||||
|
|
||||||
public CompileTimeConstantResolver getCompileTimeConstantResolver() {
|
public CompileTimeConstantChecker getCompileTimeConstantChecker() {
|
||||||
if (compileTimeConstantResolver == null) {
|
if (compileTimeConstantChecker == null) {
|
||||||
compileTimeConstantResolver = new CompileTimeConstantResolver(trace, false);
|
compileTimeConstantChecker = new CompileTimeConstantChecker(trace, false);
|
||||||
}
|
}
|
||||||
return compileTimeConstantResolver;
|
return compileTimeConstantChecker;
|
||||||
}
|
}
|
||||||
|
|
||||||
////////// Call resolution utilities
|
////////// Call resolution utilities
|
||||||
|
|||||||
Reference in New Issue
Block a user