/** 
 * Copyright 2005-2007 Xue Yong Zhi
 * Distributed under the GNU General Public License 2.0
 */

package com.xruby.compiler.codegen;

import com.xruby.runtime.lang.*;
import com.xruby.runtime.value.*;

/*
 * This class is created to control the dependency between "compiler" and "runtime" package
 * */
public class Types {
	public static Class RubyProgramClass = RubyProgram.class;
	public static Class RubyBlockClass = RubyBlock.class;
	public static Class RubyValueClass = RubyValue.class;
	public static Class RubyClassClass = RubyClass.class;
	public static Class RubyModuleClass = RubyModule.class;
	public static Class RubyDataClass = RubyData.class;
	public static Class RubyMethodClass = RubyMethod.class;
	public static Class RubyVarArgMethodClass = RubyVarArgMethod.class;
	public static Class RubyOneArgMethodClass = RubyOneArgMethod.class;
	public static Class RubyRuntimeClass = RubyRuntime.class;
	public static Class RubyArrayClass = RubyArray.class;
	public static Class RubyHashClass = RubyHash.class;
	public static Class RubyBindingClass = RubyBinding.class;
	public static Class RubyProcClass = RubyProc.class;
}

@@ -1,12 +1,11 @@
 /**
- 
 %0D%0A * Cop
@@ -207,109 +207,795 @@
 lue.
-*;%0D%0A%0D%0A/*%0D%0A * This class is created to control the dependency between %22compiler%22 and %22runtime%22 package
+RubyArray;%0D%0Aimport com.xruby.runtime.value.RubyData;%0D%0Aimport com.xruby.runtime.value.RubyHash;%0D%0Aimport com.xruby.runtime.value.RubyProc;%0D%0A%0D%0A/*%0D%0A * This class is created to control the dependency between %22compiler%22 and %22runtime%22 package%0D%0A * This is still an ongoing process in very early stage. The goal is to make%0D%0A * other classes in 'codegen' package decoupled from the runtime, so that the%0D%0A * changes in 'runtime' package can have minimal impact on the 'codegen'.%0D%0A *%0D%0A * for example, in codegen, you can either use Types.RubyProgramClass, or use RubyProgram.class directly.%0D%0A * If you use the last one, than your code depends on runtime directly. The first one add a thin layer.%0D%0A * It is really nothing for know, but later we are going to more more to there, like method signatures
 %0D%0A *
@@ -1021,17 +1021,20 @@
 ypes %7B%0D%0A
-%09
+    
 public s
@@ -1076,33 +1076,36 @@
 Program.class;%0D%0A
-%09
+    
 public static Cl
@@ -1135,33 +1135,36 @@
 byBlock.class;%0D%0A
-%09
+    
 public static Cl
@@ -1194,33 +1194,36 @@
 byValue.class;%0D%0A
-%09
+    
 public static Cl
@@ -1253,33 +1253,36 @@
 byClass.class;%0D%0A
-%09
+    
 public static Cl
@@ -1314,33 +1314,36 @@
 yModule.class;%0D%0A
-%09
+    
 public static Cl
@@ -1371,33 +1371,36 @@
 ubyData.class;%0D%0A
-%09
+    
 public static Cl
@@ -1432,33 +1432,36 @@
 yMethod.class;%0D%0A
-%09
+    
 public static Cl
@@ -1505,33 +1505,36 @@
 gMethod.class;%0D%0A
-%09
+    
 public static Cl
@@ -1578,33 +1578,36 @@
 gMethod.class;%0D%0A
-%09
+    
 public static Cl
@@ -1641,33 +1641,36 @@
 Runtime.class;%0D%0A
-%09
+    
 public static Cl
@@ -1700,33 +1700,36 @@
 byArray.class;%0D%0A
-%09
+    
 public static Cl
@@ -1757,33 +1757,36 @@
 ubyHash.class;%0D%0A
-%09
+    
 public static Cl
@@ -1832,9 +1832,12 @@
 s;%0D%0A
-%09
+    
 publ

add some comment to Types