lambda_any_type_node_syntax
This commit is contained in:
parent
8847baa0b1
commit
232f3a2238
|
|
@ -1302,6 +1302,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
{
|
||||
DefaultVisit(_expression_with_let);
|
||||
}
|
||||
|
||||
public virtual void visit(lambda_any_type_node_syntax _lambda_any_type_node_syntax)
|
||||
{
|
||||
DefaultVisit(_lambda_any_type_node_syntax);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2077,6 +2077,14 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
{
|
||||
}
|
||||
|
||||
public virtual void pre_do_visit(lambda_any_type_node_syntax _lambda_any_type_node_syntax)
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void post_do_visit(lambda_any_type_node_syntax _lambda_any_type_node_syntax)
|
||||
{
|
||||
}
|
||||
|
||||
public override void visit(expression _expression)
|
||||
{
|
||||
DefaultVisit(_expression);
|
||||
|
|
@ -4293,6 +4301,13 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
visit(expression_with_let.expr);
|
||||
post_do_visit(_expression_with_let);
|
||||
}
|
||||
|
||||
public override void visit(lambda_any_type_node_syntax _lambda_any_type_node_syntax)
|
||||
{
|
||||
DefaultVisit(_lambda_any_type_node_syntax);
|
||||
pre_do_visit(_lambda_any_type_node_syntax);
|
||||
post_do_visit(_lambda_any_type_node_syntax);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -538,6 +538,8 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
return new property_ident();
|
||||
case 258:
|
||||
return new expression_with_let();
|
||||
case 259:
|
||||
return new lambda_any_type_node_syntax();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
@ -4519,6 +4521,17 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
_expression_with_let.expr = _read_node() as expression;
|
||||
}
|
||||
|
||||
|
||||
public void visit(lambda_any_type_node_syntax _lambda_any_type_node_syntax)
|
||||
{
|
||||
read_lambda_any_type_node_syntax(_lambda_any_type_node_syntax);
|
||||
}
|
||||
|
||||
public void read_lambda_any_type_node_syntax(lambda_any_type_node_syntax _lambda_any_type_node_syntax)
|
||||
{
|
||||
read_expression(_lambda_any_type_node_syntax);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -7101,6 +7101,18 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
public void visit(lambda_any_type_node_syntax _lambda_any_type_node_syntax)
|
||||
{
|
||||
bw.Write((Int16)259);
|
||||
write_lambda_any_type_node_syntax(_lambda_any_type_node_syntax);
|
||||
}
|
||||
|
||||
public void write_lambda_any_type_node_syntax(lambda_any_type_node_syntax _lambda_any_type_node_syntax)
|
||||
{
|
||||
write_expression(_lambda_any_type_node_syntax);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -55417,6 +55417,106 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
}
|
||||
|
||||
|
||||
///<summary>
|
||||
///Marker. On semantic level becomes lambda_any_type_node in generic_conversions.SaveLambdasStates
|
||||
///</summary>
|
||||
[Serializable]
|
||||
public partial class lambda_any_type_node_syntax : expression
|
||||
{
|
||||
|
||||
///<summary>
|
||||
///Конструктор без параметров.
|
||||
///</summary>
|
||||
public lambda_any_type_node_syntax()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary> Создает копию узла </summary>
|
||||
public override syntax_tree_node Clone()
|
||||
{
|
||||
lambda_any_type_node_syntax copy = new lambda_any_type_node_syntax();
|
||||
copy.Parent = this.Parent;
|
||||
if (source_context != null)
|
||||
copy.source_context = new SourceContext(source_context);
|
||||
if (attributes != null)
|
||||
{
|
||||
copy.attributes = (attribute_list)attributes.Clone();
|
||||
copy.attributes.Parent = copy;
|
||||
}
|
||||
return copy;
|
||||
}
|
||||
|
||||
/// <summary> Получает копию данного узла корректного типа </summary>
|
||||
public new lambda_any_type_node_syntax TypedClone()
|
||||
{
|
||||
return Clone() as lambda_any_type_node_syntax;
|
||||
}
|
||||
|
||||
///<summary> Заполняет поля Parent в непосредственных дочерних узлах </summary>
|
||||
public override void FillParentsInDirectChilds()
|
||||
{
|
||||
if (attributes != null)
|
||||
attributes.Parent = this;
|
||||
}
|
||||
|
||||
///<summary> Заполняет поля Parent во всем поддереве </summary>
|
||||
public override void FillParentsInAllChilds()
|
||||
{
|
||||
FillParentsInDirectChilds();
|
||||
attributes?.FillParentsInAllChilds();
|
||||
}
|
||||
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
///</summary>
|
||||
public override Int32 subnodes_without_list_elements_count
|
||||
{
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов. Подузлом также считается каждый элемент поля типа List
|
||||
///</summary>
|
||||
public override Int32 subnodes_count
|
||||
{
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
///<summary>
|
||||
///Индексатор для получения всех подузлов
|
||||
///</summary>
|
||||
public override syntax_tree_node this[Int32 ind]
|
||||
{
|
||||
get
|
||||
{
|
||||
if(subnodes_count == 0 || ind < 0 || ind > subnodes_count-1)
|
||||
throw new IndexOutOfRangeException();
|
||||
return null;
|
||||
}
|
||||
set
|
||||
{
|
||||
if(subnodes_count == 0 || ind < 0 || ind > subnodes_count-1)
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
}
|
||||
///<summary>
|
||||
///Метод для обхода дерева посетителем
|
||||
///</summary>
|
||||
///<param name="visitor">Объект-посетитель.</param>
|
||||
///<returns>Return value is void</returns>
|
||||
public override void visit(IVisitor visitor)
|
||||
{
|
||||
visitor.visit(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1558,6 +1558,12 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
///<param name="_expression_with_let">Node to visit</param>
|
||||
///<returns> Return value is void </returns>
|
||||
void visit(expression_with_let _expression_with_let);
|
||||
///<summary>
|
||||
///Method to visit lambda_any_type_node_syntax.
|
||||
///</summary>
|
||||
///<param name="_lambda_any_type_node_syntax">Node to visit</param>
|
||||
///<returns> Return value is void </returns>
|
||||
void visit(lambda_any_type_node_syntax _lambda_any_type_node_syntax);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -3338,6 +3338,14 @@
|
|||
<TagIndices />
|
||||
</Tags>
|
||||
</SyntaxNode>
|
||||
<SyntaxNode Name="lambda_any_type_node_syntax" BaseName="expression">
|
||||
<Fields />
|
||||
<Methods />
|
||||
<Tags>
|
||||
<CategoryIndices />
|
||||
<TagIndices />
|
||||
</Tags>
|
||||
</SyntaxNode>
|
||||
</SyntaxNodes>
|
||||
<Settings>
|
||||
<FileName>Tree.cs</FileName>
|
||||
|
|
@ -4089,6 +4097,7 @@
|
|||
<HelpData Key="labeled_statement.to_statement" Value="" />
|
||||
<HelpData Key="labelname_list" Value="" />
|
||||
<HelpData Key="labelname_list.names" Value="" />
|
||||
<HelpData Key="lambda_any_type_node_syntax" Value="Marker. On semantic level becomes lambda_any_type_node in generic_conversions.SaveLambdasStates" />
|
||||
<HelpData Key="lambda_inferred_type" Value="" />
|
||||
<HelpData Key="lambda_inferred_type._realType" Value="" />
|
||||
<HelpData Key="lambda_inferred_type.realType" Value="" />
|
||||
|
|
|
|||
Loading…
Reference in a new issue