コード例 #1
0
ファイル: Program.cs プロジェクト: alexeyvale/SYRCoSE-2019
        public override bool VisitInterfaceDeclaration([NotNull] JavaParser.InterfaceDeclarationContext context)
        {
            ++ClassInterfaceCounter;
            ClassesInterfaces.Add(context.IDENTIFIER().GetText());

            return(base.VisitChildren(context));
        }
コード例 #2
0
        public override void EnterInterfaceDeclaration(JavaParser.InterfaceDeclarationContext context)
        {
            string name = context.IDENTIFIER().GetText();

            string classPackageFqn = string.IsNullOrEmpty(packageFqn)
                ? name
                : $"{packageFqn}.{name}";

            ClassName className = new ClassName($"{parentFilePath}|{classPackageFqn}");

            string headerText = context.GetFullText();

            if (headerText.Contains("{"))
            {
                headerText = headerText.Substring(
                    0,
                    headerText.IndexOf("{", StringComparison.Ordinal));
            }

            InterfaceBodyListener classBodyListener =
                new InterfaceBodyListener(className);

            context.interfaceBody().EnterRule(classBodyListener);

            InterfaceInfo = new ClassInfo(
                className,
                classBodyListener.MethodInfos,
                new List <FieldInfo>(),
                modifier,
                new List <ClassInfo>(),
                new SourceCodeSnippet(headerText, SourceCodeLanguage.Java),
                false);
        }
コード例 #3
0
        public UstNode VisitInterfaceDeclaration(JavaParser.InterfaceDeclarationContext context)
        {
            var typeTypeToken = new TypeTypeLiteral(TypeType.Interface,
                                                    context.GetChild <ITerminalNode>(0).Symbol.GetTextSpan(), FileNode);

            var id = (IdToken)Visit(context.IDENTIFIER());

            // TODO: Modifiers
            EntityDeclaration[] typeMembers = context.interfaceBody().interfaceBodyDeclaration()
                                              .Select(dec => Visit(dec) as EntityDeclaration)
                                              .Where(dec => dec != null).ToArray();

            var result = new TypeDeclaration(typeTypeToken, id, typeMembers, context.GetTextSpan(), FileNode);

            return(result);
        }
コード例 #4
0
        public Ust VisitInterfaceDeclaration(JavaParser.InterfaceDeclarationContext context)
        {
            var typeTypeToken = new TypeTypeLiteral(TypeType.Interface,
                                                    context.GetChild <ITerminalNode>(0).Symbol.GetTextSpan());

            var id = (IdToken)Visit(context.IDENTIFIER());

            EntityDeclaration[] typeMembers = context.interfaceBody().interfaceBodyDeclaration()
                                              .Select(dec => Visit(dec) as EntityDeclaration)
                                              .Where(dec => dec != null).ToArray();

            var baseTypes = new List <TypeToken>();

            if (context.typeList() != null)
            {
                baseTypes = context.typeList().typeType().Select(t => (TypeToken)Visit(t)).ToList();
            }

            var result = new TypeDeclaration(typeTypeToken, id, baseTypes, typeMembers, context.GetTextSpan());

            return(result);
        }