src/share/classes/com/sun/tools/javadoc/TypeMaker.java

changeset 910
ebf7c13df6c0
parent 554
9d9f26857129
child 1357
c75be5bc5283
     1.1 --- a/src/share/classes/com/sun/tools/javadoc/TypeMaker.java	Fri Mar 04 11:33:37 2011 -0800
     1.2 +++ b/src/share/classes/com/sun/tools/javadoc/TypeMaker.java	Fri Mar 04 19:53:03 2011 -0800
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -27,15 +27,12 @@
    1.11  
    1.12  import com.sun.javadoc.*;
    1.13  
    1.14 -import static com.sun.javadoc.LanguageVersion.*;
    1.15 -
    1.16  import com.sun.tools.javac.code.Symbol;
    1.17  import com.sun.tools.javac.code.Symbol.ClassSymbol;
    1.18  import com.sun.tools.javac.code.Type;
    1.19  import com.sun.tools.javac.code.Type.ClassType;
    1.20  import com.sun.tools.javac.code.Type.TypeVar;
    1.21  import com.sun.tools.javac.code.Type.ArrayType;
    1.22 -import com.sun.tools.javac.code.Types;
    1.23  import com.sun.tools.javac.util.List;
    1.24  
    1.25  import static com.sun.tools.javac.code.TypeTags.*;
    1.26 @@ -109,12 +106,13 @@
    1.27      public static String getTypeName(Type t, boolean full) {
    1.28          switch (t.tag) {
    1.29          case ARRAY:
    1.30 -            StringBuffer dimension = new StringBuffer();
    1.31 +            StringBuilder s = new StringBuilder();
    1.32              while (t.tag == ARRAY) {
    1.33 -                dimension = dimension.append("[]");
    1.34 +                s.append("[]");
    1.35                  t = ((ArrayType)t).elemtype;
    1.36              }
    1.37 -            return getTypeName(t, full) + dimension;
    1.38 +            s.insert(0, getTypeName(t, full));
    1.39 +            return s.toString();
    1.40          case CLASS:
    1.41              return ClassDocImpl.getClassName((ClassSymbol)t.tsym, full);
    1.42          default:
    1.43 @@ -130,12 +128,13 @@
    1.44      static String getTypeString(DocEnv env, Type t, boolean full) {
    1.45          switch (t.tag) {
    1.46          case ARRAY:
    1.47 -            StringBuffer dimension = new StringBuffer();
    1.48 +            StringBuilder s = new StringBuilder();
    1.49              while (t.tag == ARRAY) {
    1.50 -                dimension = dimension.append("[]");
    1.51 +                s.append("[]");
    1.52                  t = env.types.elemtype(t);
    1.53              }
    1.54 -            return getTypeString(env, t, full) + dimension;
    1.55 +            s.insert(0, getTypeString(env, t, full));
    1.56 +            return s.toString();
    1.57          case CLASS:
    1.58              return ParameterizedTypeImpl.
    1.59                          parameterizedTypeToString(env, (ClassType)t, full);
    1.60 @@ -157,7 +156,7 @@
    1.61          if (env.legacyDoclet || sym.type.getTypeArguments().isEmpty()) {
    1.62              return "";
    1.63          }
    1.64 -        StringBuffer s = new StringBuffer();
    1.65 +        StringBuilder s = new StringBuilder();
    1.66          for (Type t : sym.type.getTypeArguments()) {
    1.67              s.append(s.length() == 0 ? "<" : ", ");
    1.68              s.append(TypeVariableImpl.typeVarToString(env, (TypeVar)t, full));
    1.69 @@ -175,7 +174,7 @@
    1.70          if (env.legacyDoclet || cl.getTypeArguments().isEmpty()) {
    1.71              return "";
    1.72          }
    1.73 -        StringBuffer s = new StringBuffer();
    1.74 +        StringBuilder s = new StringBuilder();
    1.75          for (Type t : cl.getTypeArguments()) {
    1.76              s.append(s.length() == 0 ? "<" : ", ");
    1.77              s.append(getTypeString(env, t, full));
    1.78 @@ -213,9 +212,9 @@
    1.79           * For example, a two dimensional array of String returns '[][]'.
    1.80           */
    1.81          public String dimension() {
    1.82 -            StringBuffer dimension = new StringBuffer();
    1.83 +            StringBuilder dimension = new StringBuilder();
    1.84              for (Type t = arrayType; t.tag == ARRAY; t = env.types.elemtype(t)) {
    1.85 -                dimension = dimension.append("[]");
    1.86 +                dimension.append("[]");
    1.87              }
    1.88              return dimension.toString();
    1.89          }
    1.90 @@ -304,6 +303,7 @@
    1.91           *
    1.92           * @return name of type including any dimension information.
    1.93           */
    1.94 +        @Override
    1.95          public String toString() {
    1.96              return qualifiedTypeName() + dimension();
    1.97          }

mercurial