Examples of IrDocMethod


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

            FollowsReferenceBlockParser parser = new FollowsReferenceBlockParser();
            DefaultJavadocScanner scanner = string("#method()");
            IrDocBlock block = parser.parse(null, scanner);
            List<? extends IrDocFragment> fragments = block.getFragments();
            assertKinds(fragments, METHOD);
            IrDocMethod method = (IrDocMethod) fragments.get(0);
            assertNull(method.getDeclaringType());
            assertEquals("method", method.getName().getIdentifier());
            assertEquals(0, method.getParameters().size());
        }
        {
            FollowsReferenceBlockParser parser = new FollowsReferenceBlockParser();
            DefaultJavadocScanner scanner = string("#method(int)");
            IrDocBlock block = parser.parse(null, scanner);
            List<? extends IrDocFragment> fragments = block.getFragments();
            assertKinds(fragments, METHOD);
            IrDocMethod method = (IrDocMethod) fragments.get(0);
            assertNull(method.getDeclaringType());
            assertEquals("method", method.getName().getIdentifier());
            assertEquals(1, method.getParameters().size());
            {
                IrDocMethodParameter param = method.getParameters().get(0);
                assertEquals(BASIC_TYPE, param.getType().getKind());
                assertEquals(IrBasicTypeKind.INT, ((IrDocBasicType) param.getType()).getTypeKind());
            }
        }
    }
