Examples of IrDocField


Examples of com.asakusafw.utils.java.internal.parser.javadoc.ir.IrDocField

            FollowsReferenceBlockParser parser = new FollowsReferenceBlockParser();
            DefaultJavadocScanner scanner = string("#field");
            IrDocBlock block = parser.parse(null, scanner);
            List<? extends IrDocFragment> fragments = block.getFragments();
            assertKinds(fragments, FIELD);
            IrDocField field = (IrDocField) fragments.get(0);
            assertNull(field.getDeclaringType());
            assertEquals("field", field.getName().getIdentifier());
        }
        {
            FollowsReferenceBlockParser parser = new FollowsReferenceBlockParser();
            DefaultJavadocScanner scanner = string("A#field");
            IrDocBlock block = parser.parse(null, scanner);
            List<? extends IrDocFragment> fragments = block.getFragments();
            assertKinds(fragments, FIELD);
            IrDocField field = (IrDocField) fragments.get(0);
            assertEquals("A", field.getDeclaringType().getName().asString());
            assertEquals("field", field.getName().getIdentifier());
        }
        {
            FollowsReferenceBlockParser parser = new FollowsReferenceBlockParser();
            DefaultJavadocScanner scanner = string("hoge.foo.Bar#CONST");
            IrDocBlock block = parser.parse(null, scanner);
            List<? extends IrDocFragment> fragments = block.getFragments();
            assertKinds(fragments, FIELD);
            IrDocField field = (IrDocField) fragments.get(0);
            assertEquals("hoge.foo.Bar", field.getDeclaringType().getName().asString());
            assertEquals("CONST", field.getName().getIdentifier());
        }
        {
            FollowsReferenceBlockParser parser = new FollowsReferenceBlockParser();
            DefaultJavadocScanner scanner = string("\n  * hoge.foo.Bar#CONST");
            IrDocBlock block = parser.parse(null, scanner);
            List<? extends IrDocFragment> fragments = block.getFragments();
            assertKinds(fragments, FIELD);
            IrDocField field = (IrDocField) fragments.get(0);
            assertEquals("hoge.foo.Bar", field.getDeclaringType().getName().asString());
            assertEquals("CONST", field.getName().getIdentifier());
        }
    }
View Full Code Here

Examples of com.asakusafw.utils.java.internal.parser.javadoc.ir.IrDocField

     */
    @Test
    public void testFetchField() {
        {
            DefaultJavadocScanner scanner = string("Math#PI{");
            IrDocField elem = JavadocBlockParserUtil.fetchField(scanner, null);
            assertNotNull(elem);

            assertEquals("Math", elem.getDeclaringType().getName().asString());
            assertEquals("PI", elem.getName().getIdentifier());
            assertSameLocation(0, "Math#PI".length(), elem.getLocation());

            assertEquals(LEFT_BRACE, scanner.lookahead(0).getKind());
        }
        {
            DefaultJavadocScanner scanner = string("#PI{");
            IrDocField elem = JavadocBlockParserUtil.fetchField(scanner, null);
            assertNotNull(elem);

            assertNull(elem.getDeclaringType());
            assertEquals("PI", elem.getName().getIdentifier());
            assertSameLocation(0, "#PI".length(), elem.getLocation());

            assertEquals(LEFT_BRACE, scanner.lookahead(0).getKind());
        }
        {
            DefaultJavadocScanner scanner = string("/Math#PI");
            IrDocField elem = JavadocBlockParserUtil.fetchField(scanner, null);
            assertNull(elem);
            assertEquals(0, scanner.getIndex());
        }
        {
            DefaultJavadocScanner scanner = string("Math+#PI");
            IrDocField elem = JavadocBlockParserUtil.fetchField(scanner, null);
            assertNull(elem);
            assertEquals(0, scanner.getIndex());
        }
        {
            DefaultJavadocScanner scanner = string("Math#+PI");
            IrDocField elem = JavadocBlockParserUtil.fetchField(scanner, null);
            assertNull(elem);
            assertEquals(0, scanner.getIndex());
        }
        {
            DefaultJavadocScanner scanner = string("Math#PI{");
            IrDocField elem = JavadocBlockParserUtil.fetchField(scanner, EnumSet.of(WHITE_SPACES));
            assertNull(elem);
            assertEquals(0, scanner.getIndex());
        }
    }
View Full Code Here

