protected override void VisitTypeStructClassNode(TypeStructClassNode node) { switch (node) { case StructNode s: VisitStructNode(s); break; case ClassNode c: VisitClassNode(c); break; } }
protected void WalkTypeStructClassNode(TypeStructClassNode node) { if (node == null) { return; } var properties = new List <PropertyNode>(); var fields = new List <FieldNode>(); var methods = new List <MethodNode>(); node.Members?.ForEach(m => PrepareMembers(m, properties, fields, methods)); properties.ForEach(p => VisitPropertyNode(p)); fields.ForEach(f => VisitFieldNode(f)); node.Constructors?.ForEach(c => VisitConstructorNode(node.Name, c)); methods.ForEach(m => VisitMethodNode(m)); }
protected virtual void VisitTypeStructClassNode(TypeStructClassNode node) { WalkTypeStructClassNode(node); }