bug fix #946
This commit is contained in:
parent
4baf57d45f
commit
835ecdfc58
|
|
@ -15,7 +15,7 @@ internal static class RevisionClass
|
|||
public const string Major = "3";
|
||||
public const string Minor = "4";
|
||||
public const string Build = "2";
|
||||
public const string Revision = "1791";
|
||||
public const string Revision = "1792";
|
||||
|
||||
public const string MainVersion = Major + "." + Minor;
|
||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%COREVERSION%=2
|
||||
%REVISION%=1791
|
||||
%MINOR%=4
|
||||
%REVISION%=1792
|
||||
%COREVERSION%=2
|
||||
%MAJOR%=3
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1 +1 @@
|
|||
!define VERSION '3.4.2.1791'
|
||||
!define VERSION '3.4.2.1792'
|
||||
|
|
|
|||
|
|
@ -82,7 +82,8 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
fp = null;
|
||||
var sl = SyntaxTreeBuilder.BuildSimpleAssignList(fields, formal_names);
|
||||
|
||||
return new procedure_definition(new constructor(fp), new block(sl));
|
||||
var c = new constructor(fp);
|
||||
return new procedure_definition(c, new block(sl));
|
||||
}
|
||||
|
||||
public static procedure_definition BuildSimpleDeConstruct(List<ident> fields, List<ident> formal_names, List<type_definition> types)
|
||||
|
|
@ -232,7 +233,8 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
if (!HasToString)
|
||||
{
|
||||
var tostr = BuildToStringFuncForAutoClass(names);
|
||||
cb.Add(BuildOneMemberSection(tostr));
|
||||
var cm = BuildOneMemberSection(tostr);
|
||||
cb.Add(cm);
|
||||
//cb.class_def_blocks.Insert(0, BuildOneMemberSection(tostr));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3672,7 +3672,9 @@ namespace PascalABCCompiler.TreeConverter
|
|||
SyntaxTreeBuilder.AddMembersForAutoClass(_class_definition,ref names,ref types);
|
||||
for (var i = 0; i < types.Count; i++)
|
||||
{
|
||||
type_node tn = convert_strong(types[i]);
|
||||
type_node tn = convert_strong(types[i]);
|
||||
if (tn.IsEnum && types[i] is enum_type_definition)
|
||||
AddError(get_location(types[i]), "AUTO_CLASS_MUST_NOT_HAVE_UNNAMED_ENUMS");
|
||||
if (tn.IsPointer)
|
||||
AddError(get_location(types[i]), "AUTO_CLASS_MUST_NOT_HAVE_POINTERS");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,4 +10,5 @@ ONLY_IN_SHORT_FUNC_DEFS_RETURN_TYPE_CANBE_OMITTED=Только в коротки
|
|||
ONE_TKIDENTIFIER=В качестве типа ожидался идентификатор
|
||||
SUGARED_NODE_{0}_IN_SYNTAX_TREE_VISITOR=Сахарный узел {0} не должен обходиться в syntax_tree_visitor. Обратитесь к разработчикам PascalABC.NET
|
||||
MISSED_SEMANTIC_CHECK_FOR_SUGARED_NODE_{0}=Отсутствует семантическая проверка для сахарного узла {0}
|
||||
OPERATOR_DQ_MUST_BE_USED_WITH_A_REFERENCE_TYPE_VALUETYPE=Левый операнд операции ?. должен иметь ссылочный тип
|
||||
OPERATOR_DQ_MUST_BE_USED_WITH_A_REFERENCE_TYPE_VALUETYPE=Левый операнд операции ?. должен иметь ссылочный тип
|
||||
AUTOCLASS_MUST_NOT_CONTAIN_ENUM_TYPE_DEFINITION_IN_FIELD_TYPE=Автокласс не может содержать поля безымянного перечислимого типа
|
||||
|
|
@ -3,6 +3,7 @@
|
|||
NAME_CANNOT_HAVE_GENERIC_PARAMETERS_{0}=Имя {0} не может иметь обобщенные параметры
|
||||
AUTO_CLASS_MUST_NOT_HAVE_POINTERS=Авто класс не может иметь поля, являющиеся указателями
|
||||
AUTO_CLASS_MUST_NOT_HAVE_PARENTS=Авто класс не может иметь предков
|
||||
AUTO_CLASS_MUST_NOT_HAVE_UNNAMED_ENUMS=Авто класс не может иметь полей с неименованными перечислимыми типами
|
||||
UNDEFINED_NAME_REFERENCE_{0}=Неизвестное имя '{0}'
|
||||
TWO_TYPE_CONVERTIONS_POSSIBLE_FIRST_TYPE_{0}_SECOND_TYE_{1}=Возможны два преобразования типа: к типу {0} и к типу {1}
|
||||
CAN_NOT_CONVERT_TYPES_FROM_{0}_TO_{1}=Нельзя преобразовать тип {0} к {1}
|
||||
|
|
|
|||
Loading…
Reference in a new issue