/**
  * Creates a public abstract method. The created method must be added to a class with <code>
  * CtClass.addMethod()</code>.
  *
  * @param declaring the class to which the created method is added.
  * @param returnType the type of the returned value
  * @param mname the method name
  * @param parameters a list of the parameter types
  * @see CtClass#addMethod(CtMethod)
  */
 public CtMethod(CtClass returnType, String mname, CtClass[] parameters, CtClass declaring) {
   this(null, declaring);
   ConstPool cp = declaring.getClassFile2().getConstPool();
   String desc = Descriptor.ofMethod(returnType, parameters);
   methodInfo = new MethodInfo(cp, mname, desc);
   setModifiers(Modifier.PUBLIC | Modifier.ABSTRACT);
 }