diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java index dc5bc7c00ead6..c369aa4fa35f9 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java @@ -177,6 +177,13 @@ public StackValue genQualified(StackValue receiver, JetElement selector) { } public StackValue gen(JetElement expr) { + if (expr instanceof JetExpression) { + JetExpression expression = (JetExpression) expr; + CompileTimeConstant constant = bindingContext.get(BindingContext.COMPILE_TIME_VALUE, expression); + if (constant != null) { + return StackValue.constant(constant.getValue(), expressionType(expression)); + } + } return genQualified(StackValue.none(), expr); }