using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Serein.Script.Node
{
///
/// 动态类型定义
///
public class ClassTypeDefinitionNode : ASTNode
{
[Obsolete("此属性已经过时,可能在下一个版本中移除", false)]
public bool IsOverlay { get; set; }
///
/// 类型名称
///
public TypeNode ClassType { get; }
///
/// 类型中的属性
///
public Dictionary Propertys { get; }
public ClassTypeDefinitionNode(Dictionary propertys, TypeNode className)
{
this.Propertys = propertys;
this.ClassType = className;
}
public override string ToString()
{
var p = string.Join(",", Propertys.Select(p => $"{p.Value}"));
return $"{ClassType}({p})";
}
/* ///
/// 字段名称及字段类型
///
[Obsolete("此属性已经过时,将会改为Dictionary", false)]
public Dictionary Fields { get; }
*/
/* ///
/// 字段名称及字段类型(Kvp[fididName:fidleTypeName])
///
public Dictionary FieldInfos { get; }
*/
//[Obsolete("此构造方法已经过时,可能在下一个版本中移除", false)]
}
}