2003-05-06 Jackson Harper <jackson@latitudegeo.com>

	* SwitchInstr.cs: New file - implementation of switch instructions
		
2003-05-05 Jackson Harper <jackson@lattidegeo.com>

	* MethodDef.cs: Add ability to add and emit labels
	* BranchInstr.cs: New file - Branch instructions
		
2003-05-04 Jackson Harper <jackson@latitudegeo.com>

	* LdcInstr.cs: New file - lcd* instructions
	* MiscInstr.cs: New file - Just an enum that gives me constant
	values for instructions PEAPI does not define in an enum
	* InstrTable.cs: Use new MiscInstr constants instead of string values.
		
2003-05-01 Jackson Harper <jackson@latitudegeo.com>

	* CodeGen.cs: Define the contents of types after all types have
	been resolved, this avoids the infinite loop that would occur if a
	type was a member of its base type.
	* TypeDef.cs: Method to define contents after being defined. 
		
2003-05-01 Jackson Harper <jackson@latitudegeo.com>

	* TypeManager.cs: Check if type is defined before defining it.
		
2003-05-01 Jackson Harper <jackson@latitudegeo.com>

	* CodeGen.cs: Add outer classes to typedefs if necesary
	* InstrTable.cs: ldtoken instruction is a INSTR_TOK token
	* TypeDef.cs: Add outer class property
		
2003-04-30 Jackson Harper <jackson@latitudegeo.com>

	* MethodDef.cs: Accept and emit instructions.
	* CodeGen.cs: Fix typo
	* IInstr.cs: New file - Interface for instructions that are added to methods
	* IntInstr.cs: New file - Instruction that takes a single int
	param
	* LdstrInstr.cs: New file - ldstr instruction (the only
	instruction that takes a string parameter)
		
2003-04-28 Jackson Harper <jackson@latitudegeo.com>

	* InstrTable.cs: Much simpler system. All tokens go into one
	hashtable now. There is no reason to have them seperated out.
		
2003-04-20 Jackson Harper <jackson@latitudegeo.com>

	* CodeGen.cs: Add method to add data
	* FieldDef.cs: Add method to set a fields value
	* TypeDef.cs: Add method to add data
	* DataDef.cs: New file - Definition of a data constant
		
2003-04-18 Jackson Harper <jackson@latitudegeo.com>

	* FieldDef.cs: Change peapi fielddef name.
	* MethodDef.cs: Change peapi methoddef name.
		
2003-04-17 Jackson Harper <jackson@latitudegeo.com>

	* MethodDef.cs: New file - definition of a method.
	* ParamDef.cs: New file - definition of a parameter to a method
	* TypeDef.cs: Add method definitions, set intransit flag to false
	before defining members, so a false circular reference is not
	created.
	* CodeGen.cs: Add methods to add method definitions

2003-04-17 Jackson Harper <jackson@latitudegeo.com>

	* ExternTypeRef.cs: external types are classrefs
		
2003-04-17 Jackson Harper <jackson@latitudegeo.com>

	* PeapiTypeRef.cs: New file - base wrapper for type refs that are
	just peapi types.
	* PrimitiveTypeRef.cs: New file - A primitive type (char, int, string)
		
2003-04-17 Jackson Harper <jackson@latitudegeo.com>

	* TypeRef.cs: Rewrite - Typerefs are now resolved after parsing.
	* TypeManager.cs: Rewrite - Just a simple table for looking up
	typedefs
	* ExternTable.cs: Create ClassRef's instead of Classes
	* Location.cs: Make compile
	* CodeGen.cs: Use new tree system
		
2003-04-17 Jackson Harper <jackson@latitudegeo.com>

	* ExternTypeRef.cs: New file - Represents a reference to a type in
	an external assembly
	* FieldDef.cs: New file - Represents a field definition
	* IClassRef.cs: New file - Interface that classrefs must
	implement. This needs some more thought though because once a
	classref has been modified it is no longer a classref.
	* ITypeRef.cs: New file - Interface that references to types must
	implement
	* TypeDef.cs: New file - Represents the a class definition, and
	will hold all of the classes members.

2003-04-07 Jackson Harper <jackson@latitudegeo.com>

	* TypeRef.cs: Return FieldDef when adding a field def to a class
		
2003-04-01 Jackson Harper <jackson@latitudegeo.com>

	* TypeRef.cs: Add flag for making types pinned
	
2003-04-01 Jackson Harper <jackson@latitudegeo.com>

	* ClassTable.cs: Do not append a . to names that are not in a
	namespace
	* CodeGen.cs: Handle nested classes
		
2003-03-30 Jackson Harper <jackson@latitudegeo.com>

	* ExternTable.cs: Remove some unsed fields.
	
2003-03-30 Jackson Harper <jackson@latitudegeo.com>

	* ExternTable.cs: Add method to lookup classes with a full name,
	instead of having to have namespace and name seperate.
	* ClassTable.cs: Make method that seprates full names into
	name/namespaces public.
		
2003-03-30 Jackson Harper <jackson@latitudegeo.com>

	* InstrTable.cs: Add Calli, detabify
		
2003-03-29 Jackson Harper <jackson@latitudegeo.com>

	* InstrTable.cs: Add branch ops switch, and lc.r*, also fix some
	typos for other ops.

2003-03-17 Jackson Harper <jackson@latitudegeo.com>

	* ClassTable.cs: Set defined flag and type attributes for referenced 
	classes when they are defined.

2003-03-17 Jackson Harper <jackson@latitudegeo.com>

	* MethodTable.cs: Add method to Check if all methods have been defined, set referenced methods properties
	when defining them
	* FieldTable.cs: Add method to check if all fields have been defined, set referenced fields properties
	when defining them
	* ClassTable.cs: Make sure all methods and fields are defined.

