@@ -795,6 +795,10 @@ object Objects:
795795 report.warning(" [Internal error] unexpected tree in selecting a function, fun = " + fun.code.show + Trace .show, fun.code)
796796 Bottom
797797
798+ case arr : OfArray =>
799+ report.warning(" [Internal error] unexpected tree in selecting an array, array = " + arr.show + Trace .show, Trace .position)
800+ Bottom
801+
798802 case Bottom =>
799803 if field.isStaticObject then ObjectRef (field.moduleClass.asClass)
800804 else Bottom
@@ -815,6 +819,9 @@ object Objects:
815819 case fun : Fun =>
816820 report.warning(" [Internal error] unexpected tree in assignment, fun = " + fun.code.show + Trace .show, Trace .position)
817821
822+ case arr : OfArray =>
823+ report.warning(" [Internal error] unexpected tree in assignment, array = " + arr.show + Trace .show, Trace .position)
824+
818825 case Cold =>
819826 report.warning(" Assigning to cold aliases is forbidden. Calling trace:\n " + Trace .show, Trace .position)
820827
@@ -851,7 +858,7 @@ object Objects:
851858 report.warning(" [Internal error] unexpected outer in instantiating a class, outer = " + outer.show + " , class = " + klass.show + " , " + Trace .show, Trace .position)
852859 Bottom
853860
854- case _ : Ref | _ : Cold .type | _ : Bottom .type =>
861+ case outer : ( Ref | Cold .type | Bottom .type ) =>
855862 if klass == defn.ArrayClass then
856863 val arr = OfArray (State .currentObject, summon[Regions .Data ])
857864 Heap .write(arr.addr, Bottom )
@@ -931,7 +938,7 @@ object Objects:
931938 case Cold =>
932939 report.warning(" Calling cold by-name alias. Call trace: \n " + Trace .show, Trace .position)
933940 Bottom
934- case _ : ValueSet | _ : Ref =>
941+ case _ : ValueSet | _ : Ref | _ : OfArray =>
935942 report.warning(" [Internal error] Unexpected by-name value " + value.show + " . Calling trace:\n " + Trace .show, Trace .position)
936943 Bottom
937944 else
0 commit comments