< prev index next >

src/jdk.compiler/share/classes/com/sun/tools/javac/code/Attribute.java

Print this page




 230         /**
 231          * Returns a string representation of this annotation.
 232          * String is of one of the forms:
 233          * <pre>
 234          *     {@code @com.example.foo(name1=val1, name2=val2)}
 235          *     {@code @com.example.foo(val)}
 236          *     {@code @com.example.foo}
 237          * </pre>
 238          * Omit parens for marker annotations, and omit "value=" when allowed.
 239          */
 240         @DefinedBy(Api.LANGUAGE_MODEL)
 241         public String toString() {
 242             StringBuilder buf = new StringBuilder();
 243             buf.append("@");
 244             buf.append(type);
 245             int len = values.length();
 246             if (len > 0) {
 247                 buf.append('(');
 248                 boolean first = true;
 249                 for (Pair<MethodSymbol, Attribute> value : values) {
 250                     if (!first) buf.append(", ");

 251                     first = false;
 252 
 253                     Name name = value.fst.name;
 254                     if (len > 1 || name != name.table.names.value) {
 255                         buf.append(name);
 256                         buf.append('=');
 257                     }
 258                     buf.append(value.snd);
 259                 }
 260                 buf.append(')');
 261             }
 262             return buf.toString();
 263         }
 264 
 265         public Attribute member(Name member) {
 266             Pair<MethodSymbol,Attribute> res = getElemPair(member);
 267             return res == null ? null : res.snd;
 268         }
 269 
 270         private Pair<MethodSymbol, Attribute> getElemPair(Name member) {




 230         /**
 231          * Returns a string representation of this annotation.
 232          * String is of one of the forms:
 233          * <pre>
 234          *     {@code @com.example.foo(name1=val1, name2=val2)}
 235          *     {@code @com.example.foo(val)}
 236          *     {@code @com.example.foo}
 237          * </pre>
 238          * Omit parens for marker annotations, and omit "value=" when allowed.
 239          */
 240         @DefinedBy(Api.LANGUAGE_MODEL)
 241         public String toString() {
 242             StringBuilder buf = new StringBuilder();
 243             buf.append("@");
 244             buf.append(type);
 245             int len = values.length();
 246             if (len > 0) {
 247                 buf.append('(');
 248                 boolean first = true;
 249                 for (Pair<MethodSymbol, Attribute> value : values) {
 250                     if (!first)
 251                         buf.append(", ");
 252                     first = false;
 253 
 254                     Name name = value.fst.name;
 255                     if (len > 1 || name != name.table.names.value) {
 256                         buf.append(name);
 257                         buf.append('=');
 258                     }
 259                     buf.append(value.snd);
 260                 }
 261                 buf.append(')');
 262             }
 263             return buf.toString();
 264         }
 265 
 266         public Attribute member(Name member) {
 267             Pair<MethodSymbol,Attribute> res = getElemPair(member);
 268             return res == null ? null : res.snd;
 269         }
 270 
 271         private Pair<MethodSymbol, Attribute> getElemPair(Name member) {


< prev index next >