Examples of IrDocNamedType


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

     */
    @Test
    public void testFetchNamedType() {
        {
            DefaultJavadocScanner scanner = string("String#length()");
            IrDocNamedType elem = JavadocBlockParserUtil.fetchNamedType(scanner, null);
            assertNotNull(elem);
            assertEquals("String", elem.getName().asString());
            assertSameLocation(0, "String".length(), elem.getLocation());
            assertEquals(SHARP, scanner.lookahead(0).getKind());
        }
        {
            DefaultJavadocScanner scanner = string("java.lang.String#length()");
            IrDocNamedType elem = JavadocBlockParserUtil.fetchNamedType(scanner, null);
            assertNotNull(elem);
            assertEquals("java.lang.String", elem.getName().asString());
            assertSameLocation(0, "java.lang.String".length(), elem.getLocation());
            assertEquals(SHARP, scanner.lookahead(0).getKind());
        }
        {
            DefaultJavadocScanner scanner = string("/String#length()");
            IrDocNamedType elem = JavadocBlockParserUtil.fetchNamedType(scanner, null);
            assertNull(elem);
            assertEquals(SLASH, scanner.lookahead(0).getKind());
        }
        {
            DefaultJavadocScanner scanner = string("String#length()");
            IrDocNamedType elem = JavadocBlockParserUtil.fetchNamedType(scanner, EnumSet.of(WHITE_SPACES));
            assertNull(elem);
            assertEquals(IDENTIFIER, scanner.lookahead(0).getKind());
        }
    }
View Full Code Here

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

        {
            DefaultJavadocScanner scanner = string("java.lang.String");
            IrDocType type = JavadocBlockParserUtil.fetchType(scanner, null);
            assertNotNull(type);
            assertEquals(IrDocElementKind.NAMED_TYPE, type.getKind());
            IrDocNamedType elem = (IrDocNamedType) type;
            assertEquals("java.lang.String", elem.getName().asString());
            assertSameLocation(0, "java.lang.String".length(), elem.getLocation());
            assertEquals(EOF, scanner.lookahead(0).getKind());
        }
        {
            DefaultJavadocScanner scanner = string("java.lang.String[]");
            IrDocType type = JavadocBlockParserUtil.fetchType(scanner, null);
            assertNotNull(type);

            assertEquals(IrDocElementKind.ARRAY_TYPE, type.getKind());
            IrDocArrayType array = (IrDocArrayType) type;
            assertSameLocation(0, "java.lang.String[]".length(), array.getLocation());

            IrDocNamedType elem = (IrDocNamedType) array.getComponentType();
            assertEquals("java.lang.String", elem.getName().asString());
            assertSameLocation(0, "java.lang.String".length(), elem.getLocation());

            assertEquals(EOF, scanner.lookahead(0).getKind());
        }
    }
View Full Code Here

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

        {
            DefaultJavadocScanner scanner = string("java.lang.String");
            IrDocFragment target = JavadocBlockParserUtil.fetchLinkTarget(scanner, null);
            assertNotNull(target);
            assertEquals(IrDocElementKind.NAMED_TYPE, target.getKind());
            IrDocNamedType elem = (IrDocNamedType) target;
            assertEquals("java.lang.String", elem.getName().asString());
            assertSameLocation(0, "java.lang.String".length(), elem.getLocation());
            assertEquals(EOF, scanner.lookahead(0).getKind());
        }
        {
            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.IrDocNamedType

     */
    public static IrDocNamedType fetchNamedType(JavadocScanner scanner,
            Set<JavadocTokenKind> follow) {
        JavadocTokenStream stream = new DefaultJavadocTokenStream(scanner);
        stream.mark();
        IrDocNamedType elem = fetchNamedType(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.IrDocNamedType

        }
        IrDocField field = fetchField(scanner, follow);
        if (field != null) {
            return field;
        }
        IrDocNamedType type = fetchNamedType(scanner, follow);
        if (type != null) {
            return type;
        }

        return null;
View Full Code Here

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

    }

    private static IrDocField fetchField(JavadocTokenStream stream) {
        stream.mark();

        IrDocNamedType decl = fetchNamedType(stream);

        JavadocToken sharp = consumeIfMatch(stream, SHARP);
        if (sharp == null) {
            stream.rewind();
            return null;
        }

        IrDocSimpleName name = fetchSimpleName(stream);
        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

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

    private static IrDocNamedType fetchNamedType(JavadocTokenStream stream) {
        IrDocName name = fetchName(stream);
        if (name == null) {
            return null;
        }
        IrDocNamedType elem = new IrDocNamedType(name);
        setLocation(elem, name.getLocation(), name.getLocation());
        return elem;
    }
View Full Code Here

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

            IrDocName name = fetchName(stream);
            if (name == null) {
                stream.rewind();
                return null;
            }
            elem = new IrDocNamedType(name);
            elem.setLocation(name.getLocation());
        }
        while (true) {
            stream.mark();
            if (consumeIfMatch(stream, JavadocTokenKind.LEFT_BRACKET) == null) {
View Full Code Here

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

    }

    @Override
    public IrDocBlock parse(String tag, JavadocScanner scanner) throws JavadocParseException {
        ArrayList<IrDocFragment> fragments = new ArrayList<IrDocFragment>();
        IrDocNamedType namedType = fetchNamedType(scanner);
        if (namedType != null) {
            fragments.add(namedType);
        }
        fragments.addAll(fetchRestFragments(scanner));
        fragments.trimToSize();
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.