bug fix #628
This commit is contained in:
parent
3432a5912f
commit
68b1449bc8
|
|
@ -15,7 +15,7 @@ internal static class RevisionClass
|
|||
public const string Major = "3";
|
||||
public const string Minor = "3";
|
||||
public const string Build = "0";
|
||||
public const string Revision = "1603";
|
||||
public const string Revision = "1605";
|
||||
|
||||
public const string MainVersion = Major + "." + Minor;
|
||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%COREVERSION%=0
|
||||
%REVISION%=1603
|
||||
%REVISION%=1605
|
||||
%MINOR%=3
|
||||
%MAJOR%=3
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!define VERSION '3.3.0.1603'
|
||||
!define VERSION '3.3.0.1605'
|
||||
|
|
|
|||
8
TestSuite/NewClassInClassField.pas
Normal file
8
TestSuite/NewClassInClassField.pas
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
Type
|
||||
ИмяКласса_1 = class
|
||||
ИмяКласса_2 := new class(d:=1);
|
||||
end;
|
||||
Begin
|
||||
var s := new ИмяКласса_1;
|
||||
Assert(s.ИмяКласса_2.d = 1);
|
||||
End.
|
||||
|
|
@ -95,7 +95,7 @@ namespace PascalABCCompiler.TreeConverter
|
|||
SavedContext.compiled_tn = _compiled_tn;
|
||||
SavedContext.last_created_function = last_created_function;
|
||||
SavedContext.cycles_stack = _cycles_stack;
|
||||
SavedContext.num_of_for_cycles = num_of_for_cycles;
|
||||
//SavedContext.num_of_for_cycles = num_of_for_cycles; // num_of_for_cycles вычисляется и провоцирует ошибки!
|
||||
SavedContext._fal = _fal;
|
||||
SavedContext.member_decls = member_decls;
|
||||
SavedContext.types_predefined = _types_predefined;
|
||||
|
|
@ -155,7 +155,7 @@ namespace PascalABCCompiler.TreeConverter
|
|||
_compiled_tn = SavedContext.compiled_tn;
|
||||
last_created_function = SavedContext.last_created_function;
|
||||
_cycles_stack = SavedContext.cycles_stack;
|
||||
_num_of_for_cycles = SavedContext.num_of_for_cycles;
|
||||
//_num_of_for_cycles = SavedContext.num_of_for_cycles; // ssm 31/12/17 отключил! num_of_for_cycles вычисляется и провоцирует ошибки!
|
||||
_fal = SavedContext._fal;
|
||||
member_decls = SavedContext.member_decls;
|
||||
_types_predefined = SavedContext.types_predefined;
|
||||
|
|
@ -1801,8 +1801,9 @@ namespace PascalABCCompiler.TreeConverter
|
|||
case block_type.type_block:
|
||||
{
|
||||
throw new CompilerInternalError("For cycle in class body");
|
||||
}
|
||||
}
|
||||
//return 0;
|
||||
}
|
||||
}
|
||||
throw new CompilerInternalError("Invalid block type");
|
||||
}
|
||||
set
|
||||
|
|
|
|||
|
|
@ -15403,7 +15403,8 @@ namespace PascalABCCompiler.TreeConverter
|
|||
|
||||
public override void visit(SyntaxTree.named_type_reference _named_type_reference)
|
||||
{
|
||||
type_node tn = find_type(_named_type_reference, get_location(_named_type_reference));
|
||||
var loc = get_location(_named_type_reference);
|
||||
type_node tn = find_type(_named_type_reference, loc);
|
||||
return_value(tn);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue