|
135 | 135 |
|
136 | 136 | // TODO: superclass inheritance for JAXB XmlAccessorType |
137 | 137 |
|
| 138 | +//BH 2020.11.20 -- 3.2.9-v1q fix for new ImmutableCollections.ListN<>(E...) should use Object[] |
138 | 139 | //BH 2020.08.03 -- 3.2.9-v1p fix for boxing boolean should be Boolean.valueOf$, not new Boolean |
139 | 140 | //BH 2020.08.01 -- 3.2.9-v1o fix for lambda expressions too static |
140 | 141 | //BH 2020.07.08 -- 3.2.9-v1n fix for try with resources and adds option varOrLet |
@@ -4258,6 +4259,8 @@ private String clazzArray(ITypeBinding type, int dimFlag) { |
4258 | 4259 | ITypeBinding ebinding = type.getElementType(); |
4259 | 4260 | if (ebinding == null) |
4260 | 4261 | ebinding = type; // creating for Enum |
| 4262 | + |
| 4263 | + System.out.println("J2S.clazzArray " + type + " k=" + type.getKey() + " n=" + type.getName()); |
4261 | 4264 | String params = (ebinding.isPrimitive() ? NameMapper.getPrimitiveTYPE(ebinding.getName()) + ".TYPE" |
4262 | 4265 | : getFinalJ2SClassNameQualifier(null, ebinding, null, FINAL_ESCAPECACHE)) |
4263 | 4266 | + (dimFlag == ARRAY_DIM_ONLY ? "" : ", " + (Math.abs(dimFlag) * type.getDimensions() * -1)); |
@@ -5133,13 +5136,22 @@ String getFinalJ2SClassNameQualifier(Name methodQualifier, ITypeBinding declarin |
5133 | 5136 | // It will require synchronous loading, |
5134 | 5137 | // but it will ensure that a class is only |
5135 | 5138 | // loaded when it is really needed. |
5136 | | - |
| 5139 | + |
5137 | 5140 | if (declaringJavaClassName == null) |
5138 | 5141 | declaringJavaClassName = getUnreplacedJavaClassNameQualified(declaringJavaClass); |
| 5142 | + |
5139 | 5143 | boolean isStatic = ((flags & FINAL_STATIC) == FINAL_STATIC); |
5140 | 5144 | boolean doEscape = isStatic || ((flags & FINAL_ESCAPE) == FINAL_ESCAPE); |
5141 | 5145 | boolean doCache = ((flags & FINAL_CACHE) == FINAL_CACHE); |
5142 | 5146 | String name = removeBracketsAndFixNullPackageName(declaringJavaClassName); |
| 5147 | + if (name.equals("_.")) { |
| 5148 | +// 2020.11.20 -- 3.2.9-v1q generated by |
| 5149 | +// static <E> java.util.List<E> of(E e1, E e2, E e3, E e4) { |
| 5150 | +// return new ImmutableCollections.ListN<>(e1, e2, e3, e4); |
| 5151 | +// } |
| 5152 | + |
| 5153 | + return "java.lang.Object"; |
| 5154 | + } |
5143 | 5155 | doEscape &= !NameMapper.isClassKnown(name); |
5144 | 5156 | if (!doEscape) { |
5145 | 5157 | if (methodQualifier != null) { |
|
0 commit comments