public override object VisitClassName([NotNull] classlist_langParser.ClassNameContext context) { //Check if class already exists in current list if (currentClassList == null) { return(base.VisitClassName(context)); } bool exists = false; foreach (var @class in currentClassList.Classes) { if (@class.Name == context.GetText()) { Errors.Add(new ErrorDescriptor("Class '" + @class.Name + "' already exists in classlist", context.Start.Line, context.Start.Column, context.Start.StartIndex, context.Start.StopIndex)); exists = true; break; } } if (!exists) { Class c = new Class(); c.Name = context.GetText(); currentClassList.AddClass(c); } return(base.VisitClassName(context)); }
public override object VisitClassName([NotNull] classlist_langParser.ClassNameContext context) { //Create new class and save it as current class Class c = new Class(); c.Name = context.STR().GetText(); if (currentClassList == null) { throw new Exception("currentClassList == null"); } currentClassList.Classes.Add(c); currentClass = c; return(base.VisitClassName(context)); }