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 Major = "3";
|
||||||
public const string Minor = "3";
|
public const string Minor = "3";
|
||||||
public const string Build = "0";
|
public const string Build = "0";
|
||||||
public const string Revision = "1603";
|
public const string Revision = "1605";
|
||||||
|
|
||||||
public const string MainVersion = Major + "." + Minor;
|
public const string MainVersion = Major + "." + Minor;
|
||||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
%COREVERSION%=0
|
%COREVERSION%=0
|
||||||
%REVISION%=1603
|
%REVISION%=1605
|
||||||
%MINOR%=3
|
%MINOR%=3
|
||||||
%MAJOR%=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.compiled_tn = _compiled_tn;
|
||||||
SavedContext.last_created_function = last_created_function;
|
SavedContext.last_created_function = last_created_function;
|
||||||
SavedContext.cycles_stack = _cycles_stack;
|
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._fal = _fal;
|
||||||
SavedContext.member_decls = member_decls;
|
SavedContext.member_decls = member_decls;
|
||||||
SavedContext.types_predefined = _types_predefined;
|
SavedContext.types_predefined = _types_predefined;
|
||||||
|
|
@ -155,7 +155,7 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
_compiled_tn = SavedContext.compiled_tn;
|
_compiled_tn = SavedContext.compiled_tn;
|
||||||
last_created_function = SavedContext.last_created_function;
|
last_created_function = SavedContext.last_created_function;
|
||||||
_cycles_stack = SavedContext.cycles_stack;
|
_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;
|
_fal = SavedContext._fal;
|
||||||
member_decls = SavedContext.member_decls;
|
member_decls = SavedContext.member_decls;
|
||||||
_types_predefined = SavedContext.types_predefined;
|
_types_predefined = SavedContext.types_predefined;
|
||||||
|
|
@ -1801,8 +1801,9 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
case block_type.type_block:
|
case block_type.type_block:
|
||||||
{
|
{
|
||||||
throw new CompilerInternalError("For cycle in class body");
|
throw new CompilerInternalError("For cycle in class body");
|
||||||
}
|
//return 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
throw new CompilerInternalError("Invalid block type");
|
throw new CompilerInternalError("Invalid block type");
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
|
|
|
||||||
|
|
@ -15403,7 +15403,8 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
|
|
||||||
public override void visit(SyntaxTree.named_type_reference _named_type_reference)
|
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);
|
return_value(tn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue