File tree Expand file tree Collapse file tree 2 files changed +22
-3
lines changed
src/ScriptEngine/Compiler Expand file tree Collapse file tree 2 files changed +22
-3
lines changed Original file line number Diff line number Diff line change @@ -287,15 +287,16 @@ protected override void VisitMethod(MethodNode methodNode)
287
287
methodInfo . SetRuntimeParameters ( entryPoint , GetVariableNames ( methodCtx ) ) ;
288
288
289
289
SymbolBinding binding ;
290
- try
290
+ if ( ! _ctx . TryFindMethodBinding ( signature . MethodName , out _ ) )
291
291
{
292
292
binding = _ctx . DefineMethod ( methodInfo . ToSymbol ( ) ) ;
293
293
}
294
- catch ( CompilerException )
294
+ else
295
295
{
296
296
AddError ( LocalizedErrors . DuplicateMethodDefinition ( signature . MethodName ) , signature . Location ) ;
297
297
binding = default ;
298
298
}
299
+
299
300
_module . MethodRefs . Add ( binding ) ;
300
301
_module . Methods . Add ( methodInfo ) ;
301
302
}
Original file line number Diff line number Diff line change 52
52
ВсеТесты.Добавить("ТестДолжен_ПроверитьИнформацияОбОшибкеВнеИсключения" );
53
53
ВсеТесты.Добавить("ТестДолжен_ПроверитьПередачуПараметровПоСсылке" );
54
54
ВсеТесты.Добавить("ТестДолжен_ПроверитьСравнениеНаБольшеМеньше" );
55
+ ВсеТесты.Добавить("ТестДолжен_ПроверитьНевозможностьПереопределенияГлобальногоКонтекста" );
55
56
56
57
Возврат ВсеТесты;
57
58
686
687
687
688
юТест.ПроверитьКодСОшибкой(
688
689
"Массив = Новый Массив(1);
689
- |Массив2 = Новый Массив(1);;
690
+ |Массив2 = Новый Массив(1);
690
691
|Рез = (Массив <= Массив2);" ,
691
692
Ошибка, "Для одинаковых объектов" );
692
693
693
694
КонецПроцедуры
695
+
696
+ Процедура ТестДолжен_ПроверитьНевозможностьПереопределенияГлобальногоКонтекста () Экспорт
697
+
698
+ Код = "Функция СтрНайти(знач Стр1, знач Стр2)
699
+ | Возврат -1;
700
+ |КонецФункции
701
+ |
702
+ |Рез = СтрНайти("" Ай!"" , "" !"" );
703
+ |Если Рез < 0 Тогда
704
+ | Сообщить("" Ой!"" );
705
+ |КонецЕсли" ;
706
+
707
+ юТест.ПроверитьКодСОшибкой(Код, "СтрНайти" );
708
+
709
+ юТест.ПроверитьКодСОшибкой("#native" + Символы.ПС + Код, "СтрНайти" );
710
+
711
+ КонецПроцедуры
You can’t perform that action at this time.
0 commit comments