Yield: bug fix #189

This commit is contained in:
Oleg Batashov 2016-06-05 15:30:58 +03:00
parent 72ff5afea5
commit d5a7a3964f
6 changed files with 43 additions and 98 deletions

View file

@ -3576,8 +3576,6 @@ namespace PascalABCCompiler.SyntaxTree
{
DefaultVisit(_yield_unknown_ident);
pre_do_visit(_yield_unknown_ident);
visit(yield_unknown_ident.UnknownID);
visit(yield_unknown_ident.ClassName);
post_do_visit(_yield_unknown_ident);
}

View file

@ -3786,8 +3786,6 @@ namespace PascalABCCompiler.SyntaxTree
public void read_yield_unknown_ident(yield_unknown_ident _yield_unknown_ident)
{
read_ident(_yield_unknown_ident);
_yield_unknown_ident.UnknownID = _read_node() as ident;
_yield_unknown_ident.ClassName = _read_node() as ident;
}

View file

@ -5932,24 +5932,6 @@ namespace PascalABCCompiler.SyntaxTree
public void write_yield_unknown_ident(yield_unknown_ident _yield_unknown_ident)
{
write_ident(_yield_unknown_ident);
if (_yield_unknown_ident.UnknownID == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_yield_unknown_ident.UnknownID.visit(this);
}
if (_yield_unknown_ident.ClassName == null)
{
bw.Write((byte)0);
}
else
{
bw.Write((byte)1);
_yield_unknown_ident.ClassName.visit(this);
}
}

View file

@ -31542,80 +31542,24 @@ namespace PascalABCCompiler.SyntaxTree
}
///<summary>
///Конструктор с параметрами.
///</summary>
public yield_unknown_ident(ident _UnknownID,ident _ClassName)
{
this._UnknownID=_UnknownID;
this._ClassName=_ClassName;
}
///<summary>
///Конструктор с параметрами.
///</summary>
public yield_unknown_ident(ident _UnknownID,ident _ClassName,SourceContext sc)
{
this._UnknownID=_UnknownID;
this._ClassName=_ClassName;
source_context = sc;
}
///<summary>
///Конструктор с параметрами.
///</summary>
public yield_unknown_ident(string _name,ident _UnknownID,ident _ClassName)
public yield_unknown_ident(string _name)
{
this._name=_name;
this._UnknownID=_UnknownID;
this._ClassName=_ClassName;
}
///<summary>
///Конструктор с параметрами.
///</summary>
public yield_unknown_ident(string _name,ident _UnknownID,ident _ClassName,SourceContext sc)
public yield_unknown_ident(string _name,SourceContext sc)
{
this._name=_name;
this._UnknownID=_UnknownID;
this._ClassName=_ClassName;
source_context = sc;
}
protected ident _UnknownID;
protected ident _ClassName;
///<summary>
///
///</summary>
public ident UnknownID
{
get
{
return _UnknownID;
}
set
{
_UnknownID=value;
}
}
///<summary>
///
///</summary>
public ident ClassName
{
get
{
return _ClassName;
}
set
{
_ClassName=value;
}
}
///<summary>
///Свойство для получения количества всех подузлов без элементов поля типа List
///</summary>
@ -31623,7 +31567,7 @@ namespace PascalABCCompiler.SyntaxTree
{
get
{
return 2;
return 0;
}
}
///<summary>
@ -31633,7 +31577,7 @@ namespace PascalABCCompiler.SyntaxTree
{
get
{
return 2;
return 0;
}
}
///<summary>
@ -31645,28 +31589,12 @@ namespace PascalABCCompiler.SyntaxTree
{
if(subnodes_count == 0 || ind < 0 || ind > subnodes_count-1)
throw new IndexOutOfRangeException();
switch(ind)
{
case 0:
return UnknownID;
case 1:
return ClassName;
}
return null;
}
set
{
if(subnodes_count == 0 || ind < 0 || ind > subnodes_count-1)
throw new IndexOutOfRangeException();
switch(ind)
{
case 0:
UnknownID = (ident)value;
break;
case 1:
ClassName = (ident)value;
break;
}
}
}
///<summary>

View file

@ -1447,6 +1447,45 @@ namespace PascalABCCompiler.SyntaxTree
}
}
public partial class yield_unknown_ident : ident
{
protected ident _UnknownID;
protected ident _ClassName;
public ident UnknownID
{
get { return _UnknownID; }
set { _UnknownID = value; }
}
public ident ClassName
{
get { return _ClassName; }
set { _ClassName = value; }
}
///<summary>
///Конструктор с параметрами.
///</summary>
public yield_unknown_ident(ident _UnknownID, ident _ClassName)
{
this._name = _UnknownID.name;
this._UnknownID = _UnknownID;
this._ClassName = _ClassName;
}
///<summary>
///Конструктор с параметрами.
///</summary>
public yield_unknown_ident(ident _UnknownID, ident _ClassName, SourceContext sc)
{
this._name = _UnknownID.name;
this._UnknownID = _UnknownID;
this._ClassName = _ClassName;
source_context = sc;
}
}
// end frninja

Binary file not shown.