View Full Code Here

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

     */
    @Test
    public void testFetchMethod() {
        {
            DefaultJavadocScanner scanner = string("String#length(){");
            IrDocMethod elem = JavadocBlockParserUtil.fetchMethod(scanner, null);
            assertNotNull(elem);
            assertEquals("String", elem.getDeclaringType().getName().asString());
            assertEquals("length", elem.getName().asString());
            assertEquals(0, elem.getParameters().size());
            assertEquals(LEFT_BRACE, scanner.lookahead(0).getKind());
        }
        {
            DefaultJavadocScanner scanner = string("#length(){");
            IrDocMethod elem = JavadocBlockParserUtil.fetchMethod(scanner, null);
            assertNotNull(elem);
            assertNull(elem.getDeclaringType());
            assertEquals("length", elem.getName().asString());
            assertEquals(0, elem.getParameters().size());
            assertEquals(LEFT_BRACE, scanner.lookahead(0).getKind());
        }
        {
            DefaultJavadocScanner scanner = string("Math#abs(int)");
            IrDocMethod elem = JavadocBlockParserUtil.fetchMethod(scanner, null);
            assertNotNull(elem);
            assertEquals("Math", elem.getDeclaringType().getName().asString());
            assertEquals("abs", elem.getName().asString());
            assertEquals(1, elem.getParameters().size());
            {
                IrDocMethodParameter param = elem.getParameters().get(0);
                assertEquals(IrDocElementKind.BASIC_TYPE, param.getType().getKind());
                assertEquals(IrBasicTypeKind.INT, ((IrDocBasicType) param.getType()).getTypeKind());
                assertNull(param.getName());
            }
            assertEquals(EOF, scanner.lookahead(0).getKind());
        }
        {
            DefaultJavadocScanner scanner = string("Math#abs(int number)");
            IrDocMethod elem = JavadocBlockParserUtil.fetchMethod(scanner, null);
            assertNotNull(elem);
            assertEquals("Math", elem.getDeclaringType().getName().asString());
            assertEquals("abs", elem.getName().asString());
            assertEquals(1, 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("number", param.getName().getIdentifier());
            }
            assertEquals(EOF, scanner.lookahead(0).getKind());
        }
        {
            DefaultJavadocScanner scanner = string("Arrays#asList(Object...)");
            IrDocMethod elem = JavadocBlockParserUtil.fetchMethod(scanner, null);
            assertNotNull(elem);
            assertEquals("Arrays", elem.getDeclaringType().getName().asString());
            assertEquals("asList", elem.getName().asString());
            assertEquals(1, elem.getParameters().size());
            {
                IrDocMethodParameter param = elem.getParameters().get(0);
                assertEquals(IrDocElementKind.NAMED_TYPE, param.getType().getKind());
                assertEquals("Object", ((IrDocNamedType) param.getType()).getName().asString());
                assertTrue(param.isVariableArity());
                assertNull(param.getName());
            }
            assertEquals(EOF, scanner.lookahead(0).getKind());
        }
        {
            DefaultJavadocScanner scanner = string("Arrays#asList(Object...elems)");
            IrDocMethod elem = JavadocBlockParserUtil.fetchMethod(scanner, null);
            assertNotNull(elem);
            assertEquals("Arrays", elem.getDeclaringType().getName().asString());
            assertEquals("asList", elem.getName().asString());
            assertEquals(1, elem.getParameters().size());
            {
                IrDocMethodParameter param = elem.getParameters().get(0);
                assertEquals(IrDocElementKind.NAMED_TYPE, param.getType().getKind());
                assertEquals("Object", ((IrDocNamedType) param.getType()).getName().asString());
                assertTrue(param.isVariableArity());
                assertNotNull(param.getName());
                assertEquals("elems", param.getName().getIdentifier());
            }
            assertEquals(EOF, scanner.lookahead(0).getKind());
        }
        {
            DefaultJavadocScanner scanner = string("Math#max(int, int)");
            IrDocMethod elem = JavadocBlockParserUtil.fetchMethod(scanner, null);
            assertNotNull(elem);
            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());
                assertNull(param.getName());
            }
            {
                IrDocMethodParameter param = elem.getParameters().get(1);
                assertEquals(IrDocElementKind.BASIC_TYPE, param.getType().getKind());
                assertEquals(IrBasicTypeKind.INT, ((IrDocBasicType) param.getType()).getTypeKind());
                assertFalse(param.isVariableArity());
                assertNull(param.getName());
            }
            assertEquals(EOF, scanner.lookahead(0).getKind());
        }
        {
            DefaultJavadocScanner scanner = string("Math#max(int a, int b)");
            IrDocMethod elem = JavadocBlockParserUtil.fetchMethod(scanner, null);
            assertNotNull(elem);
            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());
            }
            assertEquals(EOF, scanner.lookahead(0).getKind());
        }
        {
            DefaultJavadocScanner scanner = string("/Math#max(int a, int b)");
            IrDocMethod elem = JavadocBlockParserUtil.fetchMethod(scanner, null);
            assertNull(elem);
            assertEquals(0, scanner.getIndex());
        }
        {
            DefaultJavadocScanner scanner = string("Math+#max(int a, int b)");
            IrDocMethod elem = JavadocBlockParserUtil.fetchMethod(scanner, null);
            assertNull(elem);
            assertEquals(0, scanner.getIndex());
        }
        {
            DefaultJavadocScanner scanner = string("Math#+max(int a, int b)");
            IrDocMethod elem = JavadocBlockParserUtil.fetchMethod(scanner, null);
            assertNull(elem);
            assertEquals(0, scanner.getIndex());
        }
        {
            DefaultJavadocScanner scanner = string("Math#max+(int a, int b)");
            IrDocMethod elem = JavadocBlockParserUtil.fetchMethod(scanner, null);
            assertNull(elem);
            assertEquals(0, scanner.getIndex());
        }
        {
            DefaultJavadocScanner scanner = string("Math#max(+int a, int b)");
            IrDocMethod elem = JavadocBlockParserUtil.fetchMethod(scanner, null);
            assertNull(elem);
            assertEquals(0, scanner.getIndex());
        }
        {
            DefaultJavadocScanner scanner = string("Math#max(int *a, int b)");
            IrDocMethod elem = JavadocBlockParserUtil.fetchMethod(scanner, null);
            assertNull(elem);
            assertEquals(0, scanner.getIndex());
        }
        {
            DefaultJavadocScanner scanner = string("Math#max(int a+, int b)");
            IrDocMethod elem = JavadocBlockParserUtil.fetchMethod(scanner, null);
            assertNull(elem);
            assertEquals(0, scanner.getIndex());
        }
        {
            DefaultJavadocScanner scanner = string("Math#max(int a int b)");
            IrDocMethod elem = JavadocBlockParserUtil.fetchMethod(scanner, null);
            assertNull(elem);
            assertEquals(0, scanner.getIndex());
        }
        {
            DefaultJavadocScanner scanner = string("Math#max(int a, int b");
            IrDocMethod elem = JavadocBlockParserUtil.fetchMethod(scanner, null);
            assertNull(elem);
            assertEquals(0, scanner.getIndex());
        }
        {
            DefaultJavadocScanner scanner = string("String#length(){");
            IrDocMethod elem = JavadocBlockParserUtil.fetchMethod(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.IrDocMethod

        {
            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.IrDocMethod

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

     * @return 成功した場合は次の要素、失敗した場合は{@code null}
     * @throws IllegalArgumentException 省略可能でない引数に{@code null}が含まれていた場合
     */
    public static IrDocFragment fetchLinkTarget(JavadocScanner scanner,
            Set<JavadocTokenKind> follow) {
        IrDocMethod method = fetchMethod(scanner, follow);
        if (method != null) {
            return method;
        }
        IrDocField field = fetchField(scanner, follow);
        if (field != null) {
View Full Code Here

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

                }
            }
        }
        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
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.