@@ -821,12 +821,14 @@ FlowGraph* FlowGraphBuilder::BuildGraphOfRecognizedMethod(
821821 break ;
822822#endif // !defined(TARGET_ARCH_DBC)
823823 case MethodRecognizer::kObjectEquals :
824+ ASSERT (function.NumParameters () == 2 );
824825 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
825826 body += LoadLocal (parsed_function_->RawParameterVariable (1 ));
826827 body += StrictCompare (Token::kEQ_STRICT );
827828 break ;
828829 case MethodRecognizer::kStringBaseLength :
829830 case MethodRecognizer::kStringBaseIsEmpty :
831+ ASSERT (function.NumParameters () == 1 );
830832 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
831833 body += LoadNativeField (Slot::String_length ());
832834 if (kind == MethodRecognizer::kStringBaseIsEmpty ) {
@@ -835,40 +837,49 @@ FlowGraph* FlowGraphBuilder::BuildGraphOfRecognizedMethod(
835837 }
836838 break ;
837839 case MethodRecognizer::kGrowableArrayLength :
840+ ASSERT (function.NumParameters () == 1 );
838841 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
839842 body += LoadNativeField (Slot::GrowableObjectArray_length ());
840843 break ;
841844 case MethodRecognizer::kObjectArrayLength :
842845 case MethodRecognizer::kImmutableArrayLength :
846+ ASSERT (function.NumParameters () == 1 );
843847 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
844848 body += LoadNativeField (Slot::Array_length ());
845849 break ;
846850 case MethodRecognizer::kTypedListLength :
847851 case MethodRecognizer::kTypedListViewLength :
848852 case MethodRecognizer::kByteDataViewLength :
853+ ASSERT (function.NumParameters () == 1 );
849854 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
850855 body += LoadNativeField (Slot::TypedDataBase_length ());
851856 break ;
852857 case MethodRecognizer::kByteDataViewOffsetInBytes :
853858 case MethodRecognizer::kTypedDataViewOffsetInBytes :
859+ ASSERT (function.NumParameters () == 1 );
854860 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
855861 body += LoadNativeField (Slot::TypedDataView_offset_in_bytes ());
856862 break ;
857863 case MethodRecognizer::kByteDataViewTypedData :
858864 case MethodRecognizer::kTypedDataViewTypedData :
865+ ASSERT (function.NumParameters () == 1 );
859866 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
860867 body += LoadNativeField (Slot::TypedDataView_data ());
861868 break ;
862869 case MethodRecognizer::kClassIDgetID :
870+ ASSERT (function.NumParameters () == 1 );
863871 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
864872 body += LoadClassId ();
865873 break ;
866874 case MethodRecognizer::kGrowableArrayCapacity :
875+ ASSERT (function.NumParameters () == 1 );
867876 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
868877 body += LoadNativeField (Slot::GrowableObjectArray_data ());
869878 body += LoadNativeField (Slot::Array_length ());
870879 break ;
871880 case MethodRecognizer::kListFactory : {
881+ ASSERT (function.IsFactory () && (function.NumParameters () == 2 ) &&
882+ function.HasOptionalParameters ());
872883 // factory List<E>([int length]) {
873884 // return (:arg_desc.positional_count == 2) ? new _List<E>(length)
874885 // : new _GrowableList<E>(0);
@@ -933,37 +944,44 @@ FlowGraph* FlowGraphBuilder::BuildGraphOfRecognizedMethod(
933944 break ;
934945 }
935946 case MethodRecognizer::kObjectArrayAllocate :
947+ ASSERT (function.IsFactory () && (function.NumParameters () == 2 ));
936948 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
937949 body += LoadLocal (parsed_function_->RawParameterVariable (1 ));
938950 body += CreateArray ();
939951 break ;
940952 case MethodRecognizer::kLinkedHashMap_getIndex :
953+ ASSERT (function.NumParameters () == 1 );
941954 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
942955 body += LoadNativeField (Slot::LinkedHashMap_index ());
943956 break ;
944957 case MethodRecognizer::kLinkedHashMap_setIndex :
958+ ASSERT (function.NumParameters () == 2 );
945959 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
946960 body += LoadLocal (parsed_function_->RawParameterVariable (1 ));
947961 body += StoreInstanceField (TokenPosition::kNoSource ,
948962 Slot::LinkedHashMap_index ());
949963 body += NullConstant ();
950964 break ;
951965 case MethodRecognizer::kLinkedHashMap_getData :
966+ ASSERT (function.NumParameters () == 1 );
952967 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
953968 body += LoadNativeField (Slot::LinkedHashMap_data ());
954969 break ;
955970 case MethodRecognizer::kLinkedHashMap_setData :
971+ ASSERT (function.NumParameters () == 2 );
956972 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
957973 body += LoadLocal (parsed_function_->RawParameterVariable (1 ));
958974 body += StoreInstanceField (TokenPosition::kNoSource ,
959975 Slot::LinkedHashMap_data ());
960976 body += NullConstant ();
961977 break ;
962978 case MethodRecognizer::kLinkedHashMap_getHashMask :
979+ ASSERT (function.NumParameters () == 1 );
963980 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
964981 body += LoadNativeField (Slot::LinkedHashMap_hash_mask ());
965982 break ;
966983 case MethodRecognizer::kLinkedHashMap_setHashMask :
984+ ASSERT (function.NumParameters () == 2 );
967985 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
968986 body += LoadLocal (parsed_function_->RawParameterVariable (1 ));
969987 body +=
@@ -972,10 +990,12 @@ FlowGraph* FlowGraphBuilder::BuildGraphOfRecognizedMethod(
972990 body += NullConstant ();
973991 break ;
974992 case MethodRecognizer::kLinkedHashMap_getUsedData :
993+ ASSERT (function.NumParameters () == 1 );
975994 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
976995 body += LoadNativeField (Slot::LinkedHashMap_used_data ());
977996 break ;
978997 case MethodRecognizer::kLinkedHashMap_setUsedData :
998+ ASSERT (function.NumParameters () == 2 );
979999 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
9801000 body += LoadLocal (parsed_function_->RawParameterVariable (1 ));
9811001 body +=
@@ -984,10 +1004,12 @@ FlowGraph* FlowGraphBuilder::BuildGraphOfRecognizedMethod(
9841004 body += NullConstant ();
9851005 break ;
9861006 case MethodRecognizer::kLinkedHashMap_getDeletedKeys :
1007+ ASSERT (function.NumParameters () == 1 );
9871008 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
9881009 body += LoadNativeField (Slot::LinkedHashMap_deleted_keys ());
9891010 break ;
9901011 case MethodRecognizer::kLinkedHashMap_setDeletedKeys :
1012+ ASSERT (function.NumParameters () == 2 );
9911013 body += LoadLocal (parsed_function_->RawParameterVariable (0 ));
9921014 body += LoadLocal (parsed_function_->RawParameterVariable (1 ));
9931015 body += StoreInstanceField (TokenPosition::kNoSource ,
@@ -996,6 +1018,7 @@ FlowGraph* FlowGraphBuilder::BuildGraphOfRecognizedMethod(
9961018 body += NullConstant ();
9971019 break ;
9981020 case MethodRecognizer::kFfiAbi :
1021+ ASSERT (function.NumParameters () == 0 );
9991022 body += IntConstant (static_cast <int64_t >(compiler::ffi::TargetAbi ()));
10001023 break ;
10011024 default : {
@@ -1019,6 +1042,7 @@ Fragment FlowGraphBuilder::BuildTypedDataViewFactoryConstructor(
10191042 ASSERT (class_table->HasValidClassAt (cid));
10201043 const auto & view_class = Class::ZoneHandle (H.zone (), class_table->At (cid));
10211044
1045+ ASSERT (function.IsFactory () && (function.NumParameters () == 4 ));
10221046 LocalVariable* typed_data = parsed_function_->RawParameterVariable (1 );
10231047 LocalVariable* offset_in_bytes = parsed_function_->RawParameterVariable (2 );
10241048 LocalVariable* length = parsed_function_->RawParameterVariable (3 );
0 commit comments