@@ -798,6 +798,10 @@ object Objects:
798798 report.warning(" [Internal error] unexpected tree in selecting a function, fun = " + fun.code.show + Trace .show, fun.code)
799799 Bottom
800800
801+ case arr : OfArray =>
802+ report.warning(" [Internal error] unexpected tree in selecting an array, array = " + arr.show + Trace .show, Trace .position)
803+ Bottom
804+
801805 case Bottom =>
802806 if field.isStaticObject then ObjectRef (field.moduleClass.asClass)
803807 else Bottom
@@ -818,6 +822,9 @@ object Objects:
818822 case fun : Fun =>
819823 report.warning(" [Internal error] unexpected tree in assignment, fun = " + fun.code.show + Trace .show, Trace .position)
820824
825+ case arr : OfArray =>
826+ report.warning(" [Internal error] unexpected tree in assignment, array = " + arr.show + Trace .show, Trace .position)
827+
821828 case Cold =>
822829 report.warning(" Assigning to cold aliases is forbidden. Calling trace:\n " + Trace .show, Trace .position)
823830
@@ -854,7 +861,7 @@ object Objects:
854861 report.warning(" [Internal error] unexpected outer in instantiating a class, outer = " + outer.show + " , class = " + klass.show + " , " + Trace .show, Trace .position)
855862 Bottom
856863
857- case _ : Ref | _ : Cold .type | _ : Bottom .type =>
864+ case outer : ( Ref | Cold .type | Bottom .type ) =>
858865 if klass == defn.ArrayClass then
859866 val arr = OfArray (State .currentObject, summon[Regions .Data ])
860867 Heap .write(arr.addr, Bottom )
@@ -930,7 +937,7 @@ object Objects:
930937 case Cold =>
931938 report.warning(" Calling cold by-name alias. Call trace: \n " + Trace .show, Trace .position)
932939 Bottom
933- case _ : ValueSet | _ : Ref =>
940+ case _ : ValueSet | _ : Ref | _ : OfArray =>
934941 report.warning(" [Internal error] Unexpected by-name value " + value.show + " . Calling trace:\n " + Trace .show, Trace .position)
935942 Bottom
936943 else
0 commit comments