This commit is contained in:
miks1965 2017-12-31 10:27:13 +03:00
parent 3432a5912f
commit 68b1449bc8
6 changed files with 18 additions and 8 deletions

View file

@ -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;

View file

@ -1,4 +1,4 @@
%COREVERSION%=0
%REVISION%=1603
%REVISION%=1605
%MINOR%=3
%MAJOR%=3

View file

@ -1 +1 @@
!define VERSION '3.3.0.1603'
!define VERSION '3.3.0.1605'

View 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.

View file

@ -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

View file

@ -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);
}