In java.15 some of the reflection APIs are overloaded to be usable via varargs, so untyped things cause confusion. These are everywhere that bootstrap complains. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@277008 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -518,7 +518,7 @@ public class AntClassLoader extends ClassLoader implements SubBuildListener { | |||||
| if (cons.length > 0 && cons[0] != null) { | if (cons.length > 0 && cons[0] != null) { | ||||
| final String[] strs = new String[NUMBER_OF_STRINGS]; | final String[] strs = new String[NUMBER_OF_STRINGS]; | ||||
| try { | try { | ||||
| cons[0].newInstance(strs); | |||||
| cons[0].newInstance((Object[])strs); | |||||
| // Expecting an exception to be thrown by this call: | // Expecting an exception to be thrown by this call: | ||||
| // IllegalArgumentException: wrong number of Arguments | // IllegalArgumentException: wrong number of Arguments | ||||
| } catch (Throwable t) { | } catch (Throwable t) { | ||||
| @@ -295,7 +295,7 @@ public class ComponentHelper { | |||||
| throw new BuildException(message); | throw new BuildException(message); | ||||
| } | } | ||||
| try { | try { | ||||
| taskClass.getConstructor(null); | |||||
| taskClass.getConstructor((Class[])null); | |||||
| // don't have to check for public, since | // don't have to check for public, since | ||||
| // getConstructor finds public constructors only. | // getConstructor finds public constructors only. | ||||
| } catch (NoSuchMethodException e) { | } catch (NoSuchMethodException e) { | ||||
| @@ -131,11 +131,11 @@ public final class Diagnostics { | |||||
| try { | try { | ||||
| // Package pkg = clazz.getPackage(); | // Package pkg = clazz.getPackage(); | ||||
| Method method = Class.class.getMethod("getPackage", new Class[0]); | Method method = Class.class.getMethod("getPackage", new Class[0]); | ||||
| Object pkg = method.invoke(clazz, null); | |||||
| Object pkg = method.invoke(clazz, (Object[])null); | |||||
| if (pkg != null) { | if (pkg != null) { | ||||
| // pkg.getImplementationVersion(); | // pkg.getImplementationVersion(); | ||||
| method = pkg.getClass().getMethod("getImplementationVersion", new Class[0]); | method = pkg.getClass().getMethod("getImplementationVersion", new Class[0]); | ||||
| Object version = method.invoke(pkg, null); | |||||
| Object version = method.invoke(pkg, (Object[])null); | |||||
| return (String) version; | return (String) version; | ||||
| } | } | ||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| @@ -540,7 +540,7 @@ public final class IntrospectionHelper implements BuildListener { | |||||
| } | } | ||||
| } | } | ||||
| try { | try { | ||||
| addText.invoke(element, new String[] {text}); | |||||
| addText.invoke(element, new Object[] {text}); | |||||
| } catch (IllegalAccessException ie) { | } catch (IllegalAccessException ie) { | ||||
| // impossible as getMethods should only return public methods | // impossible as getMethods should only return public methods | ||||
| throw new BuildException(ie); | throw new BuildException(ie); | ||||
| @@ -1050,7 +1050,7 @@ public final class IntrospectionHelper implements BuildListener { | |||||
| return new AttributeSetter(m) { | return new AttributeSetter(m) { | ||||
| public void set(Project p, Object parent, String value) | public void set(Project p, Object parent, String value) | ||||
| throws InvocationTargetException, IllegalAccessException { | throws InvocationTargetException, IllegalAccessException { | ||||
| m.invoke(parent, new String[] {value}); | |||||
| m.invoke(parent, (Object[])(new String[] {value})); | |||||
| } | } | ||||
| }; | }; | ||||
| @@ -1064,7 +1064,8 @@ public final class IntrospectionHelper implements BuildListener { | |||||
| + "legal value for attribute \"" | + "legal value for attribute \"" | ||||
| + attrName + "\""); | + attrName + "\""); | ||||
| } | } | ||||
| m.invoke(parent, new Character[] {new Character(value.charAt(0))}); | |||||
| m.invoke(parent, (Object[]) | |||||
| (new Character[] {new Character(value.charAt(0))})); | |||||
| } | } | ||||
| }; | }; | ||||
| @@ -1074,9 +1075,9 @@ public final class IntrospectionHelper implements BuildListener { | |||||
| return new AttributeSetter(m) { | return new AttributeSetter(m) { | ||||
| public void set(Project p, Object parent, String value) | public void set(Project p, Object parent, String value) | ||||
| throws InvocationTargetException, IllegalAccessException { | throws InvocationTargetException, IllegalAccessException { | ||||
| m.invoke(parent, | |||||
| m.invoke(parent,(Object[])( | |||||
| new Boolean[] {Project.toBoolean(value) | new Boolean[] {Project.toBoolean(value) | ||||
| ? Boolean.TRUE : Boolean.FALSE}); | |||||
| ? Boolean.TRUE : Boolean.FALSE})); | |||||
| } | } | ||||
| }; | }; | ||||
| @@ -1087,7 +1088,7 @@ public final class IntrospectionHelper implements BuildListener { | |||||
| public void set(Project p, Object parent, String value) | public void set(Project p, Object parent, String value) | ||||
| throws InvocationTargetException, IllegalAccessException, BuildException { | throws InvocationTargetException, IllegalAccessException, BuildException { | ||||
| try { | try { | ||||
| m.invoke(parent, new Class[] {Class.forName(value)}); | |||||
| m.invoke(parent, new Object[] {Class.forName(value)}); | |||||
| } catch (ClassNotFoundException ce) { | } catch (ClassNotFoundException ce) { | ||||
| throw new BuildException(ce); | throw new BuildException(ce); | ||||
| } | } | ||||
| @@ -1099,7 +1100,7 @@ public final class IntrospectionHelper implements BuildListener { | |||||
| return new AttributeSetter(m) { | return new AttributeSetter(m) { | ||||
| public void set(Project p, Object parent, String value) | public void set(Project p, Object parent, String value) | ||||
| throws InvocationTargetException, IllegalAccessException { | throws InvocationTargetException, IllegalAccessException { | ||||
| m.invoke(parent, new File[] {p.resolveFile(value)}); | |||||
| m.invoke(parent, new Object[] {p.resolveFile(value)}); | |||||
| } | } | ||||
| }; | }; | ||||
| @@ -1113,7 +1114,7 @@ public final class IntrospectionHelper implements BuildListener { | |||||
| EnumeratedAttribute ea = | EnumeratedAttribute ea = | ||||
| (EnumeratedAttribute) reflectedArg.newInstance(); | (EnumeratedAttribute) reflectedArg.newInstance(); | ||||
| ea.setValue(value); | ea.setValue(value); | ||||
| m.invoke(parent, new EnumeratedAttribute[] {ea}); | |||||
| m.invoke(parent, new Object[] {ea}); | |||||
| } catch (InstantiationException ie) { | } catch (InstantiationException ie) { | ||||
| throw new BuildException(ie); | throw new BuildException(ie); | ||||
| } | } | ||||
| @@ -888,7 +888,7 @@ public class Project { | |||||
| throw new BuildException(message); | throw new BuildException(message); | ||||
| } | } | ||||
| try { | try { | ||||
| taskClass.getConstructor(null); | |||||
| taskClass.getConstructor((Class[])null); | |||||
| // don't have to check for public, since | // don't have to check for public, since | ||||
| // getConstructor finds public constructors only. | // getConstructor finds public constructors only. | ||||
| } catch (NoSuchMethodException e) { | } catch (NoSuchMethodException e) { | ||||
| @@ -59,7 +59,7 @@ public class TaskAdapter extends Task implements TypeAdapter { | |||||
| // don't have to check for interface, since then | // don't have to check for interface, since then | ||||
| // taskClass would be abstract too. | // taskClass would be abstract too. | ||||
| try { | try { | ||||
| final Method executeM = taskClass.getMethod("execute", null); | |||||
| final Method executeM = taskClass.getMethod("execute", (Class[])null); | |||||
| // don't have to check for public, since | // don't have to check for public, since | ||||
| // getMethod finds public method only. | // getMethod finds public method only. | ||||
| // don't have to check for abstract, since then | // don't have to check for abstract, since then | ||||
| @@ -55,7 +55,7 @@ public class DispatchUtils { | |||||
| final Class c = dispatchable.getClass(); | final Class c = dispatchable.getClass(); | ||||
| final Method actionM = c.getMethod(mName, new Class[0]); | final Method actionM = c.getMethod(mName, new Class[0]); | ||||
| if (actionM != null) { | if (actionM != null) { | ||||
| final Object o = actionM.invoke(dispatchable, null); | |||||
| final Object o = actionM.invoke(dispatchable, (Object[])null); | |||||
| if (o != null) { | if (o != null) { | ||||
| final String s = o.toString(); | final String s = o.toString(); | ||||
| if (s != null && s.trim().length() > 0) { | if (s != null && s.trim().length() > 0) { | ||||
| @@ -66,7 +66,7 @@ public class DispatchUtils { | |||||
| throw new BuildException("No public " + methodName + "() in " | throw new BuildException("No public " + methodName + "() in " | ||||
| + dispatchable.getClass()); | + dispatchable.getClass()); | ||||
| } | } | ||||
| executeM.invoke(dispatchable, null); | |||||
| executeM.invoke(dispatchable, (Object[])null); | |||||
| if (task instanceof UnknownElement) { | if (task instanceof UnknownElement) { | ||||
| ((UnknownElement) task).setRealThing(null); | ((UnknownElement) task).setRealThing(null); | ||||
| } | } | ||||
| @@ -92,7 +92,7 @@ public class DispatchUtils { | |||||
| throw new BuildException("No public " + methodName + "() in " | throw new BuildException("No public " + methodName + "() in " | ||||
| + task.getClass()); | + task.getClass()); | ||||
| } | } | ||||
| executeM.invoke(task, null); | |||||
| executeM.invoke(task, (Object[])null); | |||||
| if (task instanceof UnknownElement) { | if (task instanceof UnknownElement) { | ||||
| ((UnknownElement) task).setRealThing(null); | ((UnknownElement) task).setRealThing(null); | ||||
| } | } | ||||
| @@ -175,7 +175,7 @@ public final class ChainReaderHelper { | |||||
| } | } | ||||
| final Reader[] rdr = {instream}; | final Reader[] rdr = {instream}; | ||||
| instream = | instream = | ||||
| (Reader) constructors[j].newInstance(rdr); | |||||
| (Reader) constructors[j].newInstance((Object[])rdr); | |||||
| setProjectOnObject(instream); | setProjectOnObject(instream); | ||||
| if (Parameterizable.class.isAssignableFrom(clazz)) { | if (Parameterizable.class.isAssignableFrom(clazz)) { | ||||
| final Parameter[] params = filter.getParams(); | final Parameter[] params = filter.getParams(); | ||||
| @@ -45,8 +45,8 @@ public class KaffeRmic extends DefaultRmicAdapter { | |||||
| Class c = Class.forName(RMIC_CLASSNAME); | Class c = Class.forName(RMIC_CLASSNAME); | ||||
| Constructor cons = c.getConstructor(new Class[] {String[].class}); | Constructor cons = c.getConstructor(new Class[] {String[].class}); | ||||
| Object rmic = cons.newInstance(new Object[] {cmd.getArguments()}); | Object rmic = cons.newInstance(new Object[] {cmd.getArguments()}); | ||||
| Method doRmic = c.getMethod("run", null); | |||||
| Boolean ok = (Boolean) doRmic.invoke(rmic, null); | |||||
| Method doRmic = c.getMethod("run", (Class[]) null); | |||||
| Boolean ok = (Boolean) doRmic.invoke(rmic, (Object[])null); | |||||
| return ok.booleanValue(); | return ok.booleanValue(); | ||||
| } catch (ClassNotFoundException ex) { | } catch (ClassNotFoundException ex) { | ||||
| @@ -423,7 +423,7 @@ public class ZipEntry extends java.util.zip.ZipEntry implements Cloneable { | |||||
| private static void performSetCompressedSize(ZipEntry ze, long size) { | private static void performSetCompressedSize(ZipEntry ze, long size) { | ||||
| Long[] s = {new Long(size)}; | Long[] s = {new Long(size)}; | ||||
| try { | try { | ||||
| setCompressedSizeMethod.invoke(ze, s); | |||||
| setCompressedSizeMethod.invoke(ze, (Object[])s); | |||||
| } catch (InvocationTargetException ite) { | } catch (InvocationTargetException ite) { | ||||
| Throwable nested = ite.getTargetException(); | Throwable nested = ite.getTargetException(); | ||||
| throw new RuntimeException("Exception setting the compressed size " | throw new RuntimeException("Exception setting the compressed size " | ||||