Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }