test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerBasicTest.java

Thu, 25 Jul 2013 11:02:27 +0200

author
jfranck
date
Thu, 25 Jul 2013 11:02:27 +0200
changeset 1918
a218f7befd55
parent 0
959103a6100f
permissions
-rw-r--r--

8007961: javax.lang.model tests for repeating annotations fail in getAnnotationsByType
Reviewed-by: jjg

     1 /*
     2  * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     8  *
     9  * This code is distributed in the hope that it will be useful, but WITHOUT
    10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    12  * version 2 for more details (a copy is included in the LICENSE file that
    13  * accompanied this code).
    14  *
    15  * You should have received a copy of the GNU General Public License version
    16  * 2 along with this work; if not, write to the Free Software Foundation,
    17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18  *
    19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    20  * or visit www.oracle.com if you need additional information or have any
    21  * questions.
    22  */
    24 /*
    25  * @test
    26  * @bug     8004822
    27  * @author  mnunez
    28  * @summary Language model api test basics for repeating annotations
    29  * @library /tools/javac/lib
    30  * @library supportingAnnotations
    31  * @build   JavacTestingAbstractProcessor ElementRepAnnoTester
    32  * @compile -processor ElementRepAnnoTester -proc:only
    33  * MixRepeatableAndOfficialContainerBasicTest.java
    34  */
    36 @ExpectedBase(
    37         value = Bar.class,
    38         getAnnotation = "@Bar(value=0)",
    39         getAnnotationsByType = {
    40             "@Bar(value=0)",
    41             "@Bar(value=1)",
    42             "@Bar(value=2)"
    43         },
    44         getAllAnnotationMirrors = {
    45             "@Bar(0)",
    46             "@BarContainer({@Bar(1), @Bar(2)})",
    47             "ExpectedBase",
    48             "ExpectedContainer"
    49         },
    50         getAnnotationMirrors = {
    51             "@Bar(0)",
    52             "@BarContainer({@Bar(1), @Bar(2)})",
    53             "ExpectedBase",
    54             "ExpectedContainer"
    55         })
    56 @ExpectedContainer(
    57         value = BarContainer.class,
    58         getAnnotation = "@BarContainer(value=[@Bar(value=1), @Bar(value=2)])",
    59         getAnnotationsByType = {"@BarContainer(value=[@Bar(value=1), @Bar(value=2)])"})
    60 @Bar(value = 0)
    61 @BarContainer(value = {@Bar(value = 1), @Bar(value = 2)})
    62 class MixRepeatableAndOfficialContainerBasicTest {
    64     @ExpectedBase(
    65             value = Bar.class,
    66             getAnnotation = "@Bar(value=0)",
    67             getAnnotationsByType = {
    68                 "@Bar(value=0)",
    69                 "@Bar(value=1)",
    70                 "@Bar(value=2)"
    71             },
    72             getAllAnnotationMirrors = {
    73                 "@Bar(0)",
    74                 "@BarContainer({@Bar(1), @Bar(2)})",
    75                 "ExpectedBase",
    76                 "ExpectedContainer"
    77             },
    78             getAnnotationMirrors = {
    79                 "@Bar(0)",
    80                 "@BarContainer({@Bar(1), @Bar(2)})",
    81                 "ExpectedBase",
    82                 "ExpectedContainer"
    83             })
    84     @ExpectedContainer(
    85             value = BarContainer.class,
    86             getAnnotation = "@BarContainer(value=[@Bar(value=1), @Bar(value=2)])",
    87             getAnnotationsByType = {"@BarContainer(value=[@Bar(value=1), @Bar(value=2)])"})
    88     @Bar(value = 0)
    89     @BarContainer(value = {@Bar(value = 1), @Bar(value = 2)})
    90     int testField = 0;
    92     @ExpectedBase(
    93             value = Bar.class,
    94             getAnnotation = "@Bar(value=0)",
    95             getAnnotationsByType = {
    96                 "@Bar(value=0)",
    97                 "@Bar(value=1)",
    98                 "@Bar(value=2)"
    99             },
   100             getAllAnnotationMirrors = {
   101                 "@Bar(0)",
   102                 "@BarContainer({@Bar(1), @Bar(2)})",
   103                 "ExpectedBase",
   104                 "ExpectedContainer"
   105             },
   106             getAnnotationMirrors = {
   107                 "@Bar(0)",
   108                 "@BarContainer({@Bar(1), @Bar(2)})",
   109                 "ExpectedBase",
   110                 "ExpectedContainer"
   111             })
   112     @ExpectedContainer(
   113             value = BarContainer.class,
   114             getAnnotation = "@BarContainer(value=[@Bar(value=1), @Bar(value=2)])",
   115             getAnnotationsByType = {"@BarContainer(value=[@Bar(value=1), @Bar(value=2)])"})
   116     @Bar(value = 0)
   117     @BarContainer(value = {@Bar(value = 1), @Bar(value = 2)})
   118     void testMethod() {}
   119    }

mercurial