public override ASTN VisitClassDefine([NotNull] ClassDefineContext context) { ClassNode node = new ClassNode(context) { features = new List <FeatureNode>(), Inherit = context.TYPE(1) == null ? TypeNode.OBJECT : new TypeNode(context.TYPE(1).Symbol.Line, context.TYPE(1).Symbol.Column, context.TYPE(1).GetText()), type = new TypeNode(context.TYPE(0).Symbol.Line, context.TYPE(0).Symbol.Column, context.TYPE(0).GetText()) }; foreach (var feat in context.feature()) { node.features.Add(VisitFeature(feat) as FeatureNode); } return(node); }