Merge "Bug 735 - Part 1: Update ietf-restconf and ietf-yangtypes to newer versions"
[yangtools.git] / code-generator / binding-generator-impl / src / main / java / org / opendaylight / yangtools / sal / binding / generator / util / JavassistUtils.java
index 9478dff19c74567a9c83fd9e93f7d2f8cb76c52c..252fca7107953dff0ff04cc49882d48e334ee076 100644 (file)
@@ -7,10 +7,7 @@
  */
 package org.opendaylight.yangtools.sal.binding.generator.util;
 
-import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
-import java.util.List;
 import java.util.Map;
 import java.util.WeakHashMap;
 import java.util.concurrent.locks.Lock;
@@ -27,7 +24,6 @@ import javassist.LoaderClassPath;
 import javassist.Modifier;
 import javassist.NotFoundException;
 
-import org.eclipse.xtext.xbase.lib.Conversions;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -63,11 +59,11 @@ public final class JavassistUtils {
      * created if this is a new pool. If an instance already exists, is is
      * returned.
      *
-     * @param pool
-     * @return
+     * @param pool Backing class pool
+     * @return shared utility instance for specified pool
      */
     public static synchronized JavassistUtils forClassPool(final ClassPool pool) {
-        JavassistUtils ret = INSTANCES.get(pool);
+        JavassistUtils ret = INSTANCES.get(Preconditions.checkNotNull(pool));
         if (ret == null) {
             ret = new JavassistUtils(pool, null);
             INSTANCES.put(pool, ret);
@@ -81,9 +77,8 @@ public final class JavassistUtils {
 
     public void method(final CtClass it, final Class<? extends Object> returnType, final String name,
             final Class<? extends Object> parameter, final MethodGenerator function1) throws CannotCompileException {
-        List<CtClass> _asList = Arrays.<CtClass> asList(asCtClass(parameter));
-        CtMethod _ctMethod = new CtMethod(asCtClass(returnType), name, ((CtClass[]) Conversions.unwrapArray(
-                _asList, CtClass.class)), it);
+        final CtClass[] pa = new CtClass[] { asCtClass(parameter) };
+        final CtMethod _ctMethod = new CtMethod(asCtClass(returnType), name, pa, it);
 
         final CtMethod method = _ctMethod;
         function1.process(method);
@@ -92,21 +87,23 @@ public final class JavassistUtils {
 
     public void method(final CtClass it, final Class<? extends Object> returnType, final String name,
             final Collection<? extends Class<?>> parameters, final MethodGenerator function1) throws CannotCompileException {
-        List<CtClass> _asList = new ArrayList<>();
+        final CtClass[] pa = new CtClass[parameters.size()];
+
+        int i = 0;
         for (Class<? extends Object> parameter : parameters) {
-            _asList.add(asCtClass(parameter));
+            pa[i] = asCtClass(parameter);
+            ++i;
         }
-        CtMethod method = new CtMethod(asCtClass(returnType), name, ((CtClass[]) Conversions.unwrapArray(_asList,
-                CtClass.class)), it);
+
+        final CtMethod method = new CtMethod(asCtClass(returnType), name, pa, it);
         function1.process(method);
         it.addMethod(method);
     }
 
     public void staticMethod(final CtClass it, final Class<? extends Object> returnType, final String name,
             final Class<? extends Object> parameter, final MethodGenerator function1) throws CannotCompileException {
-        List<CtClass> _asList = Arrays.<CtClass> asList(asCtClass(parameter));
-        CtMethod _ctMethod = new CtMethod(asCtClass(returnType), name, ((CtClass[]) Conversions.unwrapArray(
-                _asList, CtClass.class)), it);
+        final CtClass[] pa = new CtClass[] { asCtClass(parameter) };
+        final CtMethod _ctMethod = new CtMethod(asCtClass(returnType), name, pa, it);
         final CtMethod method = _ctMethod;
         function1.process(method);
         it.addMethod(method);