/*<license>
Copyright 2004 - $Date$ by PeopleWare n.v..

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
</license>*/

package org.ppwcode.util.reflect_I;

import java.util.Date;


public class StubClass {

  public static class StubClassA {

    public StubClassA(String s, int i, float f) {
      //
    }

    public int stubMethod1(String s, int i, float f) {
      return 0;
    }

    public void stubMethod2() {
      return;
    }

  }

  public static class StubClassB extends StubClassA {

    public StubClassB(String s, int i, float f) {
      super(s, i, f);
    }

  }

  public class StubClassInnerA {
    public class StubClassInnerAInner {
      // NOP
    }
  }

  public class StubClassInnerB extends StubClassInnerA {
    // NOP
  }





  @SuppressWarnings("unused")
  public void stubMethod() {
    // NOP
  }

  @SuppressWarnings("unused")
  public double stubMethodWithReturn() {
    return 0.0d;
  }

  @SuppressWarnings("unused")
  public double stubMethodWithException() throws Exception {
    return 0.0d;
  }

  @SuppressWarnings("unused")
  public void stubMethod(Object o) {
    // NOP
  }

  @SuppressWarnings("unused")
  public void stubMethod(String s) {
    // NOP
  }

  @SuppressWarnings("unused")
  public void stubMethod(int i) {
    // NOP
  }

  @SuppressWarnings("unused")
  public void stubMethod(Class<StubClass> stubClass) {
    // NOP
  }

  @SuppressWarnings("unused")
  public void stubMethod(int i, boolean b, Object o, String s) {
    // NOP
  }

  @SuppressWarnings("unused")
  public <_T_> _T_ stubMethod(_T_ t, float f) {
    return null;
  }

  @SuppressWarnings("unused")
  public static void stubStaticMethod() {
    // NOP
  }

  @SuppressWarnings("unused")
  public static int stubStaticMethodWithReturn() {
    return 0;
  }

  @SuppressWarnings("unused")
  public static int stubStaticMethodWithException() throws Exception {
    return 0;
  }

  @SuppressWarnings("unused")
  public static void stubStaticMethod(Object o) {
    // NOP
  }

  @SuppressWarnings("unused")
  public static void stubStaticMethod(String s) {
    // NOP
  }

  @SuppressWarnings("unused")
  public static void stubStaticMethod(int i) {
    // NOP
  }

  @SuppressWarnings("unused")
  public static void stubStaticMethod(Class<StubClass> stubClass) {
    // NOP
  }

  @SuppressWarnings("unused")
  public static void stubStaticMethod(int i, boolean b, Object o, String s) {
    // NOP
  }

  @SuppressWarnings("unused")
  public static <_T_> _T_ stubStaticMethod(_T_ t, float f) {
    return null;
  }



  public StubClass() {
    // NOP
  }

  public StubClass(Object o) {
    // NOP
  }

  public StubClass(String s) {
    // NOP
  }

  public StubClass(int i) {
    // NOP
  }

  public StubClass(Class<StubClass> stubClass) {
    // NOP
  }

  public StubClass(int i, boolean b, Object o, String s) {
    // NOP
  }

  public <_T_> StubClass(_T_ t1, _T_ t2, float f) {
    // NOP
  }

  public StubClass(Date d) throws Exception {
    // NOP
  }

}


@@ -625,16 +625,45 @@
 ect_I;%0A%0A
+import java.io.Serializable;%0A
 import j
@@ -677,16 +677,16 @@
 l.Date;%0A
-
 %0A%0Apublic
@@ -2091,24 +2091,319 @@
  null;%0A  %7D%0A%0A
+  @SuppressWarnings(%22unused%22)%0A  public %3C_T_ extends Serializable%3E _T_ stubMethod(_T_ t, float f) %7B%0A    return null;%0A  %7D%0A%0A  @SuppressWarnings(%22unused%22)%0A  public void stubMethod(Date d) %7B%0A    // NOP%0A  %7D%0A%0A  @SuppressWarnings(%22unused%22)%0A  public static void stubMethod(Object%5B%5D os) %7B%0A    // NOP%0A  %7D%0A%0A
   @SuppressW
@@ -3334,16 +3334,343 @@
 l;%0A  %7D%0A%0A
+  @SuppressWarnings(%22unused%22)%0A  public static %3C_T_ extends Serializable%3E _T_ stubStaticMethod(_T_ t, float f) %7B%0A    return null;%0A  %7D%0A%0A  @SuppressWarnings(%22unused%22)%0A  public static void stubStaticMethod(Date d) %7B%0A    // NOP%0A  %7D%0A%0A  @SuppressWarnings(%22unused%22)%0A  public static void stubStaticMethod(Object%5B%5D os) %7B%0A    // NOP%0A  %7D%0A%0A
 %0A%0A  publ
@@ -3788,32 +3788,33 @@
     // NOP%0A  %7D%0A%0A
+%0A
   public StubCla
@@ -3898,32 +3898,82 @@
     // NOP%0A  %7D%0A%0A
+  public StubClass(StubClass s) %7B%0A    // NOP%0A  %7D%0A%0A
   public StubCla
@@ -4103,33 +4103,199 @@
  %7D%0A%0A
-  public StubClass(Date d
+%0A  public %3C_T_ extends Serializable%3E StubClass(_T_ t1, Serializable t2, float f) %7B%0A    // NOP%0A  %7D%0A%0A  public StubClass(Date d) throws Exception %7B%0A    // NOP%0A  %7D%0A%0A  public StubClass(Object%5B%5D os
 ) th

Test for MethodHelpers GREEN, with errors commented out for array parameters.