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 Minor = "4";
|
||||
public const string Build = "2";
|
||||
public const string Revision = "1848";
|
||||
public const string Revision = "1851";
|
||||
|
||||
public const string MainVersion = Major + "." + Minor;
|
||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%MINOR%=4
|
||||
%REVISION%=1848
|
||||
%COREVERSION%=2
|
||||
%REVISION%=1851
|
||||
%MINOR%=4
|
||||
%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.attr = (definition_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.virt_over_none_attr);
|
||||
bw.Write(_simple_property.is_auto);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -16294,7 +16294,7 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
///<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_type=_property_type;
|
||||
|
|
@ -16304,13 +16304,14 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
this._parameter_list=_parameter_list;
|
||||
this._attr=_attr;
|
||||
this._virt_over_none_attr=_virt_over_none_attr;
|
||||
this._is_auto=_is_auto;
|
||||
FillParentsInDirectChilds();
|
||||
}
|
||||
|
||||
///<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_type=_property_type;
|
||||
|
|
@ -16320,6 +16321,7 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
this._parameter_list=_parameter_list;
|
||||
this._attr=_attr;
|
||||
this._virt_over_none_attr=_virt_over_none_attr;
|
||||
this._is_auto=_is_auto;
|
||||
source_context = sc;
|
||||
FillParentsInDirectChilds();
|
||||
}
|
||||
|
|
@ -16331,6 +16333,7 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
protected property_parameter_list _parameter_list;
|
||||
protected definition_attribute _attr;
|
||||
protected proc_attribute _virt_over_none_attr;
|
||||
protected bool _is_auto;
|
||||
|
||||
///<summary>
|
||||
///
|
||||
|
|
@ -16464,6 +16467,21 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
}
|
||||
}
|
||||
|
||||
///<summary>
|
||||
///
|
||||
///</summary>
|
||||
public bool is_auto
|
||||
{
|
||||
get
|
||||
{
|
||||
return _is_auto;
|
||||
}
|
||||
set
|
||||
{
|
||||
_is_auto=value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary> Создает копию узла </summary>
|
||||
public override syntax_tree_node Clone()
|
||||
|
|
@ -16509,6 +16527,7 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
}
|
||||
copy.attr = attr;
|
||||
copy.virt_over_none_attr = virt_over_none_attr;
|
||||
copy.is_auto = is_auto;
|
||||
return copy;
|
||||
}
|
||||
|
||||
|
|
@ -16675,7 +16694,7 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
///<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_type=_property_type;
|
||||
|
|
@ -16685,6 +16704,7 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
this._parameter_list=_parameter_list;
|
||||
this._attr=_attr;
|
||||
this._virt_over_none_attr=_virt_over_none_attr;
|
||||
this._is_auto=_is_auto;
|
||||
this._property_parametres=_property_parametres;
|
||||
this._is_default=_is_default;
|
||||
FillParentsInDirectChilds();
|
||||
|
|
@ -16693,7 +16713,7 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
///<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_type=_property_type;
|
||||
|
|
@ -16703,6 +16723,7 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
this._parameter_list=_parameter_list;
|
||||
this._attr=_attr;
|
||||
this._virt_over_none_attr=_virt_over_none_attr;
|
||||
this._is_auto=_is_auto;
|
||||
this._property_parametres=_property_parametres;
|
||||
this._is_default=_is_default;
|
||||
source_context = sc;
|
||||
|
|
@ -16790,6 +16811,7 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
}
|
||||
copy.attr = attr;
|
||||
copy.virt_over_none_attr = virt_over_none_attr;
|
||||
copy.is_auto = is_auto;
|
||||
if (property_parametres != null)
|
||||
{
|
||||
copy.property_parametres = (formal_parameters)property_parametres.Clone();
|
||||
|
|
|
|||
|
|
@ -1073,7 +1073,7 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
public partial class simple_property
|
||||
{
|
||||
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" />
|
||||
<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="is_auto" Type="bool" CreateVariable="false" DeleteVariable="false" />
|
||||
</Fields>
|
||||
<Methods />
|
||||
<Tags>
|
||||
|
|
@ -4228,6 +4229,7 @@
|
|||
<HelpData Key="simple_property.array_default" Value="" />
|
||||
<HelpData Key="simple_property.attr" 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.property_name" 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 param1 = convert_strong(_method_call.parameters.expressions[1]);
|
||||
param1 = convert_if_typed_expression_to_function_call(param1);
|
||||
expressions_list args = new expressions_list();
|
||||
args.AddElement(param0);
|
||||
args.AddElement(param1);
|
||||
|
|
|
|||
Loading…
Reference in a new issue