2003-03-16 Jackson Harper <jackson@latitudegeo.com>

	* MethodTable.cs: Fire events when methods are defined and referenced

2003-03-15 Jackson Harper <jackson@latitudegeo.com>

	* ClassTable.cs: Classes now store field tables
	* CodeGen.cs: Add methods to add fields and get field references

2003-03-15 Jackson Harper <jackson@latitudegeo.com>

	* FieldTable.cs: New file, holds a classes fields

2003-03-15 Jackson Harper <jackson@latitudegeo.com>

	* InstrTable.cs: Add FieldOp instructions

2003-03-15 Jackson Harper <jackson@latitudegeo.com>

	* InstrTable.cs: Add ldstr instruction

2003-03-15 Jackson Harper <jackson@latitudegeo.com>

	* CodeGen.cs: Add method to get method references.
	* MethodTable.cs: Complete GetReference method
	* InstrTable.cs: Add MethodOps (instructions that take a method ref param)

2003-03-14 Jackson Harper <jackson@latitudegeo.com>

	* InstrTable.cs: Add TypeOps (instructions that take a type param)

2003-03-14 Jackson Harper <jackson@latitudegeo.com>

	* InstrTable.cs: Add IntOps (instructions that take an integer param)

2003-03-13 Jackson Harper <jackson@latitudegeo.com>

	* InstrTable.cs: Fix instructions that have dots in their name

2003-03-13 Jackson Harper <jackson@latitudegeo.com>

	* CodeGen.cs: Add code buffer for il instructions when a new method is added.
	* InstrTable.cs: New file, this is a table of all the instructions (just simple 
	instructions right now)

2003-03-13 Jackson Harper <jackson@latitudegeo.com>

	* CodeGen.cs: Set current method when a new method is added.

2003-03-12 Jackson Harper <jackson@latitudegeo.com>

	* ClassTable.cs: Add Method tables to Class tables, add method to get a 
	class's method table.
	* CodeGen.cs: Add Method to add methods :p
	* MethodTable.cs: Add file, this class is used to add methods to a class.

2003-03-11 Jackson Harper <jackson@latitudegeo.com>

	* TypeRef.cs: New file, used for pairing types and their names.

2003-03-09 Jackson Harper <jackson@latitudegeo.com>

	* ExternTable.cs: Do not verify the existence of external types

2003-03-08: Jackson Harper <jackson@latitudegeo.com>

	* CodeGen.cs: Add ExternTable property
	* ExternTable.cs: New file, this will is used for pulling 
	types and methods from external assemblies.

2003-03-06 Jackson Harper <jackson@latitudegeo.com>

	* ClassTable.cs, CodeGen.cs: Add methods to allow types to inherit from another type.

2003-03-06 Jackson Harper <jackson@latitudegeo.com>

	* ClassTable.cs: Add method to check for undefined types

2003-03-06 Jackson Harper <jackson@latitudegeo.com>

	* CodeGen.cs: Use class table for adding type definitions
	* ClassTable.cs: Return ClassDef when defining types
	
2003-03-06 Jackson Harper <jackson@latitudegeo.com>

	* ClassTable.cs: Add method for adding class definitions to the 
	the table.

2003-03-6 Jackson Harper <jackson@latitudegeo.com>

	* CodeGen.cs: Reconfigure to work with new PEAPI emission system

2003-03-6 Jackson Harper <jackson@latitudegeo.com>

	* ClassTable.cs: Add file, this is a 'table' for storing classes
	* Location.cs: Add file, this will eventually be used for marking
	locations in IL files

2003-02-10 Jackson Harper <jackson@latitudegeo.com>

	* Method.cs: Add method to set parameters, 
	       set parameters when defining type
	* Class.cs: Fix very silly bug in GetMethod method
	

2003-02-09 Jackson Harper <jackson@latitudegeo.com>

	* Class.cs: Resolve Methods before emiting
	* InstrBase.cs: Take a Class instead of CodeGen when emiting
	* Method.cs: Replace MethodInfo property with MethodBuilder property,
        	Add resolve method
	* Instructions.cs: Take Class instead of CodeGen when emitting, 
	        get member methods from Class.
	* TypeManager.cs: Add set indexer

2003-02-09 Jackson Harper <jackson@latitudegeo.com>

	* Instructions.cs: Use TypeManager to lookup types

2003-02-08 Jackson Harper <jackson@latitudegeo.com>

	* TypeManager.cs: Fix error parsing type names
	* Method.cs: Display the name of types that can't be found

2003-02-08 Jackson Harper <jackson@latitudegeo.com>

	* TypeManager.cs: Add file
	* CodeGen.cs: Add TypeManager attribute
	* InstrBase.cs: Take a CodeGen in Emit method
	* Instructions.cs: Take a CodeGen in Emit method, handle arg lists better
	* Method.cs: Handle local variables better
	

2003-02-08 Jackson Harper <jackson@latitudegeo.com>

	* Method.cs: Add functionality to define local variables
	* Instructions.cs: Add newobj instruction, cleanup call instruction

2003-02-03 Jackson Harper <jackson@latitudegeo.com>

	* AssemblyNameStore.cs: Added file

2003-02-02 Jackson Harper <jackson@latitudegeo.com>

	* Instructions.cs: Resolve parameters types in a more proper manner.

2003-02-02 Jackson Harper <jackson@latitudegeo.com>

	* Class.cs: Don't try to emit methods if we don't have any
	* Class.cs: Test for entry point of methods, and set Assembly entrypoint
	* CodeGen.cs: Add method to set an Assemblys entry point
	* Method.cs: Add IsEntryPoint property
	* Method.cs Add MethodInfo property, and set this while Emiting
	* Instructions.cs: Add new InstrCall instruction
