DEADSOFTWARE

Добавлен оператор IS
[dsw-obn.git] / src / backends / jvm / generator-jvm.c
index ca0f88565536d1ae11ce2022c4713099fb9bcf0c..e6a26bdbb3d8230733f43e5f4232869f3fea786d 100644 (file)
@@ -1755,6 +1755,13 @@ push_operator(gen_proc_t * p, oberon_oper_t * oper)
                case OP_LOGIC_AND:
                        jvm_generate_logical_and(p, oper -> left, oper -> right);
                        break;
+
+               case OP_IS:
+                       preq = oper -> right -> result;
+                       char * cname = jvm_get_class_full_name(preq);
+                       push_expr(p, oper -> left);
+                       jvm_generate(p, 1, 1, "instanceof %s", cname);
+                       break;
                default:
                        gen_error("push_oper: unk op %i", op);
                        break;