public ClassType(PtClass source, Unit unit, string name, Action <ClassType> discoverMembers) { Source = source; Unit = unit; Name = name; this.discoverMembers = discoverMembers; }
public static ClassType Actor(PtClass source, Unit unit, string name) { return(new ClassType(source, unit, name, ct => { ct.Discover(); })); }
public static ClassType Interface(PtClass source, Unit unit, string name) { return(new ClassType(source, unit, name, ct => { ct.Discover(); ct.NoFields("interface"); })); }
public static ClassType Struct(PtClass source, Unit unit, string name) { return(new ClassType(source, unit, name, ct => { ct.Discover(); ct.NoBehaviours("struct"); })); }
public static ClassType Alias(PtClass source, Unit unit, string name) { return(new ClassType(source, unit, name, ct => { ct.Discover(); ct.NoMembers("type alias"); })); }
public static ClassType Trait(PtClass source, Unit unit, string name) { return(new ClassType(source, unit, name, ct => { ct.Discover(); ct.NoFields("trait"); })); }
public static ClassType Primitive(PtClass source, Unit unit, string name) { return(new ClassType(source, unit, name, ct => { ct.Discover(); ct.NoFields("primitive"); ct.NoBehaviours("primitive"); })); }
protected virtual void DoVisit(PtClass node) => VisitChildren(node);