bug fix #2078
This commit is contained in:
parent
f06558fe8e
commit
eee4a4e860
|
|
@ -3050,7 +3050,7 @@ namespace PascalABCCompiler.PCU
|
|||
//else
|
||||
//{
|
||||
// bw.Write((byte)1);
|
||||
if (meth.function_code == null)
|
||||
if (meth.function_code == null || meth.name.IndexOf("<yield_helper_error_checkerr>") != -1)
|
||||
{
|
||||
VisitStatement(new empty_statement(null));
|
||||
}
|
||||
|
|
@ -3071,7 +3071,10 @@ namespace PascalABCCompiler.PCU
|
|||
//(ssyy) метки
|
||||
VisitLabelDeclarations(func.label_nodes_list);
|
||||
FixupCode(func);
|
||||
VisitStatement(func.function_code);
|
||||
if (func.name.IndexOf("<yield_helper_error_checkerr>") != -1)
|
||||
VisitStatement(new empty_statement(null));
|
||||
else
|
||||
VisitStatement(func.function_code);
|
||||
}
|
||||
|
||||
private void VisitNestedFunctionImplementation(common_in_function_function_node func)
|
||||
|
|
|
|||
|
|
@ -2569,8 +2569,6 @@ namespace PascalABCCompiler.NETGenerator
|
|||
return false;
|
||||
}
|
||||
|
||||
|
||||
//Ета штуковина все жутко тормозит. особенно генерацию EXE
|
||||
private void AddSpecialDebugVariables()
|
||||
{
|
||||
if (this.add_special_debug_variables)
|
||||
|
|
@ -2610,7 +2608,10 @@ namespace PascalABCCompiler.NETGenerator
|
|||
foreach (ICommonNestedInFunctionFunctionNode f in func.functions_nodes)
|
||||
ConvertFunctionBody(f);
|
||||
//перевод тела
|
||||
ConvertBody(func.function_code);
|
||||
if (func.name.IndexOf("<yield_helper_error_checkerr>") == -1)
|
||||
ConvertBody(func.function_code);
|
||||
else
|
||||
il.Emit(OpCodes.Ret);
|
||||
//ivan for debug
|
||||
if (save_debug_info)
|
||||
{
|
||||
|
|
@ -6100,7 +6101,8 @@ namespace PascalABCCompiler.NETGenerator
|
|||
}
|
||||
else
|
||||
{
|
||||
ConvertFunctionBody(value, copy_mi, true);
|
||||
if (value.name.IndexOf("<yield_helper_error_checkerr>") == -1)
|
||||
ConvertFunctionBody(value, copy_mi, true);
|
||||
//вызов статического метода-клона
|
||||
//при этом явно передается this
|
||||
il = methb.GetILGenerator();
|
||||
|
|
|
|||
|
|
@ -4158,8 +4158,7 @@ namespace PascalABCCompiler.TreeConverter
|
|||
{
|
||||
throw new NotSupportedError(get_location(_index_property));
|
||||
}
|
||||
|
||||
//TODO: Если одного из акцессоров нет?
|
||||
|
||||
public override void visit(SyntaxTree.simple_property _simple_property)
|
||||
{
|
||||
if (_simple_property.accessors == null)
|
||||
|
|
|
|||
Loading…
Reference in a new issue