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)] } }