Examples of com.asakusafw.utils.java.internal.parser.javadoc.ir.IrDocField

        {
            DefaultJavadocScanner scanner = string("Math#PI{");
            IrDocFragment target = JavadocBlockParserUtil.fetchLinkTarget(scanner, null);
            assertNotNull(target);
            assertEquals(IrDocElementKind.FIELD, target.getKind());
            IrDocField elem = (IrDocField) target;
            assertEquals("Math", elem.getDeclaringType().getName().asString());
            assertEquals("PI", elem.getName().getIdentifier());
            assertSameLocation(0, "Math#PI".length(), elem.getLocation());

            assertEquals(LEFT_BRACE, scanner.lookahead(0).getKind());
        }
        {
            DefaultJavadocScanner scanner = string("Math#max(int a, int b)");
            IrDocFragment target = JavadocBlockParserUtil.fetchLinkTarget(scanner, null);
            assertNotNull(target);
            assertEquals(IrDocElementKind.METHOD, target.getKind());
            IrDocMethod elem = (IrDocMethod) target;
            assertEquals("Math", elem.getDeclaringType().getName().asString());
            assertEquals("max", elem.getName().asString());
            assertEquals(2, elem.getParameters().size());
            {
                IrDocMethodParameter param = elem.getParameters().get(0);
                assertEquals(IrDocElementKind.BASIC_TYPE, param.getType().getKind());
                assertEquals(IrBasicTypeKind.INT, ((IrDocBasicType) param.getType()).getTypeKind());
                assertFalse(param.isVariableArity());
                assertNotNull(param.getName());
                assertEquals("a", param.getName().getIdentifier());
            }
            {
                IrDocMethodParameter param = elem.getParameters().get(1);
                assertEquals(IrDocElementKind.BASIC_TYPE, param.getType().getKind());
                assertEquals(IrBasicTypeKind.INT, ((IrDocBasicType) param.getType()).getTypeKind());
                assertFalse(param.isVariableArity());
                assertNotNull(param.getName());
                assertEquals("b", param.getName().getIdentifier());
View Full Code Here

Examples of com.asakusafw.utils.java.internal.parser.javadoc.ir.IrDocField

     */
    public static IrDocField fetchField(JavadocScanner scanner,
            Set<JavadocTokenKind> follow) {
        JavadocTokenStream stream = new DefaultJavadocTokenStream(scanner);
        stream.mark();
        IrDocField elem = fetchField(stream);
        if (!follows(stream, follow)) {
            stream.rewind();
            return null;
        } else {
            stream.discard();
View Full Code Here

Examples of com.asakusafw.utils.java.internal.parser.javadoc.ir.IrDocField

            Set<JavadocTokenKind> follow) {
        IrDocMethod method = fetchMethod(scanner, follow);
        if (method != null) {
            return method;
        }
        IrDocField field = fetchField(scanner, follow);
        if (field != null) {
            return field;
        }
        IrDocNamedType type = fetchNamedType(scanner, follow);
        if (type != null) {
View Full Code Here

Examples of com.asakusafw.utils.java.internal.parser.javadoc.ir.IrDocField

        return null;
    }

    private static IrDocMethod fetchMethod(JavadocTokenStream stream) {
        stream.mark();
        IrDocField field = fetchField(stream);
        if (field == null) {
            stream.rewind();
            return null;
        }

        if (consumeIfMatch(stream, LEFT_PAREN) == null) {
            stream.rewind();
            return null;
        }

        JavadocToken delim;
        List<IrDocMethodParameter> parameters;
        IrDocMethodParameter first = fetchMethodParameter(stream);
        if (first == null) {
            delim = consumeIfMatch(stream, RIGHT_PAREN);
            if (delim == null) {
                stream.rewind();
                return null;
            }
            parameters = Collections.emptyList();
        } else {
            parameters = new ArrayList<IrDocMethodParameter>();
            parameters.add(first);
            while (true) {
                delim = stream.nextToken();
                if (delim.getKind() == RIGHT_PAREN) {
                    break;
                } else if (delim.getKind() == COMMA) {
                    IrDocMethodParameter p = fetchMethodParameter(stream);
                    if (p == null) {
                        stream.rewind();
                        return null;
                    }
                    parameters.add(p);
                } else {
                    stream.rewind();
                    return null;
                }
            }
        }
        stream.discard();

        IrDocMethod elem = new IrDocMethod();
        elem.setDeclaringType(field.getDeclaringType());
        elem.setName(field.getName());
        elem.setParameters(parameters);
        setLocation(elem, field.getLocation(), delim.getLocation());
        return elem;
    }
View Full Code Here

Examples of com.asakusafw.utils.java.internal.parser.javadoc.ir.IrDocField

        if (name == null) {
            stream.rewind();
            return null;
        }

        IrDocField elem = new IrDocField();
        elem.setDeclaringType(decl);
        elem.setName(name);
        setLocation(elem, decl == null ? sharp.getLocation() : decl
            .getLocation(), name.getLocation());

        return elem;
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.