From d4f04861391173216dc5b22a2860faa36d963405 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 30 May 2011 15:40:13 +0400 Subject: [PATCH] generate 'as' --- .../jet/codegen/ExpressionCodegen.java | 39 ++++++++++--------- .../jetbrains/jet/codegen/TypeInfoTest.java | 10 ++++- stdlib/src/jet/TypeCastException.java | 7 ++++ 3 files changed, 37 insertions(+), 19 deletions(-) create mode 100644 stdlib/src/jet/TypeCastException.java diff --git a/idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java b/idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java index 0fb9ca4fa47..8b01275db4b 100644 --- a/idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java +++ b/idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java @@ -7,7 +7,6 @@ import com.intellij.psi.tree.IElementType; import com.intellij.psi.util.PsiTreeUtil; import jet.IntRange; import jet.JetObject; -import jet.NoPatternMatchedException; import jet.Range; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.*; @@ -44,6 +43,7 @@ public class ExpressionCodegen extends JetVisitor { private static final String CLASS_RANGE = "jet/Range"; private static final String CLASS_INT_RANGE = "jet/IntRange"; private static final String CLASS_NO_PATTERN_MATCHED_EXCEPTION = "jet/NoPatternMatchedException"; + private static final String CLASS_TYPE_CAST_EXCEPTION = "jet/TypeCastException"; private static final String ITERABLE_ITERATOR_DESCRIPTOR = "()Ljava/util/Iterator;"; private static final String ITERATOR_HASNEXT_DESCRIPTOR = "()Z"; @@ -58,7 +58,6 @@ public class ExpressionCodegen extends JetVisitor { private static final Type RANGE_TYPE = Type.getType(Range.class); private static final Type INT_RANGE_TYPE = Type.getType(IntRange.class); private static final Type JET_OBJECT_TYPE = Type.getType(JetObject.class); - private static final Type NO_PATTERN_MATCHED_EXCEPTION_TYPE = Type.getType(NoPatternMatchedException.class); private final Stack