@@ -81,16 +81,10 @@ CompilerValue *ListBlocks::compileDeleteOfList(Compiler *compiler)
8181 }
8282 compiler->beginElseBranch ();
8383 {
84- CompilerValue *min = compiler->addConstValue (-1 );
8584 CompilerValue *max = compiler->addListSize (list);
8685 index = getListIndex (compiler, index, list, max);
8786 index = compiler->createSub (index, compiler->addConstValue (1 ));
88- cond = compiler->createAnd (compiler->createCmpGT (index, min), compiler->createCmpLT (index, max));
89- compiler->beginIfStatement (cond);
90- {
91- compiler->createListRemove (list, index);
92- }
93- compiler->endIf ();
87+ compiler->createListRemove (list, index);
9488 }
9589 compiler->endIf ();
9690 }
@@ -116,17 +110,11 @@ CompilerValue *ListBlocks::compileInsertAtList(Compiler *compiler)
116110
117111 if (list) {
118112 CompilerValue *index = compiler->addInput (" INDEX" );
119- CompilerValue *min = compiler->addConstValue (-1 );
120113 CompilerValue *max = compiler->createAdd (compiler->addListSize (list), compiler->addConstValue (1 ));
121114 index = getListIndex (compiler, index, list, max);
122115 index = compiler->createSub (index, compiler->addConstValue (1 ));
123- CompilerValue *cond = compiler->createAnd (compiler->createCmpGT (index, min), compiler->createCmpLT (index, max));
124- compiler->beginIfStatement (cond);
125- {
126- CompilerValue *item = compiler->addInput (" ITEM" );
127- compiler->createListInsert (list, index, item);
128- }
129- compiler->endIf ();
116+ CompilerValue *item = compiler->addInput (" ITEM" );
117+ compiler->createListInsert (list, index, item);
130118 }
131119
132120 return nullptr ;
@@ -139,17 +127,11 @@ CompilerValue *ListBlocks::compileReplaceItemOfList(Compiler *compiler)
139127
140128 if (list) {
141129 CompilerValue *index = compiler->addInput (" INDEX" );
142- CompilerValue *min = compiler->addConstValue (-1 );
143130 CompilerValue *max = compiler->addListSize (list);
144131 index = getListIndex (compiler, index, list, max);
145132 index = compiler->createSub (index, compiler->addConstValue (1 ));
146- CompilerValue *cond = compiler->createAnd (compiler->createCmpGT (index, min), compiler->createCmpLT (index, max));
147- compiler->beginIfStatement (cond);
148- {
149- CompilerValue *item = compiler->addInput (" ITEM" );
150- compiler->createListReplace (list, index, item);
151- }
152- compiler->endIf ();
133+ CompilerValue *item = compiler->addInput (" ITEM" );
134+ compiler->createListReplace (list, index, item);
153135 }
154136
155137 return nullptr ;
@@ -162,13 +144,10 @@ CompilerValue *ListBlocks::compileItemOfList(Compiler *compiler)
162144
163145 if (list) {
164146 CompilerValue *index = compiler->addInput (" INDEX" );
165- CompilerValue *min = compiler->addConstValue (-1 );
166147 CompilerValue *max = compiler->addListSize (list);
167148 index = getListIndex (compiler, index, list, max);
168149 index = compiler->createSub (index, compiler->addConstValue (1 ));
169- CompilerValue *cond = compiler->createAnd (compiler->createCmpGT (index, min), compiler->createCmpLT (index, max));
170- CompilerValue *item = compiler->addListItem (list, index);
171- return compiler->createSelect (cond, item, compiler->addConstValue (Value ()), Compiler::StaticType::Unknown);
150+ return compiler->addListItem (list, index);
172151 }
173152
174153 return nullptr ;
0 commit comments