/**
* Vacuum Cleaner
*/
interface A
begin
   public method void foo();
   public method void bar();
   public method void zip();
end

/**
*    This comment is harvested by javadoc to document the B class.
*/
class B
begin
   property int prop1;

   classVar int prop2;

   /**
   *   This comment is harvested by javadoc to document the B constructor
   */
   public constructor B()
   begin
      System.out.println("Welcome to A's constructor");
   end

   // this is a regular comment
   /*
      this
      is a
      multiline
      comment
      */
   public method void foo()
   begin
      System.out.println("begin");
      sdad;
      foo = (adfsdf + adfdsf
      + dfasdf);
      begin
         int i = 123;
      end
   end

   public method void sam()
   begin
      System.out.println("sam");
   end

   public function void func()
   begin
      System.out.println("func");
   end

   public function void func2()
   begin
      System.out.println("func2");
   end

   beginMain
      System.out.println("Welcome to the main function");
   endMain
end

/**
*    This comment is harvested by javadoc to document the C class.
*/
class C
begin
   public constructor C()
   begin
      System.out.println("Welcome to B class' constructor");
   end
   public function void func3()
   begin
      System.out.println("func3");
   end
   public function void func4()
   begin
      System.out.println("func4");
   end
   public function void func5()
   begin
      System.out.println("func5");
   end
   public method void meth2()
   begin
      System.out.println("meth2");
   end
   public method void meth3()
   begin
      System.out.println("meth3");
   end
   public method void meth4()
   begin
      System.out.println("meth4");
   end
end

interface D
begin
   public method void calamansi();
   public method void bar();
   public method void zip();
end

class E
begin
   property int prop1;

   classVar int prop2;

   public constructor E()
   begin
      System.out.println("Welcome to E's constructor");
   end

   public method void foo()
   begin
      System.out.println("begin");
      sam();
   end

   /**
   * abcdefghijklmnopqrstuvwxyz
   **/
   /* abcdefghijklmnopqrstuvwxyz */
   public method void sam()
   begin
      System.out.println("sam");
   end

   /* this is a regular comment */
   public function void func()
   begin
      System.out.println("func");
      superfor (var int i=0 to 10)
      begin
         System.out.println("i=" + i); // this is a regular comment
      end
   end

   /**
   * This comment is harvested by javadoc to document the func2 function.
   */
   public function void func2()
   begin
      System.out.println("func2");
   end
end
