bug fix #1448
This commit is contained in:
parent
d5f268e496
commit
c7f77db426
|
|
@ -15,7 +15,7 @@ internal static class RevisionClass
|
||||||
public const string Major = "3";
|
public const string Major = "3";
|
||||||
public const string Minor = "4";
|
public const string Minor = "4";
|
||||||
public const string Build = "2";
|
public const string Build = "2";
|
||||||
public const string Revision = "1848";
|
public const string Revision = "1851";
|
||||||
|
|
||||||
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 @@
|
||||||
%MINOR%=4
|
|
||||||
%REVISION%=1848
|
|
||||||
%COREVERSION%=2
|
%COREVERSION%=2
|
||||||
|
%REVISION%=1851
|
||||||
|
%MINOR%=4
|
||||||
%MAJOR%=3
|
%MAJOR%=3
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
!define VERSION '3.4.2.1848'
|
!define VERSION '3.4.2.1851'
|
||||||
|
|
|
||||||
|
|
@ -1698,6 +1698,7 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
_simple_property.parameter_list = _read_node() as property_parameter_list;
|
_simple_property.parameter_list = _read_node() as property_parameter_list;
|
||||||
_simple_property.attr = (definition_attribute)br.ReadByte();
|
_simple_property.attr = (definition_attribute)br.ReadByte();
|
||||||
_simple_property.virt_over_none_attr = (proc_attribute)br.ReadByte();
|
_simple_property.virt_over_none_attr = (proc_attribute)br.ReadByte();
|
||||||
|
_simple_property.is_auto = br.ReadBoolean();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2221,6 +2221,7 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
}
|
}
|
||||||
bw.Write((byte)_simple_property.attr);
|
bw.Write((byte)_simple_property.attr);
|
||||||
bw.Write((byte)_simple_property.virt_over_none_attr);
|
bw.Write((byte)_simple_property.virt_over_none_attr);
|
||||||
|
bw.Write(_simple_property.is_auto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16294,7 +16294,7 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
///<summary>
|
///<summary>
|
||||||
///Конструктор с параметрами.
|
///Конструктор с параметрами.
|
||||||
///</summary>
|
///</summary>
|
||||||
public simple_property(ident _property_name,type_definition _property_type,expression _index_expression,property_accessors _accessors,property_array_default _array_default,property_parameter_list _parameter_list,definition_attribute _attr,proc_attribute _virt_over_none_attr)
|
public simple_property(ident _property_name,type_definition _property_type,expression _index_expression,property_accessors _accessors,property_array_default _array_default,property_parameter_list _parameter_list,definition_attribute _attr,proc_attribute _virt_over_none_attr,bool _is_auto)
|
||||||
{
|
{
|
||||||
this._property_name=_property_name;
|
this._property_name=_property_name;
|
||||||
this._property_type=_property_type;
|
this._property_type=_property_type;
|
||||||
|
|
@ -16304,13 +16304,14 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
this._parameter_list=_parameter_list;
|
this._parameter_list=_parameter_list;
|
||||||
this._attr=_attr;
|
this._attr=_attr;
|
||||||
this._virt_over_none_attr=_virt_over_none_attr;
|
this._virt_over_none_attr=_virt_over_none_attr;
|
||||||
|
this._is_auto=_is_auto;
|
||||||
FillParentsInDirectChilds();
|
FillParentsInDirectChilds();
|
||||||
}
|
}
|
||||||
|
|
||||||
///<summary>
|
///<summary>
|
||||||
///Конструктор с параметрами.
|
///Конструктор с параметрами.
|
||||||
///</summary>
|
///</summary>
|
||||||
public simple_property(ident _property_name,type_definition _property_type,expression _index_expression,property_accessors _accessors,property_array_default _array_default,property_parameter_list _parameter_list,definition_attribute _attr,proc_attribute _virt_over_none_attr,SourceContext sc)
|
public simple_property(ident _property_name,type_definition _property_type,expression _index_expression,property_accessors _accessors,property_array_default _array_default,property_parameter_list _parameter_list,definition_attribute _attr,proc_attribute _virt_over_none_attr,bool _is_auto,SourceContext sc)
|
||||||
{
|
{
|
||||||
this._property_name=_property_name;
|
this._property_name=_property_name;
|
||||||
this._property_type=_property_type;
|
this._property_type=_property_type;
|
||||||
|
|
@ -16320,6 +16321,7 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
this._parameter_list=_parameter_list;
|
this._parameter_list=_parameter_list;
|
||||||
this._attr=_attr;
|
this._attr=_attr;
|
||||||
this._virt_over_none_attr=_virt_over_none_attr;
|
this._virt_over_none_attr=_virt_over_none_attr;
|
||||||
|
this._is_auto=_is_auto;
|
||||||
source_context = sc;
|
source_context = sc;
|
||||||
FillParentsInDirectChilds();
|
FillParentsInDirectChilds();
|
||||||
}
|
}
|
||||||
|
|
@ -16331,6 +16333,7 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
protected property_parameter_list _parameter_list;
|
protected property_parameter_list _parameter_list;
|
||||||
protected definition_attribute _attr;
|
protected definition_attribute _attr;
|
||||||
protected proc_attribute _virt_over_none_attr;
|
protected proc_attribute _virt_over_none_attr;
|
||||||
|
protected bool _is_auto;
|
||||||
|
|
||||||
///<summary>
|
///<summary>
|
||||||
///
|
///
|
||||||
|
|
@ -16464,6 +16467,21 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///<summary>
|
||||||
|
///
|
||||||
|
///</summary>
|
||||||
|
public bool is_auto
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _is_auto;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_is_auto=value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary> Создает копию узла </summary>
|
/// <summary> Создает копию узла </summary>
|
||||||
public override syntax_tree_node Clone()
|
public override syntax_tree_node Clone()
|
||||||
|
|
@ -16509,6 +16527,7 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
}
|
}
|
||||||
copy.attr = attr;
|
copy.attr = attr;
|
||||||
copy.virt_over_none_attr = virt_over_none_attr;
|
copy.virt_over_none_attr = virt_over_none_attr;
|
||||||
|
copy.is_auto = is_auto;
|
||||||
return copy;
|
return copy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -16675,7 +16694,7 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
///<summary>
|
///<summary>
|
||||||
///Конструктор с параметрами.
|
///Конструктор с параметрами.
|
||||||
///</summary>
|
///</summary>
|
||||||
public index_property(ident _property_name,type_definition _property_type,expression _index_expression,property_accessors _accessors,property_array_default _array_default,property_parameter_list _parameter_list,definition_attribute _attr,proc_attribute _virt_over_none_attr,formal_parameters _property_parametres,default_indexer_property_node _is_default)
|
public index_property(ident _property_name,type_definition _property_type,expression _index_expression,property_accessors _accessors,property_array_default _array_default,property_parameter_list _parameter_list,definition_attribute _attr,proc_attribute _virt_over_none_attr,bool _is_auto,formal_parameters _property_parametres,default_indexer_property_node _is_default)
|
||||||
{
|
{
|
||||||
this._property_name=_property_name;
|
this._property_name=_property_name;
|
||||||
this._property_type=_property_type;
|
this._property_type=_property_type;
|
||||||
|
|
@ -16685,6 +16704,7 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
this._parameter_list=_parameter_list;
|
this._parameter_list=_parameter_list;
|
||||||
this._attr=_attr;
|
this._attr=_attr;
|
||||||
this._virt_over_none_attr=_virt_over_none_attr;
|
this._virt_over_none_attr=_virt_over_none_attr;
|
||||||
|
this._is_auto=_is_auto;
|
||||||
this._property_parametres=_property_parametres;
|
this._property_parametres=_property_parametres;
|
||||||
this._is_default=_is_default;
|
this._is_default=_is_default;
|
||||||
FillParentsInDirectChilds();
|
FillParentsInDirectChilds();
|
||||||
|
|
@ -16693,7 +16713,7 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
///<summary>
|
///<summary>
|
||||||
///Конструктор с параметрами.
|
///Конструктор с параметрами.
|
||||||
///</summary>
|
///</summary>
|
||||||
public index_property(ident _property_name,type_definition _property_type,expression _index_expression,property_accessors _accessors,property_array_default _array_default,property_parameter_list _parameter_list,definition_attribute _attr,proc_attribute _virt_over_none_attr,formal_parameters _property_parametres,default_indexer_property_node _is_default,SourceContext sc)
|
public index_property(ident _property_name,type_definition _property_type,expression _index_expression,property_accessors _accessors,property_array_default _array_default,property_parameter_list _parameter_list,definition_attribute _attr,proc_attribute _virt_over_none_attr,bool _is_auto,formal_parameters _property_parametres,default_indexer_property_node _is_default,SourceContext sc)
|
||||||
{
|
{
|
||||||
this._property_name=_property_name;
|
this._property_name=_property_name;
|
||||||
this._property_type=_property_type;
|
this._property_type=_property_type;
|
||||||
|
|
@ -16703,6 +16723,7 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
this._parameter_list=_parameter_list;
|
this._parameter_list=_parameter_list;
|
||||||
this._attr=_attr;
|
this._attr=_attr;
|
||||||
this._virt_over_none_attr=_virt_over_none_attr;
|
this._virt_over_none_attr=_virt_over_none_attr;
|
||||||
|
this._is_auto=_is_auto;
|
||||||
this._property_parametres=_property_parametres;
|
this._property_parametres=_property_parametres;
|
||||||
this._is_default=_is_default;
|
this._is_default=_is_default;
|
||||||
source_context = sc;
|
source_context = sc;
|
||||||
|
|
@ -16790,6 +16811,7 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
}
|
}
|
||||||
copy.attr = attr;
|
copy.attr = attr;
|
||||||
copy.virt_over_none_attr = virt_over_none_attr;
|
copy.virt_over_none_attr = virt_over_none_attr;
|
||||||
|
copy.is_auto = is_auto;
|
||||||
if (property_parametres != null)
|
if (property_parametres != null)
|
||||||
{
|
{
|
||||||
copy.property_parametres = (formal_parameters)property_parametres.Clone();
|
copy.property_parametres = (formal_parameters)property_parametres.Clone();
|
||||||
|
|
|
||||||
|
|
@ -1073,7 +1073,7 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
public partial class simple_property
|
public partial class simple_property
|
||||||
{
|
{
|
||||||
public simple_property(ident name, type_definition type, property_accessors accessors, SourceContext sc = null)
|
public simple_property(ident name, type_definition type, property_accessors accessors, SourceContext sc = null)
|
||||||
: this(name, type, null, accessors, null, null, definition_attribute.None,proc_attribute.attr_none,sc)
|
: this(name, type, null, accessors, null, null, definition_attribute.None,proc_attribute.attr_none,false,sc)
|
||||||
{ }
|
{ }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1021,6 +1021,7 @@
|
||||||
<SyntaxField Name="parameter_list" SyntaxType="property_parameter_list" />
|
<SyntaxField Name="parameter_list" SyntaxType="property_parameter_list" />
|
||||||
<ExtendedField Name="attr" Type="definition_attribute" CreateVariable="false" DeleteVariable="false" />
|
<ExtendedField Name="attr" Type="definition_attribute" CreateVariable="false" DeleteVariable="false" />
|
||||||
<ExtendedField Name="virt_over_none_attr" Type="proc_attribute" CreateVariable="false" DeleteVariable="false" />
|
<ExtendedField Name="virt_over_none_attr" Type="proc_attribute" CreateVariable="false" DeleteVariable="false" />
|
||||||
|
<ExtendedField Name="is_auto" Type="bool" CreateVariable="false" DeleteVariable="false" />
|
||||||
</Fields>
|
</Fields>
|
||||||
<Methods />
|
<Methods />
|
||||||
<Tags>
|
<Tags>
|
||||||
|
|
@ -4228,6 +4229,7 @@
|
||||||
<HelpData Key="simple_property.array_default" Value="" />
|
<HelpData Key="simple_property.array_default" Value="" />
|
||||||
<HelpData Key="simple_property.attr" Value="" />
|
<HelpData Key="simple_property.attr" Value="" />
|
||||||
<HelpData Key="simple_property.index_expression" Value="" />
|
<HelpData Key="simple_property.index_expression" Value="" />
|
||||||
|
<HelpData Key="simple_property.is_auto" Value="" />
|
||||||
<HelpData Key="simple_property.parameter_list" Value="" />
|
<HelpData Key="simple_property.parameter_list" Value="" />
|
||||||
<HelpData Key="simple_property.property_name" Value="" />
|
<HelpData Key="simple_property.property_name" Value="" />
|
||||||
<HelpData Key="simple_property.property_type" Value="" />
|
<HelpData Key="simple_property.property_type" Value="" />
|
||||||
|
|
|
||||||
7
TestSuite/IncludeFuncCallParameter.pas
Normal file
7
TestSuite/IncludeFuncCallParameter.pas
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
function MyReadInteger := 1;
|
||||||
|
|
||||||
|
begin
|
||||||
|
var s: Set of Integer;
|
||||||
|
Include(s, MyReadInteger);
|
||||||
|
Assert(s=[1]);
|
||||||
|
end.
|
||||||
|
|
@ -6473,6 +6473,7 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
{
|
{
|
||||||
expression_node param0 = convert_strong(_method_call.parameters.expressions[0]);
|
expression_node param0 = convert_strong(_method_call.parameters.expressions[0]);
|
||||||
expression_node param1 = convert_strong(_method_call.parameters.expressions[1]);
|
expression_node param1 = convert_strong(_method_call.parameters.expressions[1]);
|
||||||
|
param1 = convert_if_typed_expression_to_function_call(param1);
|
||||||
expressions_list args = new expressions_list();
|
expressions_list args = new expressions_list();
|
||||||
args.AddElement(param0);
|
args.AddElement(param0);
|
||||||
args.AddElement(param1);
|
args.AddElement(param1);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue