public static void Parse(this CSharpParser.Class_definitionContext context)
        {
            Console.WriteLine("  " + context.identifier().GetText());

            if (context.type_parameter_list() != null)
            {
                throw new NotImplementedException("Type parameters not implemented yet");
            }
            if (context.class_base() != null)
            {
                throw new NotImplementedException("Base class not supported yet");
            }
            if (context.type_parameter_constraints_clauses() != null)
            {
                throw new NotImplementedException("Type parameter contrainsts not implemented yet");
            }

            CSharpParser.Class_bodyContext cbody = context.class_body();
            if (cbody.class_member_declarations() != null)
            {
                foreach (
                    CSharpParser.Class_member_declarationContext declarationContext in
                    cbody.class_member_declarations().class_member_declaration())
                {
                    declarationContext.Parse();
                }
            }
        }
Beispiel #2
0
        public override void EnterClass_body(CSharpParser.Class_bodyContext context)
        {
            Console.WriteLine();
            Console.WriteLine(context.GetText());

            foreach (var classMemberDeclaration in context.class_member_declarations().class_member_declaration())
            {
                var typedMemberDeclarationListener = new TypedMemberDeclarationListener(_className);
                classMemberDeclaration.common_member_declaration().typed_member_declaration().EnterRule(typedMemberDeclarationListener);

                if (typedMemberDeclarationListener.MethodInfo != null)
                {
                    MethodInfos.Add(typedMemberDeclarationListener.MethodInfo);
                }

                if (typedMemberDeclarationListener.FieldInfo != null)
                {
                    FieldInfos.Add(typedMemberDeclarationListener.FieldInfo);
                }

                /*Console.WriteLine();
                 * Console.WriteLine(classMemberDeclaration.attributes().GetText());
                 * Console.WriteLine();
                 * Console.WriteLine(classMemberDeclaration.all_member_modifiers().GetText());
                 * Console.WriteLine(classMemberDeclaration.common_member_declaration().GetText());*/
            }
        }