[vala] Do not use Gee namespace to avoid conflict with libgee



commit 5c4bcf9aba99cbb7bd3fd0215750532733b221d1
Author: Jürg Billeter <j bitron ch>
Date:   Mon Oct 12 20:15:09 2009 +0200

    Do not use Gee namespace to avoid conflict with libgee

 ccode/valaccodeblock.vala                 |    3 +-
 ccode/valaccodecasestatement.vala         |    1 -
 ccode/valaccodecommaexpression.vala       |    5 +-
 ccode/valaccodedeclaration.vala           |    3 +-
 ccode/valaccodeenum.vala                  |    3 +-
 ccode/valaccodeenumvalue.vala             |    1 -
 ccode/valaccodeforstatement.vala          |    5 +-
 ccode/valaccodefragment.vala              |    5 +-
 ccode/valaccodefunction.vala              |    3 +-
 ccode/valaccodefunctioncall.vala          |    5 +-
 ccode/valaccodefunctiondeclarator.vala    |    3 +-
 ccode/valaccodeinitializerlist.vala       |    3 +-
 ccode/valaccodestruct.vala                |    3 +-
 ccode/valaccodeswitchstatement.vala       |    1 -
 codegen/valaccodearraymodule.vala         |    9 ++--
 codegen/valaccodeassignmentmodule.vala    |    1 -
 codegen/valaccodebasemodule.vala          |   21 ++++-----
 codegen/valaccodecontrolflowmodule.vala   |    3 +-
 codegen/valaccodedeclarationspace.vala    |    1 -
 codegen/valaccodedelegatemodule.vala      |    1 -
 codegen/valaccodegenerator.vala           |    1 -
 codegen/valaccodemethodcallmodule.vala    |    3 +-
 codegen/valaccodemethodmodule.vala        |    1 -
 codegen/valaccodemodule.vala              |    5 +-
 codegen/valadbusclientmodule.vala         |    5 +-
 codegen/valadbusservermodule.vala         |    3 +-
 codegen/valagasyncmodule.vala             |    3 +-
 codegen/valagerrormodule.vala             |    1 -
 codegen/valagirwriter.vala                |    9 ++--
 codegen/valagobjectmodule.vala            |    1 -
 codegen/valagsignalmodule.vala            |    7 +--
 codegen/valagtypemodule.vala              |    1 -
 gee/Makefile.am                           |    6 +-
 gee/arraylist.vala                        |    6 +-
 gee/collection.vala                       |    2 +-
 gee/collectionobject.vala                 |    2 +-
 gee/hashmap.vala                          |    2 +-
 gee/hashset.vala                          |    6 +-
 gee/iterable.vala                         |    2 +-
 gee/iterator.vala                         |    2 +-
 gee/list.vala                             |    2 +-
 gee/map.vala                              |    2 +-
 gee/readonlycollection.vala               |    6 +-
 gee/readonlylist.vala                     |    6 +-
 gee/readonlymap.vala                      |    2 +-
 gee/readonlyset.vala                      |    6 +-
 gee/set.vala                              |    2 +-
 vala/valaarraycreationexpression.vala     |    9 ++--
 vala/valaarraytype.vala                   |    2 +-
 vala/valaassignment.vala                  |    1 -
 vala/valaattribute.vala                   |    3 +-
 vala/valabaseaccess.vala                  |    1 -
 vala/valabasicblock.vala                  |   21 ++++-----
 vala/valabinaryexpression.vala            |    1 -
 vala/valablock.vala                       |    9 ++--
 vala/valacastexpression.vala              |    1 -
 vala/valacatchclause.vala                 |    1 -
 vala/valaclass.vala                       |   47 ++++++++++----------
 vala/valacodecontext.vala                 |   19 ++++----
 vala/valacodenode.vala                    |    9 ++--
 vala/valacodewriter.vala                  |    9 ++--
 vala/valadatatype.vala                    |   11 ++---
 vala/valadeclarationstatement.vala        |    1 -
 vala/valadelegate.vala                    |    7 +--
 vala/valadelegatetype.vala                |    5 +-
 vala/valadynamicmethod.vala               |    3 +-
 vala/valadynamicproperty.vala             |    3 +-
 vala/valaelementaccess.vala               |    5 +-
 vala/valaenum.vala                        |    9 ++--
 vala/valaerrordomain.vala                 |    9 ++--
 vala/valaexpression.vala                  |    5 +-
 vala/valaexpressionstatement.vala         |    1 -
 vala/valafield.vala                       |    1 -
 vala/valaflowanalyzer.vala                |   15 +++---
 vala/valaforeachstatement.vala            |    1 -
 vala/valaformalparameter.vala             |    1 -
 vala/valaforstatement.vala                |    9 ++--
 vala/valagenieparser.vala                 |   69 ++++++++++++++---------------
 vala/valageniescanner.vala                |    1 -
 vala/valainitializerlist.vala             |    5 +-
 vala/valainterface.vala                   |   41 ++++++++---------
 vala/valalambdaexpression.vala            |    5 +-
 vala/valamember.vala                      |    5 +-
 vala/valamemberaccess.vala                |    5 +-
 vala/valamethod.vala                      |   23 +++++-----
 vala/valamethodcall.vala                  |    5 +-
 vala/valamethodtype.vala                  |    3 +-
 vala/valanamespace.vala                   |   59 ++++++++++++------------
 vala/valaobjectcreationexpression.vala    |    9 ++--
 vala/valaobjecttype.vala                  |    2 +-
 vala/valaobjecttypesymbol.vala            |   11 ++---
 vala/valaparser.vala                      |   63 +++++++++++++-------------
 vala/valaphifunction.vala                 |    3 +-
 vala/valapointerindirection.vala          |    1 -
 vala/valapointertype.vala                 |    3 +-
 vala/valapropertyaccessor.vala            |    2 +-
 vala/valareferencetransferexpression.vala |    1 -
 vala/valareturnstatement.vala             |    1 -
 vala/valascanner.vala                     |    1 -
 vala/valascope.vala                       |    3 +-
 vala/valasemanticanalyzer.vala            |    5 +-
 vala/valasignal.vala                      |    5 +-
 vala/valasignaltype.vala                  |    5 +-
 vala/valasourcefile.vala                  |   13 +++---
 vala/valasourcereference.vala             |    2 +-
 vala/valastatementlist.vala               |    3 +-
 vala/valastruct.vala                      |   21 ++++-----
 vala/valaswitchsection.vala               |    5 +-
 vala/valaswitchstatement.vala             |    5 +-
 vala/valasymbol.vala                      |    3 +-
 vala/valasymbolresolver.vala              |    1 -
 vala/valatemplate.vala                    |    5 +-
 vala/valathrowstatement.vala              |    1 -
 vala/valatrystatement.vala                |    9 ++--
 vala/valatuple.vala                       |    5 +-
 vala/valatypeparameter.vala               |    1 -
 vala/valatypesymbol.vala                  |    5 +-
 vala/valaunaryexpression.vala             |    1 -
 vala/valaunresolvedtype.vala              |    1 -
 vapigen/valagidlparser.vala               |    3 +-
 vapigen/valagirparser.vala                |    1 -
 vapigen/valamarkupreader.vala             |    1 -
 vapigen/valavapicheck.vala                |   12 +++---
 123 files changed, 362 insertions(+), 465 deletions(-)
---
diff --git a/ccode/valaccodeblock.vala b/ccode/valaccodeblock.vala
index cff8613..5c8f2c7 100644
--- a/ccode/valaccodeblock.vala
+++ b/ccode/valaccodeblock.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a C code block.
@@ -33,7 +32,7 @@ public class Vala.CCodeBlock : CCodeStatement {
 	 */
 	public bool suppress_newline { get; set; }
 
-	private Gee.List<CCodeNode> statements = new ArrayList<CCodeNode> ();
+	private List<CCodeNode> statements = new ArrayList<CCodeNode> ();
 	
 	/**
 	 * Prepend the specified statement to the list of statements.
diff --git a/ccode/valaccodecasestatement.vala b/ccode/valaccodecasestatement.vala
index 8e892a8..82b85f4 100644
--- a/ccode/valaccodecasestatement.vala
+++ b/ccode/valaccodecasestatement.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a case block in a switch statement in C code.
diff --git a/ccode/valaccodecommaexpression.vala b/ccode/valaccodecommaexpression.vala
index b5cafcb..79f78ae 100644
--- a/ccode/valaccodecommaexpression.vala
+++ b/ccode/valaccodecommaexpression.vala
@@ -21,13 +21,12 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a comma separated expression list in the C code.
  */
 public class Vala.CCodeCommaExpression : CCodeExpression {
-	private Gee.List<CCodeExpression> inner = new ArrayList<CCodeExpression> ();
+	private List<CCodeExpression> inner = new ArrayList<CCodeExpression> ();
 	
 	/**
 	 * Appends the specified expression to the expression list.
@@ -38,7 +37,7 @@ public class Vala.CCodeCommaExpression : CCodeExpression {
 		inner.add (expr);
 	}
 
-	public Gee.List<CCodeExpression> get_inner () {
+	public List<CCodeExpression> get_inner () {
 		return new ReadOnlyList<CCodeExpression> (inner);
 	}
 
diff --git a/ccode/valaccodedeclaration.vala b/ccode/valaccodedeclaration.vala
index 22a37bc..79966f4 100644
--- a/ccode/valaccodedeclaration.vala
+++ b/ccode/valaccodedeclaration.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a local variable declaration in the C code.
@@ -37,7 +36,7 @@ public class Vala.CCodeDeclaration : CCodeStatement {
 	 */
 	public CCodeModifiers modifiers { get; set; }
 	
-	private Gee.List<CCodeDeclarator> declarators = new ArrayList<CCodeDeclarator> ();
+	private List<CCodeDeclarator> declarators = new ArrayList<CCodeDeclarator> ();
 	
 	public CCodeDeclaration (string type_name) {
 		this.type_name = type_name;
diff --git a/ccode/valaccodeenum.vala b/ccode/valaccodeenum.vala
index 6701d7e..c326647 100644
--- a/ccode/valaccodeenum.vala
+++ b/ccode/valaccodeenum.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents an enum in the C code.
@@ -32,7 +31,7 @@ public class Vala.CCodeEnum : CCodeNode {
 	 */
 	public string name { get; set; }
 	
-	private Gee.List<CCodeEnumValue> values = new ArrayList<CCodeEnumValue> ();
+	private List<CCodeEnumValue> values = new ArrayList<CCodeEnumValue> ();
 	
 	public CCodeEnum (string? name = null) {
 		this.name = name;
diff --git a/ccode/valaccodeenumvalue.vala b/ccode/valaccodeenumvalue.vala
index c1d5aed..6dc784f 100644
--- a/ccode/valaccodeenumvalue.vala
+++ b/ccode/valaccodeenumvalue.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents an enum value in the C code.
diff --git a/ccode/valaccodeforstatement.vala b/ccode/valaccodeforstatement.vala
index 0710b4c..c4d14be 100644
--- a/ccode/valaccodeforstatement.vala
+++ b/ccode/valaccodeforstatement.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a for iteration statement in the C code.
@@ -37,8 +36,8 @@ public class Vala.CCodeForStatement : CCodeStatement {
 	 */
 	public CCodeStatement body { get; set; }
 	
-	private Gee.List<CCodeExpression> initializer = new ArrayList<CCodeExpression> ();
-	private Gee.List<CCodeExpression> iterator = new ArrayList<CCodeExpression> ();
+	private List<CCodeExpression> initializer = new ArrayList<CCodeExpression> ();
+	private List<CCodeExpression> iterator = new ArrayList<CCodeExpression> ();
 	
 	public CCodeForStatement (CCodeExpression? condition, CCodeStatement? body = null) {
 		this.condition = condition;
diff --git a/ccode/valaccodefragment.vala b/ccode/valaccodefragment.vala
index 1c6b266..e13c4e3 100644
--- a/ccode/valaccodefragment.vala
+++ b/ccode/valaccodefragment.vala
@@ -21,13 +21,12 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a container for C code nodes.
  */
 public class Vala.CCodeFragment : CCodeNode {
-	private Gee.List<CCodeNode> children = new ArrayList<CCodeNode> ();
+	private List<CCodeNode> children = new ArrayList<CCodeNode> ();
 	
 	/**
 	 * Appends the specified code node to this code fragment.
@@ -43,7 +42,7 @@ public class Vala.CCodeFragment : CCodeNode {
 	 *
 	 * @return children list
 	 */
-	public Gee.List<CCodeNode> get_children () {
+	public List<CCodeNode> get_children () {
 		return new ReadOnlyList<CCodeNode> (children);
 	}
 
diff --git a/ccode/valaccodefunction.vala b/ccode/valaccodefunction.vala
index 1a9d240..1dfef1b 100644
--- a/ccode/valaccodefunction.vala
+++ b/ccode/valaccodefunction.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a function declaration in the C code.
@@ -47,7 +46,7 @@ public class Vala.CCodeFunction : CCodeNode {
 	 */
 	public CCodeBlock block { get; set; }
 
-	private Gee.List<CCodeFormalParameter> parameters = new ArrayList<CCodeFormalParameter> ();
+	private List<CCodeFormalParameter> parameters = new ArrayList<CCodeFormalParameter> ();
 	
 	public CCodeFunction (string name, string return_type = "void") {
 		this.name = name;
diff --git a/ccode/valaccodefunctioncall.vala b/ccode/valaccodefunctioncall.vala
index a1961d7..ffa6595 100644
--- a/ccode/valaccodefunctioncall.vala
+++ b/ccode/valaccodefunctioncall.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a function call in the C code.
@@ -32,7 +31,7 @@ public class Vala.CCodeFunctionCall : CCodeExpression {
 	 */
 	public CCodeExpression? call { get; set; }
 	
-	private Gee.List<CCodeExpression> arguments = new ArrayList<CCodeExpression> ();
+	private List<CCodeExpression> arguments = new ArrayList<CCodeExpression> ();
 	
 	public CCodeFunctionCall (CCodeExpression? call = null) {
 		this.call = call;
@@ -56,7 +55,7 @@ public class Vala.CCodeFunctionCall : CCodeExpression {
 	 *
 	 * @return list of arguments
 	 */
-	public Gee.List<CCodeExpression> get_arguments () {
+	public List<CCodeExpression> get_arguments () {
 		return new ReadOnlyList<CCodeExpression> (arguments);
 	}
 
diff --git a/ccode/valaccodefunctiondeclarator.vala b/ccode/valaccodefunctiondeclarator.vala
index e3958e2..35a3590 100644
--- a/ccode/valaccodefunctiondeclarator.vala
+++ b/ccode/valaccodefunctiondeclarator.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a function pointer declarator in the C code.
@@ -32,7 +31,7 @@ public class Vala.CCodeFunctionDeclarator : CCodeDeclarator {
 	 */
 	public string name { get; set; }
 	
-	private Gee.List<CCodeFormalParameter> parameters = new ArrayList<CCodeFormalParameter> ();
+	private List<CCodeFormalParameter> parameters = new ArrayList<CCodeFormalParameter> ();
 	
 	public CCodeFunctionDeclarator (string name) {
 		this.name = name;
diff --git a/ccode/valaccodeinitializerlist.vala b/ccode/valaccodeinitializerlist.vala
index 15689c0..26cb56e 100644
--- a/ccode/valaccodeinitializerlist.vala
+++ b/ccode/valaccodeinitializerlist.vala
@@ -21,13 +21,12 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a struct or array initializer list in the C code.
  */
 public class Vala.CCodeInitializerList : CCodeExpression {
-	private Gee.List<CCodeExpression> initializers = new ArrayList<CCodeExpression> ();
+	private List<CCodeExpression> initializers = new ArrayList<CCodeExpression> ();
 	
 	/**
 	 * Appends the specified expression to this initializer list.
diff --git a/ccode/valaccodestruct.vala b/ccode/valaccodestruct.vala
index a5d5ce2..ceef03e 100644
--- a/ccode/valaccodestruct.vala
+++ b/ccode/valaccodestruct.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a struct declaration in the C code.
@@ -32,7 +31,7 @@ public class Vala.CCodeStruct : CCodeNode {
 	 */
 	public string name { get; set; }
 	
-	private Gee.List<CCodeDeclaration> declarations = new ArrayList<CCodeDeclaration> ();
+	private List<CCodeDeclaration> declarations = new ArrayList<CCodeDeclaration> ();
 	
 	public CCodeStruct (string name) {
 		this.name = name;
diff --git a/ccode/valaccodeswitchstatement.vala b/ccode/valaccodeswitchstatement.vala
index 9bf1d9d..04edaf5 100644
--- a/ccode/valaccodeswitchstatement.vala
+++ b/ccode/valaccodeswitchstatement.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a switch selection statement in the C code.
diff --git a/codegen/valaccodearraymodule.vala b/codegen/valaccodearraymodule.vala
index 6ab4256..da08cdf 100644
--- a/codegen/valaccodearraymodule.vala
+++ b/codegen/valaccodearraymodule.vala
@@ -22,7 +22,6 @@
  *	Raffaele Sandrini <raffaele sandrini ch>
  */
 
-using Gee;
 
 internal class Vala.CCodeArrayModule : CCodeMethodCallModule {
 	int next_array_dup_id = 0;
@@ -158,11 +157,11 @@ internal class Vala.CCodeArrayModule : CCodeMethodCallModule {
 		}
 		
 		if (array_expr is ArrayCreationExpression) {
-			Gee.List<Expression> size = ((ArrayCreationExpression) array_expr).get_sizes ();
+			List<Expression> size = ((ArrayCreationExpression) array_expr).get_sizes ();
 			var length_expr = size[dim - 1];
 			return (CCodeExpression) get_ccodenode (length_expr);
 		} else if (array_expr is MethodCall || array_expr is CastExpression) {
-			Gee.List<CCodeExpression> size = array_expr.get_array_sizes ();
+			List<CCodeExpression> size = array_expr.get_array_sizes ();
 			if (size.size >= dim) {
 				return size[dim - 1];
 			}
@@ -317,7 +316,7 @@ internal class Vala.CCodeArrayModule : CCodeMethodCallModule {
 			} else if (array_expr.symbol_reference is Property) {
 				var prop = (Property) array_expr.symbol_reference;
 				if (!prop.no_array_length) {
-					Gee.List<CCodeExpression> size = array_expr.get_array_sizes ();
+					List<CCodeExpression> size = array_expr.get_array_sizes ();
 					if (size.size >= dim) {
 						return size[dim - 1];
 					}
@@ -385,7 +384,7 @@ internal class Vala.CCodeArrayModule : CCodeMethodCallModule {
 	public override void visit_element_access (ElementAccess expr) {
 		expr.accept_children (codegen);
 
-		Gee.List<Expression> indices = expr.get_indices ();
+		List<Expression> indices = expr.get_indices ();
 		int rank = indices.size;
 
 		var container_type = expr.container.value_type.data_type;
diff --git a/codegen/valaccodeassignmentmodule.vala b/codegen/valaccodeassignmentmodule.vala
index 9ae2690..451d411 100644
--- a/codegen/valaccodeassignmentmodule.vala
+++ b/codegen/valaccodeassignmentmodule.vala
@@ -23,7 +23,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * The link between an assignment and generated code.
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala
index 85db964..1ba181b 100644
--- a/codegen/valaccodebasemodule.vala
+++ b/codegen/valaccodebasemodule.vala
@@ -22,7 +22,6 @@
  * 	Raffaele Sandrini <raffaele sandrini ch>
  */
 
-using Gee;
 
 /**
  * Code visitor generating C Code.
@@ -143,11 +142,11 @@ internal class Vala.CCodeBaseModule : CCodeModule {
 	/* temporary variables that own their content */
 	public ArrayList<LocalVariable> temp_ref_vars = new ArrayList<LocalVariable> ();
 	/* cache to check whether a certain marshaller has been created yet */
-	public Gee.Set<string> user_marshal_set;
+	public Set<string> user_marshal_set;
 	/* (constant) hash table with all predefined marshallers */
-	public Gee.Set<string> predefined_marshal_set;
+	public Set<string> predefined_marshal_set;
 	/* (constant) hash table with all reserved identifiers in the generated code */
-	Gee.Set<string> reserved_identifiers;
+	Set<string> reserved_identifiers;
 	
 	public int next_temp_var_id = 0;
 	public bool in_creation_method { get { return current_method is CreationMethod; } }
@@ -1023,7 +1022,7 @@ internal class Vala.CCodeBaseModule : CCodeModule {
 					var ma = new MemberAccess (this_access, f.name);
 					ma.symbol_reference = f;
 					
-					Gee.List<Expression> sizes = ((ArrayCreationExpression) f.initializer).get_sizes ();
+					List<Expression> sizes = ((ArrayCreationExpression) f.initializer).get_sizes ();
 					for (int dim = 1; dim <= array_type.rank; dim++) {
 						var array_len_lhs = head.get_array_length_cexpression (ma, dim);
 						var size = sizes[dim - 1];
@@ -1162,7 +1161,7 @@ internal class Vala.CCodeBaseModule : CCodeModule {
 							var ma = new MemberAccess.simple (f.name);
 							ma.symbol_reference = f;
 					
-							Gee.List<Expression> sizes = ((ArrayCreationExpression) f.initializer).get_sizes ();
+							List<Expression> sizes = ((ArrayCreationExpression) f.initializer).get_sizes ();
 							for (int dim = 1; dim <= array_type.rank; dim++) {
 								var array_len_lhs = head.get_array_length_cexpression (ma, dim);
 								var size = sizes[dim - 1];
@@ -2674,7 +2673,7 @@ internal class Vala.CCodeBaseModule : CCodeModule {
 		}
 		temp_vars.clear ();
 
-		if (((Gee.List<LocalVariable>) temp_ref_vars).size == 0) {
+		if (((List<LocalVariable>) temp_ref_vars).size == 0) {
 			/* nothing to do without temporary variables */
 			return;
 		}
@@ -2704,7 +2703,7 @@ internal class Vala.CCodeBaseModule : CCodeModule {
 		temp_ref_vars.clear ();
 	}
 	
-	public void append_temp_decl (CCodeFragment cfrag, Gee.List<LocalVariable> temp_vars) {
+	public void append_temp_decl (CCodeFragment cfrag, List<LocalVariable> temp_vars) {
 		foreach (LocalVariable local in temp_vars) {
 			if (current_method != null && current_method.coroutine) {
 				closure_struct.add_field (local.variable_type.get_cname (), local.name);
@@ -2773,7 +2772,7 @@ internal class Vala.CCodeBaseModule : CCodeModule {
 
 		/* free temporary objects */
 
-		if (((Gee.List<LocalVariable>) temp_vars).size == 0
+		if (((List<LocalVariable>) temp_vars).size == 0
 		     && pre_statement_fragment == null) {
 			/* nothing to do without temporary variables */
 			return;
@@ -2802,7 +2801,7 @@ internal class Vala.CCodeBaseModule : CCodeModule {
 		temp_ref_vars.clear ();
 	}
 	
-	public void create_temp_decl (Statement stmt, Gee.List<LocalVariable> temp_vars) {
+	public void create_temp_decl (Statement stmt, List<LocalVariable> temp_vars) {
 		/* declare temporary variables */
 		
 		if (temp_vars.size == 0) {
@@ -3587,7 +3586,7 @@ internal class Vala.CCodeBaseModule : CCodeModule {
 	public virtual void generate_error_domain_declaration (ErrorDomain edomain, CCodeDeclarationSpace decl_space) {
 	}
 
-	public void add_generic_type_arguments (Map<int,CCodeExpression> arg_map, Gee.List<DataType> type_args, CodeNode expr, bool is_chainup = false) {
+	public void add_generic_type_arguments (Map<int,CCodeExpression> arg_map, List<DataType> type_args, CodeNode expr, bool is_chainup = false) {
 		int type_param_index = 0;
 		foreach (var type_arg in type_args) {
 			arg_map.set (get_param_pos (0.1 * type_param_index + 0.01), get_type_id_expression (type_arg, is_chainup));
diff --git a/codegen/valaccodecontrolflowmodule.vala b/codegen/valaccodecontrolflowmodule.vala
index f29298e..ea96d64 100644
--- a/codegen/valaccodecontrolflowmodule.vala
+++ b/codegen/valaccodecontrolflowmodule.vala
@@ -23,7 +23,6 @@
  */
 
 using GLib;
-using Gee;
 
 internal class Vala.CCodeControlFlowModule : CCodeMethodModule {
 	public CCodeControlFlowModule (CCodeGenerator codegen, CCodeModule? next) {
@@ -101,7 +100,7 @@ internal class Vala.CCodeControlFlowModule : CCodeMethodModule {
 			cswitchblock.append (new CCodeExpressionStatement (free_call));
 		}
 
-		Gee.List<Statement> default_statements = null;
+		List<Statement> default_statements = null;
 		label_count = 0;
 
 		// generate nested if statements		
diff --git a/codegen/valaccodedeclarationspace.vala b/codegen/valaccodedeclarationspace.vala
index 175236e..e563ed2 100644
--- a/codegen/valaccodedeclarationspace.vala
+++ b/codegen/valaccodedeclarationspace.vala
@@ -20,7 +20,6 @@
  * 	Jürg Billeter <j bitron ch>
  */
 
-using Gee;
 
 class Vala.CCodeDeclarationSpace {
 	public bool is_header { get; set; }
diff --git a/codegen/valaccodedelegatemodule.vala b/codegen/valaccodedelegatemodule.vala
index 52e0fc6..0dd60fa 100644
--- a/codegen/valaccodedelegatemodule.vala
+++ b/codegen/valaccodedelegatemodule.vala
@@ -22,7 +22,6 @@
  *	Raffaele Sandrini <raffaele sandrini ch>
  */
 
-using Gee;
 
 /**
  * The link between an assignment and generated code.
diff --git a/codegen/valaccodegenerator.vala b/codegen/valaccodegenerator.vala
index f66e6dc..ae8fb7c 100644
--- a/codegen/valaccodegenerator.vala
+++ b/codegen/valaccodegenerator.vala
@@ -23,7 +23,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Code visitor generating C Code.
diff --git a/codegen/valaccodemethodcallmodule.vala b/codegen/valaccodemethodcallmodule.vala
index 5660bd6..b21a52d 100644
--- a/codegen/valaccodemethodcallmodule.vala
+++ b/codegen/valaccodemethodcallmodule.vala
@@ -23,7 +23,6 @@
  */
 
 using GLib;
-using Gee;
 
 internal class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
 	public CCodeMethodCallModule (CCodeGenerator codegen, CCodeModule? next) {
@@ -40,7 +39,7 @@ internal class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
 
 		Method m = null;
 		Delegate deleg = null;
-		Gee.List<FormalParameter> params;
+		List<FormalParameter> params;
 		
 		var ma = expr.call as MemberAccess;
 		
diff --git a/codegen/valaccodemethodmodule.vala b/codegen/valaccodemethodmodule.vala
index 93d49ab..d66cfcd 100644
--- a/codegen/valaccodemethodmodule.vala
+++ b/codegen/valaccodemethodmodule.vala
@@ -22,7 +22,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * The link between a method and generated code.
diff --git a/codegen/valaccodemodule.vala b/codegen/valaccodemodule.vala
index 6cbd3b1..bfafe39 100644
--- a/codegen/valaccodemodule.vala
+++ b/codegen/valaccodemodule.vala
@@ -20,7 +20,6 @@
  * 	Jürg Billeter <j bitron ch>
  */
 
-using Gee;
 
 /**
  * Code visitor generating C Code.
@@ -372,11 +371,11 @@ public abstract class Vala.CCodeModule {
 		return next.get_dynamic_signal_disconnect_wrapper_name (node);
 	}
 
-	public virtual void generate_marshaller (Gee.List<FormalParameter> params, DataType return_type, bool dbus = false) {
+	public virtual void generate_marshaller (List<FormalParameter> params, DataType return_type, bool dbus = false) {
 		next.generate_marshaller (params, return_type, dbus);
 	}
 	
-	public virtual string get_marshaller_function (Gee.List<FormalParameter> params, DataType return_type, string? prefix = null, bool dbus = false) {
+	public virtual string get_marshaller_function (List<FormalParameter> params, DataType return_type, string? prefix = null, bool dbus = false) {
 		return next.get_marshaller_function (params, return_type, prefix, dbus);
 	}
 
diff --git a/codegen/valadbusclientmodule.vala b/codegen/valadbusclientmodule.vala
index 7b71f2d..d877bb5 100644
--- a/codegen/valadbusclientmodule.vala
+++ b/codegen/valadbusclientmodule.vala
@@ -23,7 +23,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * The link between a dynamic method and generated code.
@@ -45,7 +44,7 @@ internal class Vala.DBusClientModule : DBusModule {
 		}
 	}
 
-	bool has_dbus_error (Gee.List<DataType> error_types) {
+	bool has_dbus_error (List<DataType> error_types) {
 		foreach (DataType error_type in error_types) {
 			if (((ErrorType) error_type).error_domain.get_full_name () == "DBus.Error") {
 				return true;
@@ -1642,7 +1641,7 @@ internal class Vala.DBusClientModule : DBusModule {
 		return proxy_name;
 	}
 
-	void generate_client_error_cases (CCodeBlock error_block, Gee.List<DataType> error_types, CCodeExpression dbus_error_name, CCodeExpression result_edomain, CCodeExpression result_ecode) {
+	void generate_client_error_cases (CCodeBlock error_block, List<DataType> error_types, CCodeExpression dbus_error_name, CCodeExpression result_edomain, CCodeExpression result_ecode) {
 		CCodeStatement if_else_if = null;
 		CCodeIfStatement last_statement = null;
 
diff --git a/codegen/valadbusservermodule.vala b/codegen/valadbusservermodule.vala
index fb5fcf1..13f895d 100644
--- a/codegen/valadbusservermodule.vala
+++ b/codegen/valadbusservermodule.vala
@@ -23,7 +23,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * The link between a dynamic method and generated code.
@@ -421,7 +420,7 @@ internal class Vala.DBusServerModule : DBusClientModule {
 		return wrapper_name;
 	}
 
-	void generate_server_error_cases (CCodeBlock error_block, Gee.List<DataType> error_types, CCodeExpression error, CCodeExpression message, CCodeExpression reply) {
+	void generate_server_error_cases (CCodeBlock error_block, List<DataType> error_types, CCodeExpression error, CCodeExpression message, CCodeExpression reply) {
 		CCodeStatement if_else_if = null;
 		CCodeIfStatement last_statement = null;
 
diff --git a/codegen/valagasyncmodule.vala b/codegen/valagasyncmodule.vala
index 6f17344..a02f76f 100644
--- a/codegen/valagasyncmodule.vala
+++ b/codegen/valagasyncmodule.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 internal class Vala.GAsyncModule : GSignalModule {
 	public GAsyncModule (CCodeGenerator codegen, CCodeModule? next) {
@@ -517,7 +516,7 @@ internal class Vala.GAsyncModule : GSignalModule {
 
 		/* free temporary objects */
 
-		if (((Gee.List<LocalVariable>) temp_vars).size == 0) {
+		if (((List<LocalVariable>) temp_vars).size == 0) {
 			/* nothing to do without temporary variables */
 			return;
 		}
diff --git a/codegen/valagerrormodule.vala b/codegen/valagerrormodule.vala
index 2f1d385..98528d3 100644
--- a/codegen/valagerrormodule.vala
+++ b/codegen/valagerrormodule.vala
@@ -22,7 +22,6 @@
  */
 
 using GLib;
-using Gee;
 
 internal class Vala.GErrorModule : CCodeDelegateModule {
 	private int current_try_id = 0;
diff --git a/codegen/valagirwriter.vala b/codegen/valagirwriter.vala
index 934b49a..1f4f00b 100644
--- a/codegen/valagirwriter.vala
+++ b/codegen/valagirwriter.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Code visitor generating .gir file for the public interface.
@@ -84,7 +83,7 @@ public class Vala.GIRWriter : CodeVisitor {
 
 	private void write_c_includes (Namespace ns) {
 		// Collect C header filenames
-		Gee.Set<string> header_filenames = new Gee.HashSet<string> (str_hash, str_equal);
+		Set<string> header_filenames = new HashSet<string> (str_hash, str_equal);
 		foreach (string c_header_filename in ns.get_cheader_filenames ()) {
 			header_filenames.add (c_header_filename);
 		}
@@ -455,7 +454,7 @@ public class Vala.GIRWriter : CodeVisitor {
 		}
 	}
 
-	private void write_params_and_return (Gee.List<FormalParameter> params, DataType? return_type, bool return_array_length, bool constructor = false, DataType? instance_type = null) {
+	private void write_params_and_return (List<FormalParameter> params, DataType? return_type, bool return_array_length, bool constructor = false, DataType? instance_type = null) {
 		int last_index = 0;
 		if (params.size != 0 || instance_type != null || (return_type is ArrayType && return_array_length) || (return_type is DelegateType)) {
 			write_indent ();
@@ -550,7 +549,7 @@ public class Vala.GIRWriter : CodeVisitor {
 		}
 	}
 
-	private void do_write_signature (Method m, string tag_name, bool instance, string name, string cname, Gee.List<Vala.FormalParameter> params, DataType return_type, bool can_fail) {
+	private void do_write_signature (Method m, string tag_name, bool instance, string name, string cname, List<Vala.FormalParameter> params, DataType return_type, bool can_fail) {
 		write_indent ();
 		stream.printf ("<%s name=\"%s\"", tag_name, name);
 		if (tag_name == "virtual-method") {
@@ -753,7 +752,7 @@ public class Vala.GIRWriter : CodeVisitor {
 			write_indent ();
 			stream.printf ("<type name=\"%s\" c:type=\"%s\"", gi_type_name (type.data_type), type.get_cname ());
 
-			Gee.List<DataType> type_arguments = type.get_type_arguments ();
+			List<DataType> type_arguments = type.get_type_arguments ();
 			if (type_arguments.size == 0) {
 				stream.printf ("/>\n");
 			} else {
diff --git a/codegen/valagobjectmodule.vala b/codegen/valagobjectmodule.vala
index 9415299..cc1e7bf 100644
--- a/codegen/valagobjectmodule.vala
+++ b/codegen/valagobjectmodule.vala
@@ -22,7 +22,6 @@
  *	Raffaele Sandrini <raffaele sandrini ch>
  */
 
-using Gee;
 
 internal class Vala.GObjectModule : GTypeModule {
 	int dynamic_property_id;
diff --git a/codegen/valagsignalmodule.vala b/codegen/valagsignalmodule.vala
index 8bfcd9f..937ead5 100644
--- a/codegen/valagsignalmodule.vala
+++ b/codegen/valagsignalmodule.vala
@@ -22,7 +22,6 @@
  *	Raffaele Sandrini <raffaele sandrini ch>
  */
 
-using Gee;
 
 internal class Vala.GSignalModule : GObjectModule {
 	public GSignalModule (CCodeGenerator codegen, CCodeModule? next) {
@@ -72,7 +71,7 @@ internal class Vala.GSignalModule : GObjectModule {
 		}
 	}
 	
-	public override string get_marshaller_function (Gee.List<FormalParameter> params, DataType return_type, string? prefix = null, bool dbus = false) {
+	public override string get_marshaller_function (List<FormalParameter> params, DataType return_type, string? prefix = null, bool dbus = false) {
 		var signature = get_marshaller_signature (params, return_type, dbus);
 		string ret;
 
@@ -132,7 +131,7 @@ internal class Vala.GSignalModule : GObjectModule {
 		}
 	}
 	
-	private string get_marshaller_signature (Gee.List<FormalParameter> params, DataType return_type, bool dbus = false) {
+	private string get_marshaller_signature (List<FormalParameter> params, DataType return_type, bool dbus = false) {
 		string signature;
 		
 		signature = "%s:".printf (get_marshaller_type_name (return_type, dbus));
@@ -173,7 +172,7 @@ internal class Vala.GSignalModule : GObjectModule {
 		generate_marshaller (sig.get_parameters (), sig.return_type);
 	}
 
-	public override void generate_marshaller (Gee.List<FormalParameter> params, DataType return_type, bool dbus = false) {
+	public override void generate_marshaller (List<FormalParameter> params, DataType return_type, bool dbus = false) {
 		string signature;
 		int n_params, i;
 		
diff --git a/codegen/valagtypemodule.vala b/codegen/valagtypemodule.vala
index 105e6dc..6f33756 100644
--- a/codegen/valagtypemodule.vala
+++ b/codegen/valagtypemodule.vala
@@ -22,7 +22,6 @@
  *	Raffaele Sandrini <raffaele sandrini ch>
  */
 
-using Gee;
 
 internal class Vala.GTypeModule : GErrorModule {
 	public GTypeModule (CCodeGenerator codegen, CCodeModule? next) {
diff --git a/gee/Makefile.am b/gee/Makefile.am
index ece430c..322ca63 100644
--- a/gee/Makefile.am
+++ b/gee/Makefile.am
@@ -36,11 +36,11 @@ libgee_la_SOURCES = \
 geeincludedir = $(includedir)/vala-1.0
 
 geeinclude_HEADERS = \
-	gee.h \
+	valagee.h \
 	$(NULL)
 
 gee.vapi gee.vala.stamp: $(libgee_la_VALASOURCES)
-	$(VALAC) $(COVERAGE_VALAFLAGS) $(VALAFLAGS) -C --vapidir $(srcdir)/../vapi --pkg gobject-2.0 -H gee.h --library gee $^
+	$(VALAC) $(COVERAGE_VALAFLAGS) $(VALAFLAGS) -C --vapidir $(srcdir)/../vapi --pkg gobject-2.0 -H valagee.h --library gee $^
 	touch $@
 
 libgee_la_LIBADD = \
@@ -52,7 +52,7 @@ EXTRA_DIST = $(libgee_la_VALASOURCES) gee.vapi gee.vala.stamp
 
 MAINTAINERCLEANFILES = \
 	gee.vapi \
-	gee.h \
+	valagee.h \
 	$(libgee_la_VALASOURCES:.vala=.c) \
 	$(NULL)
 
diff --git a/gee/arraylist.vala b/gee/arraylist.vala
index 183119b..b8dd485 100644
--- a/gee/arraylist.vala
+++ b/gee/arraylist.vala
@@ -27,7 +27,7 @@ using GLib;
 /**
  * Arrays of arbitrary elements which grow automatically as elements are added.
  */
-public class Gee.ArrayList<G> : CollectionObject, Iterable<G>, Collection<G>, List<G> {
+public class Vala.ArrayList<G> : CollectionObject, Iterable<G>, Collection<G>, List<G> {
 	public int size {
 		get { return _size; }
 	}
@@ -51,7 +51,7 @@ public class Gee.ArrayList<G> : CollectionObject, Iterable<G>, Collection<G>, Li
 		return typeof (G);
 	}
 
-	public Gee.Iterator<G> iterator () {
+	public Vala.Iterator<G> iterator () {
 		return new Iterator<G> (this);
 	}
 
@@ -152,7 +152,7 @@ public class Gee.ArrayList<G> : CollectionObject, Iterable<G>, Collection<G>, Li
 		_items.resize (value);
 	}
 
-	private class Iterator<G> : CollectionObject, Gee.Iterator<G> {
+	private class Iterator<G> : CollectionObject, Vala.Iterator<G> {
 		public ArrayList<G> list {
 			set {
 				_list = value;
diff --git a/gee/collection.vala b/gee/collection.vala
index 6e5cc7b..11ea97a 100644
--- a/gee/collection.vala
+++ b/gee/collection.vala
@@ -24,7 +24,7 @@
  * Serves as the base interface for implementing collection classes. Defines
  * size, iteration, and modification methods.
  */
-public interface Gee.Collection<G> : Iterable<G> {
+public interface Vala.Collection<G> : Iterable<G> {
 	/**
 	 * The number of items in this collection.
 	 */
diff --git a/gee/collectionobject.vala b/gee/collectionobject.vala
index 08398e2..5a7a624 100644
--- a/gee/collectionobject.vala
+++ b/gee/collectionobject.vala
@@ -25,6 +25,6 @@ using GLib;
 /**
  * Base class for all collections.
  */
-public class Gee.CollectionObject {
+public class Vala.CollectionObject {
 }
 
diff --git a/gee/hashmap.vala b/gee/hashmap.vala
index c152b7b..79bcf1c 100644
--- a/gee/hashmap.vala
+++ b/gee/hashmap.vala
@@ -27,7 +27,7 @@ using GLib;
 /**
  * Hashtable implementation of the Map interface.
  */
-public class Gee.HashMap<K,V> : CollectionObject, Map<K,V> {
+public class Vala.HashMap<K,V> : CollectionObject, Map<K,V> {
 	public int size {
 		get { return _nnodes; }
 	}
diff --git a/gee/hashset.vala b/gee/hashset.vala
index 712fd8d..7f188e1 100644
--- a/gee/hashset.vala
+++ b/gee/hashset.vala
@@ -27,7 +27,7 @@ using GLib;
 /**
  * Hashtable implementation of the Set interface.
  */
-public class Gee.HashSet<G> : CollectionObject, Iterable<G>, Collection<G>, Set<G> {
+public class Vala.HashSet<G> : CollectionObject, Iterable<G>, Collection<G>, Set<G> {
 	public int size {
 		get { return _nnodes; }
 	}
@@ -78,7 +78,7 @@ public class Gee.HashSet<G> : CollectionObject, Iterable<G>, Collection<G>, Set<
 		return typeof (G);
 	}
 
-	public Gee.Iterator<G> iterator () {
+	public Vala.Iterator<G> iterator () {
 		return new Iterator<G> (this);
 	}
 
@@ -166,7 +166,7 @@ public class Gee.HashSet<G> : CollectionObject, Iterable<G>, Collection<G>, Set<
 		}
 	}
 
-	private class Iterator<G> : CollectionObject, Gee.Iterator<G> {
+	private class Iterator<G> : CollectionObject, Vala.Iterator<G> {
 		public HashSet<G> set {
 			set {
 				_set = value;
diff --git a/gee/iterable.vala b/gee/iterable.vala
index 998f598..a95bd73 100644
--- a/gee/iterable.vala
+++ b/gee/iterable.vala
@@ -26,7 +26,7 @@ using GLib;
  * Implemented by classes that support a simple iteration over instances of the
  * collection.
  */
-public interface Gee.Iterable<G> : CollectionObject {
+public interface Vala.Iterable<G> : CollectionObject {
 	public abstract Type get_element_type ();
 
 	/**
diff --git a/gee/iterator.vala b/gee/iterator.vala
index fddee81..9677e88 100644
--- a/gee/iterator.vala
+++ b/gee/iterator.vala
@@ -24,7 +24,7 @@
  * Implemented by classes that support a simple iteration over instances of the
  * collection.
  */
-public interface Gee.Iterator<G> : CollectionObject {
+public interface Vala.Iterator<G> : CollectionObject {
 	/**
 	 * Advances to the next element in the iteration.
 	 *
diff --git a/gee/list.vala b/gee/list.vala
index d034a91..3f13576 100644
--- a/gee/list.vala
+++ b/gee/list.vala
@@ -23,7 +23,7 @@
 /**
  * Represents a collection of items in a well-defined order.
  */
-public interface Gee.List<G> : Collection<G> {
+public interface Vala.List<G> : Collection<G> {
 	/**
 	 * Returns the item at the specified index in this list.
 	 *
diff --git a/gee/map.vala b/gee/map.vala
index e56a7b5..c98eeb4 100644
--- a/gee/map.vala
+++ b/gee/map.vala
@@ -23,7 +23,7 @@
 /**
  * A map is a generic collection of key/value pairs.
  */
-public interface Gee.Map<K,V> : CollectionObject {
+public interface Vala.Map<K,V> : CollectionObject {
 	/**
 	 * The number of items in this map.
 	 */
diff --git a/gee/readonlycollection.vala b/gee/readonlycollection.vala
index c1c7165..d0e3458 100644
--- a/gee/readonlycollection.vala
+++ b/gee/readonlycollection.vala
@@ -25,7 +25,7 @@ using GLib;
 /**
  * Represents a read-only collection of items.
  */
-public class Gee.ReadOnlyCollection<G> : CollectionObject, Iterable<G>, Collection<G> {
+public class Vala.ReadOnlyCollection<G> : CollectionObject, Iterable<G>, Collection<G> {
 	public int size {
 		get { return _collection.size; }
 	}
@@ -44,7 +44,7 @@ public class Gee.ReadOnlyCollection<G> : CollectionObject, Iterable<G>, Collecti
 		return typeof (G);
 	}
 
-	public Gee.Iterator<G> iterator () {
+	public Vala.Iterator<G> iterator () {
 		if (_collection == null) {
 			return new Iterator<G> ();
 		}
@@ -72,7 +72,7 @@ public class Gee.ReadOnlyCollection<G> : CollectionObject, Iterable<G>, Collecti
 		assert_not_reached ();
 	}
 
-	private class Iterator<G> : CollectionObject, Gee.Iterator<G> {
+	private class Iterator<G> : CollectionObject, Vala.Iterator<G> {
 		public bool next () {
 			return false;
 		}
diff --git a/gee/readonlylist.vala b/gee/readonlylist.vala
index d03eb4d..d3793bf 100644
--- a/gee/readonlylist.vala
+++ b/gee/readonlylist.vala
@@ -25,7 +25,7 @@ using GLib;
 /**
  * Represents a read-only collection of items in a well-defined order.
  */
-public class Gee.ReadOnlyList<G> : CollectionObject, Iterable<G>, Collection<G>, List<G> {
+public class Vala.ReadOnlyList<G> : CollectionObject, Iterable<G>, Collection<G>, List<G> {
 	public int size {
 		get { return _list.size; }
 	}
@@ -44,7 +44,7 @@ public class Gee.ReadOnlyList<G> : CollectionObject, Iterable<G>, Collection<G>,
 		return typeof (G);
 	}
 
-	public Gee.Iterator<G> iterator () {
+	public Vala.Iterator<G> iterator () {
 		if (_list == null) {
 			return new Iterator<G> ();
 		}
@@ -100,7 +100,7 @@ public class Gee.ReadOnlyList<G> : CollectionObject, Iterable<G>, Collection<G>,
 		assert_not_reached ();
 	}
 
-	class Iterator<G> : CollectionObject, Gee.Iterator<G> {
+	class Iterator<G> : CollectionObject, Vala.Iterator<G> {
 		public bool next () {
 			return false;
 		}
diff --git a/gee/readonlymap.vala b/gee/readonlymap.vala
index c8e352c..264cbee 100644
--- a/gee/readonlymap.vala
+++ b/gee/readonlymap.vala
@@ -25,7 +25,7 @@ using GLib;
 /**
  * Represents a read-only collection of key/value pairs.
  */
-public class Gee.ReadOnlyMap<K,V> : CollectionObject, Map<K,V> {
+public class Vala.ReadOnlyMap<K,V> : CollectionObject, Map<K,V> {
 	public int size {
 		get { return _map.size; }
 	}
diff --git a/gee/readonlyset.vala b/gee/readonlyset.vala
index 54600dc..3d80343 100644
--- a/gee/readonlyset.vala
+++ b/gee/readonlyset.vala
@@ -25,7 +25,7 @@ using GLib;
 /**
  * Represents a read-only collection of items without duplicates.
  */
-public class Gee.ReadOnlySet<G> : CollectionObject, Iterable<G>, Collection<G>, Set<G> {
+public class Vala.ReadOnlySet<G> : CollectionObject, Iterable<G>, Collection<G>, Set<G> {
 	public int size {
 		get { return _set.size; }
 	}
@@ -44,7 +44,7 @@ public class Gee.ReadOnlySet<G> : CollectionObject, Iterable<G>, Collection<G>,
 		return typeof (G);
 	}
 
-	public Gee.Iterator<G> iterator () {
+	public Vala.Iterator<G> iterator () {
 		if (_set == null) {
 			return new Iterator<G> ();
 		}
@@ -72,7 +72,7 @@ public class Gee.ReadOnlySet<G> : CollectionObject, Iterable<G>, Collection<G>,
 		assert_not_reached ();
 	}
 
-	private class Iterator<G> : CollectionObject, Gee.Iterator<G> {
+	private class Iterator<G> : CollectionObject, Vala.Iterator<G> {
 		public bool next () {
 			return false;
 		}
diff --git a/gee/set.vala b/gee/set.vala
index 57b69e3..03c28da 100644
--- a/gee/set.vala
+++ b/gee/set.vala
@@ -23,6 +23,6 @@
 /**
  * A set is a collection without duplicates.
  */
-public interface Gee.Set<G> : Collection<G> {
+public interface Vala.Set<G> : Collection<G> {
 }
 
diff --git a/vala/valaarraycreationexpression.vala b/vala/valaarraycreationexpression.vala
index 6181b0f..a77be1d 100644
--- a/vala/valaarraycreationexpression.vala
+++ b/vala/valaarraycreationexpression.vala
@@ -23,7 +23,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents an array creation expression e.g. "new int[] {1,2,3}".
@@ -48,7 +47,7 @@ public class Vala.ArrayCreationExpression : Expression {
 	/**
 	 * The size for each dimension ascending from left to right.
 	 */
-	private Gee.List<Expression> sizes = new ArrayList<Expression> ();
+	private List<Expression> sizes = new ArrayList<Expression> ();
 	
 	/**
 	 * The root array initializer list.
@@ -76,7 +75,7 @@ public class Vala.ArrayCreationExpression : Expression {
 	/**
 	 * Get the sizes for all dimensions ascending from left to right.
 	 */
-	public Gee.List<Expression> get_sizes () {
+	public List<Expression> get_sizes () {
 		return new ReadOnlyList<Expression> (sizes);
 	}
 	
@@ -117,7 +116,7 @@ public class Vala.ArrayCreationExpression : Expression {
 		}
 	}
 
-	private int create_sizes_from_initializer_list (SemanticAnalyzer analyzer, InitializerList il, int rank, Gee.List<Literal> sl) {
+	private int create_sizes_from_initializer_list (SemanticAnalyzer analyzer, InitializerList il, int rank, List<Literal> sl) {
 		if (sl.size == (this.rank - rank)) {
 			// only add size if this is the first initializer list of the current dimension
 			var init = new IntegerLiteral (il.size.to_string (), il.source_reference);
@@ -164,7 +163,7 @@ public class Vala.ArrayCreationExpression : Expression {
 
 		checked = true;
 
-		Gee.List<Expression> sizes = get_sizes ();
+		List<Expression> sizes = get_sizes ();
 		var initlist = initializer_list;
 
 		if (element_type != null) {
diff --git a/vala/valaarraytype.vala b/vala/valaarraytype.vala
index 710a17b..63028cb 100644
--- a/vala/valaarraytype.vala
+++ b/vala/valaarraytype.vala
@@ -227,7 +227,7 @@ public class Vala.ArrayType : ReferenceType {
 		}
 	}
 
-	public override Gee.List<Symbol> get_symbols () {
+	public override List<Symbol> get_symbols () {
 		return element_type.get_symbols ();
 	}
 
diff --git a/vala/valaassignment.vala b/vala/valaassignment.vala
index dccf13e..06ad297 100644
--- a/vala/valaassignment.vala
+++ b/vala/valaassignment.vala
@@ -20,7 +20,6 @@
  * 	Jürg Billeter <j bitron ch>
  */
 
-using Gee;
 
 /**
  * Represents an assignment expression in the source code.
diff --git a/vala/valaattribute.vala b/vala/valaattribute.vala
index 4144089..32f475f 100644
--- a/vala/valaattribute.vala
+++ b/vala/valaattribute.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents an attribute specified in the source code.
@@ -35,7 +34,7 @@ public class Vala.Attribute : CodeNode {
 	/**
 	 * Contains all specified attribute arguments.
 	 */
-	public Gee.Map<string,Expression> args = new Gee.HashMap<string,Expression> (str_hash, str_equal);
+	public Vala.Map<string,Expression> args = new HashMap<string,Expression> (str_hash, str_equal);
 
 	/**
 	 * Creates a new attribute.
diff --git a/vala/valabaseaccess.vala b/vala/valabaseaccess.vala
index 42f74b9..4872565 100644
--- a/vala/valabaseaccess.vala
+++ b/vala/valabaseaccess.vala
@@ -20,7 +20,6 @@
  * 	Jürg Billeter <j bitron ch>
  */
 
-using Gee;
 
 /**
  * Represents an access to base class members in the source code.
diff --git a/vala/valabasicblock.vala b/vala/valabasicblock.vala
index 2602f59..498622c 100644
--- a/vala/valabasicblock.vala
+++ b/vala/valabasicblock.vala
@@ -21,22 +21,21 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a basic block, i.e. a straight-line piece of code without any
  * jumps or jump targets.
  */
 public class Vala.BasicBlock {
-	private Gee.List<CodeNode> nodes = new ArrayList<CodeNode> ();
+	private List<CodeNode> nodes = new ArrayList<CodeNode> ();
 
 	// control flow graph
-	private Gee.List<weak BasicBlock> predecessors = new ArrayList<weak BasicBlock> ();
-	private Gee.List<BasicBlock> successors = new ArrayList<BasicBlock> ();
+	private List<weak BasicBlock> predecessors = new ArrayList<weak BasicBlock> ();
+	private List<BasicBlock> successors = new ArrayList<BasicBlock> ();
 
 	// dominator tree
 	public BasicBlock parent { get; private set; }
-	Gee.List<BasicBlock> children = new ArrayList<BasicBlock> ();
+	List<BasicBlock> children = new ArrayList<BasicBlock> ();
 	Set<BasicBlock> df = new HashSet<BasicBlock> ();
 
 	Set<PhiFunction> phi_functions = new HashSet<PhiFunction> ();
@@ -54,7 +53,7 @@ public class Vala.BasicBlock {
 		nodes.add (node);
 	}
 
-	public Gee.List<CodeNode> get_nodes () {
+	public List<CodeNode> get_nodes () {
 		return nodes;
 	}
 
@@ -67,11 +66,11 @@ public class Vala.BasicBlock {
 		}
 	}
 
-	public Gee.List<weak BasicBlock> get_predecessors () {
+	public List<weak BasicBlock> get_predecessors () {
 		return new ReadOnlyList<weak BasicBlock> (predecessors);
 	}
 
-	public Gee.List<weak BasicBlock> get_successors () {
+	public List<weak BasicBlock> get_successors () {
 		return new ReadOnlyList<weak BasicBlock> (successors);
 	}
 
@@ -80,7 +79,7 @@ public class Vala.BasicBlock {
 		block.parent = this;
 	}
 
-	public Gee.List<BasicBlock> get_children () {
+	public List<BasicBlock> get_children () {
 		return children;
 	}
 
@@ -88,7 +87,7 @@ public class Vala.BasicBlock {
 		df.add (block);
 	}
 
-	public Gee.Set<BasicBlock> get_dominator_frontier () {
+	public Set<BasicBlock> get_dominator_frontier () {
 		return df;
 	}
 
@@ -96,7 +95,7 @@ public class Vala.BasicBlock {
 		phi_functions.add (phi);
 	}
 
-	public Gee.Set<PhiFunction> get_phi_functions () {
+	public Set<PhiFunction> get_phi_functions () {
 		return phi_functions;
 	}
 }
diff --git a/vala/valabinaryexpression.vala b/vala/valabinaryexpression.vala
index 54f5890..b4b35c4 100644
--- a/vala/valabinaryexpression.vala
+++ b/vala/valabinaryexpression.vala
@@ -20,7 +20,6 @@
  * 	Jürg Billeter <j bitron ch>
  */
 
-using Gee;
 
 /**
  * Represents an expression with two operands in the source code.
diff --git a/vala/valablock.vala b/vala/valablock.vala
index c473aca..59eba44 100644
--- a/vala/valablock.vala
+++ b/vala/valablock.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a source code block.
@@ -35,8 +34,8 @@ public class Vala.Block : Symbol, Statement {
 
 	public bool captured { get; set; }
 
-	private Gee.List<Statement> statement_list = new ArrayList<Statement> ();
-	private Gee.List<LocalVariable> local_variables = new ArrayList<LocalVariable> ();
+	private List<Statement> statement_list = new ArrayList<Statement> ();
+	private List<LocalVariable> local_variables = new ArrayList<LocalVariable> ();
 	
 	/**
 	 * Creates a new block.
@@ -67,7 +66,7 @@ public class Vala.Block : Symbol, Statement {
 	 *
 	 * @return statement list
 	 */
-	public Gee.List<Statement> get_statements () {
+	public List<Statement> get_statements () {
 		var list = new ArrayList<Statement> ();
 		foreach (Statement stmt in statement_list) {
 			var stmt_list = stmt as StatementList;
@@ -108,7 +107,7 @@ public class Vala.Block : Symbol, Statement {
 	 *
 	 * @return variable declarator list
 	 */
-	public Gee.List<LocalVariable> get_local_variables () {
+	public List<LocalVariable> get_local_variables () {
 		return new ReadOnlyList<LocalVariable> (local_variables);
 	}
 
diff --git a/vala/valacastexpression.vala b/vala/valacastexpression.vala
index f75c9ff..f8e76c5 100644
--- a/vala/valacastexpression.vala
+++ b/vala/valacastexpression.vala
@@ -20,7 +20,6 @@
  * 	Jürg Billeter <j bitron ch>
  */
 
-using Gee;
 
 /**
  * Represents a type cast in the source code.
diff --git a/vala/valacatchclause.vala b/vala/valacatchclause.vala
index 4ce8ce1..4ac98be 100644
--- a/vala/valacatchclause.vala
+++ b/vala/valacatchclause.vala
@@ -20,7 +20,6 @@
  * 	Jürg Billeter <j bitron ch>
  */
 
-using Gee;
 
 /**
  * Represents a catch clause in a try statement in the source code.
diff --git a/vala/valaclass.vala b/vala/valaclass.vala
index c04ce0a..d324b18 100644
--- a/vala/valaclass.vala
+++ b/vala/valaclass.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a class declaration in the source code.
@@ -128,26 +127,26 @@ public class Vala.Class : ObjectTypeSymbol {
 	private bool _is_compact;
 	private bool _is_immutable;
 
-	private Gee.List<DataType> base_types = new ArrayList<DataType> ();
+	private List<DataType> base_types = new ArrayList<DataType> ();
 
-	private Gee.List<Constant> constants = new ArrayList<Constant> ();
-	private Gee.List<Field> fields = new ArrayList<Field> ();
-	private Gee.List<Method> methods = new ArrayList<Method> ();
-	private Gee.List<Property> properties = new ArrayList<Property> ();
-	private Gee.List<Signal> signals = new ArrayList<Signal> ();
+	private List<Constant> constants = new ArrayList<Constant> ();
+	private List<Field> fields = new ArrayList<Field> ();
+	private List<Method> methods = new ArrayList<Method> ();
+	private List<Property> properties = new ArrayList<Property> ();
+	private List<Signal> signals = new ArrayList<Signal> ();
 
 	// inner types
-	private Gee.List<Class> classes = new ArrayList<Class> ();
-	private Gee.List<Struct> structs = new ArrayList<Struct> ();
-	private Gee.List<Enum> enums = new ArrayList<Enum> ();
-	private Gee.List<Delegate> delegates = new ArrayList<Delegate> ();
+	private List<Class> classes = new ArrayList<Class> ();
+	private List<Struct> structs = new ArrayList<Struct> ();
+	private List<Enum> enums = new ArrayList<Enum> ();
+	private List<Delegate> delegates = new ArrayList<Delegate> ();
 
 	/**
 	 * Returns a copy of the list of classes.
 	 *
 	 * @return list of classes
 	 */
-	public Gee.List<Class> get_classes () {
+	public List<Class> get_classes () {
 		return new ReadOnlyList<Class> (classes);
 	}
 
@@ -156,7 +155,7 @@ public class Vala.Class : ObjectTypeSymbol {
 	 *
 	 * @return list of structs
 	 */
-	public Gee.List<Struct> get_structs () {
+	public List<Struct> get_structs () {
 		return new ReadOnlyList<Struct> (structs);
 	}
 
@@ -165,7 +164,7 @@ public class Vala.Class : ObjectTypeSymbol {
 	 *
 	 * @return list of enums
 	 */
-	public Gee.List<Enum> get_enums () {
+	public List<Enum> get_enums () {
 		return new ReadOnlyList<Enum> (enums);
 	}
 
@@ -174,7 +173,7 @@ public class Vala.Class : ObjectTypeSymbol {
 	 *
 	 * @return list of delegates
 	 */
-	public Gee.List<Delegate> get_delegates () {
+	public List<Delegate> get_delegates () {
 		return new ReadOnlyList<Delegate> (delegates);
 	}
 
@@ -264,7 +263,7 @@ public class Vala.Class : ObjectTypeSymbol {
 	 *
 	 * @return list of base types
 	 */
-	public Gee.List<DataType> get_base_types () {
+	public List<DataType> get_base_types () {
 		return new ReadOnlyList<DataType> (base_types);
 	}
 
@@ -298,7 +297,7 @@ public class Vala.Class : ObjectTypeSymbol {
 	 *
 	 * @return list of fields
 	 */
-	public Gee.List<Field> get_fields () {
+	public List<Field> get_fields () {
 		return new ReadOnlyList<Field> (fields);
 	}
 
@@ -307,7 +306,7 @@ public class Vala.Class : ObjectTypeSymbol {
 	 *
 	 * @return list of constants
 	 */
-	public Gee.List<Constant> get_constants () {
+	public List<Constant> get_constants () {
 		return new ReadOnlyList<Constant> (constants);
 	}
 
@@ -395,7 +394,7 @@ public class Vala.Class : ObjectTypeSymbol {
 	 *
 	 * @return list of methods
 	 */
-	public override Gee.List<Method> get_methods () {
+	public override List<Method> get_methods () {
 		return new ReadOnlyList<Method> (methods);
 	}
 	
@@ -421,7 +420,7 @@ public class Vala.Class : ObjectTypeSymbol {
 	 *
 	 * @return list of properties
 	 */
-	public override Gee.List<Property> get_properties () {
+	public override List<Property> get_properties () {
 		return new ReadOnlyList<Property> (properties);
 	}
 	
@@ -440,7 +439,7 @@ public class Vala.Class : ObjectTypeSymbol {
 	 *
 	 * @return list of signals
 	 */
-	public override Gee.List<Signal> get_signals () {
+	public override List<Signal> get_signals () {
 		return new ReadOnlyList<Signal> (signals);
 	}
 
@@ -906,7 +905,7 @@ public class Vala.Class : ObjectTypeSymbol {
 		}
 	}
 
-	private void get_all_prerequisites (Interface iface, Gee.List<TypeSymbol> list) {
+	private void get_all_prerequisites (Interface iface, List<TypeSymbol> list) {
 		foreach (DataType prereq in iface.get_prerequisites ()) {
 			TypeSymbol type = prereq.data_type;
 			/* skip on previous errors */
@@ -1066,14 +1065,14 @@ public class Vala.Class : ObjectTypeSymbol {
 		}
 
 		/* gather all prerequisites */
-		Gee.List<TypeSymbol> prerequisites = new ArrayList<TypeSymbol> ();
+		List<TypeSymbol> prerequisites = new ArrayList<TypeSymbol> ();
 		foreach (DataType base_type in get_base_types ()) {
 			if (base_type.data_type is Interface) {
 				get_all_prerequisites ((Interface) base_type.data_type, prerequisites);
 			}
 		}
 		/* check whether all prerequisites are met */
-		Gee.List<string> missing_prereqs = new ArrayList<string> ();
+		List<string> missing_prereqs = new ArrayList<string> ();
 		foreach (TypeSymbol prereq in prerequisites) {
 			if (!class_is_a (this, prereq)) {
 				missing_prereqs.insert (0, prereq.get_full_name ());
diff --git a/vala/valacodecontext.vala b/vala/valacodecontext.vala
index e6d9db3..938e511 100644
--- a/vala/valacodecontext.vala
+++ b/vala/valacodecontext.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * The root of the code tree.
@@ -156,11 +155,11 @@ public class Vala.CodeContext {
 
 	public string entry_point_name { get; set; }
 
-	private Gee.List<SourceFile> source_files = new ArrayList<SourceFile> ();
-	private Gee.List<string> c_source_files = new ArrayList<string> ();
+	private List<SourceFile> source_files = new ArrayList<SourceFile> ();
+	private List<string> c_source_files = new ArrayList<string> ();
 	private Namespace _root = new Namespace (null);
 
-	private Gee.List<string> packages = new ArrayList<string> (str_equal);
+	private List<string> packages = new ArrayList<string> (str_equal);
 
 	private Set<string> defines = new HashSet<string> (str_hash, str_equal);
 
@@ -187,7 +186,7 @@ public class Vala.CodeContext {
 	 * Return the topmost context from the context stack.
 	 */
 	public static CodeContext get () {
-		Gee.List<CodeContext>* context_stack = context_stack_key.get ();
+		List<CodeContext>* context_stack = context_stack_key.get ();
 
 		return context_stack->get (context_stack->size - 1);
 	}
@@ -196,7 +195,7 @@ public class Vala.CodeContext {
 	 * Push the specified context to the context stack.
 	 */
 	public static void push (CodeContext context) {
-		Gee.List<CodeContext>* context_stack = context_stack_key.get ();
+		List<CodeContext>* context_stack = context_stack_key.get ();
 		if (context_stack == null) {
 			context_stack = new ArrayList<CodeContext> ();
 			context_stack_key.set (context_stack, null);
@@ -209,7 +208,7 @@ public class Vala.CodeContext {
 	 * Remove the topmost context from the context stack.
 	 */
 	public static void pop () {
-		Gee.List<CodeContext>* context_stack = context_stack_key.get ();
+		List<CodeContext>* context_stack = context_stack_key.get ();
 
 		context_stack->remove_at (context_stack->size - 1);
 	}
@@ -219,7 +218,7 @@ public class Vala.CodeContext {
 	 *
 	 * @return list of source files
 	 */
-	public Gee.List<SourceFile> get_source_files () {
+	public List<SourceFile> get_source_files () {
 		return new ReadOnlyList<SourceFile> (source_files);
 	}
 
@@ -228,7 +227,7 @@ public class Vala.CodeContext {
 	 *
 	 * @return list of C source files
 	 */
-	public Gee.List<string> get_c_source_files () {
+	public List<string> get_c_source_files () {
 		return new ReadOnlyList<string> (c_source_files);
 	}
 	
@@ -255,7 +254,7 @@ public class Vala.CodeContext {
 	 *
 	 * @return list of used packages
 	 */
-	public Gee.List<string> get_packages () {
+	public List<string> get_packages () {
 		return new ReadOnlyList<string> (packages);
 	}
 
diff --git a/vala/valacodenode.vala b/vala/valacodenode.vala
index bcee17e..d424623 100644
--- a/vala/valacodenode.vala
+++ b/vala/valacodenode.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a part of the parsed source code.
@@ -82,8 +81,8 @@ public abstract class Vala.CodeNode {
 		get { return _error_types != null && _error_types.size > 0; }
 	}
 
-	private Gee.List<DataType> _error_types;
-	private static Gee.List<DataType> _empty_type_list;
+	private List<DataType> _error_types;
+	private static List<DataType> _empty_type_list;
 
 	private CCodeNode? _ccodenode;
 
@@ -92,7 +91,7 @@ public abstract class Vala.CodeNode {
 	/**
 	 * Specifies the exceptions that can be thrown by this node or a child node
 	 */
-	public Gee.List<DataType> get_error_types () { 
+	public List<DataType> get_error_types () { 
 		if (_error_types != null) {
 			return _error_types;
 		}
@@ -118,7 +117,7 @@ public abstract class Vala.CodeNode {
 	 * Adds a collection of error types to the exceptions that can be thrown by this node
 	 * or a child node 
 	 */
-	public void add_error_types (Gee.List<DataType> error_types) {
+	public void add_error_types (List<DataType> error_types) {
 		foreach (DataType error_type in error_types) {
 			add_error_type (error_type);
 		}
diff --git a/vala/valacodewriter.vala b/vala/valacodewriter.vala
index 21a40da..22f5919 100644
--- a/vala/valacodewriter.vala
+++ b/vala/valacodewriter.vala
@@ -22,7 +22,6 @@
  *	Raffaele Sandrini <raffaele sandrini ch>
  */
 
-using Gee;
 
 /**
  * Code visitor generating Vala API file for the public interface.
@@ -272,8 +271,8 @@ public class Vala.CodeWriter : CodeVisitor {
 		write_newline ();
 	}
 
-	void visit_sorted (Gee.List<Symbol> symbols) {
-		var sorted_symbols = new Gee.ArrayList<Symbol> ();
+	void visit_sorted (List<Symbol> symbols) {
+		var sorted_symbols = new ArrayList<Symbol> ();
 		foreach (Symbol sym in symbols) {
 			int left = 0;
 			int right = sorted_symbols.size - 1;
@@ -671,7 +670,7 @@ public class Vala.CodeWriter : CodeVisitor {
 		write_newline ();
 	}
 	
-	private void write_error_domains (Gee.List<DataType> error_domains) {
+	private void write_error_domains (List<DataType> error_domains) {
 		if (error_domains.size > 0) {
 			write_string (" throws ");
 
@@ -693,7 +692,7 @@ public class Vala.CodeWriter : CodeVisitor {
 		return ((int) (d1 * 1000)) == ((int) (d2 * 1000));
 	}
 
-	private void write_params (Gee.List<FormalParameter> params) {
+	private void write_params (List<FormalParameter> params) {
 		write_string ("(");
 
 		int i = 1;
diff --git a/vala/valadatatype.vala b/vala/valadatatype.vala
index fc4791b..b792ef1 100644
--- a/vala/valadatatype.vala
+++ b/vala/valadatatype.vala
@@ -23,7 +23,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * A reference to a data type. This is used to specify static types of
@@ -60,8 +59,8 @@ public abstract class Vala.DataType : CodeNode {
 	 */
 	public bool is_dynamic { get; set; }
 
-	private Gee.List<DataType> type_argument_list;
-	private static Gee.List<DataType> _empty_type_list;
+	private List<DataType> type_argument_list;
+	private static List<DataType> _empty_type_list;
 
 	/**
 	 * Appends the specified type as generic type argument.
@@ -81,7 +80,7 @@ public abstract class Vala.DataType : CodeNode {
 	 *
 	 * @return type argument list
 	 */
-	public Gee.List<DataType> get_type_arguments () {
+	public List<DataType> get_type_arguments () {
 		if (type_argument_list != null) {
 			return type_argument_list;
 		}
@@ -400,7 +399,7 @@ public abstract class Vala.DataType : CodeNode {
 	 *
 	 * @return parameter list
 	 */
-	public virtual Gee.List<FormalParameter>? get_parameters () {
+	public virtual List<FormalParameter>? get_parameters () {
 		return null;
 	}
 
@@ -419,7 +418,7 @@ public abstract class Vala.DataType : CodeNode {
 	 *
 	 * @return symbol list
 	 */
-	public virtual Gee.List<Symbol> get_symbols () {
+	public virtual List<Symbol> get_symbols () {
 		var symbols = new ArrayList<Symbol> ();
 		if (data_type != null) {
 			symbols.add (data_type);
diff --git a/vala/valadeclarationstatement.vala b/vala/valadeclarationstatement.vala
index 428d88e..344000e 100644
--- a/vala/valadeclarationstatement.vala
+++ b/vala/valadeclarationstatement.vala
@@ -20,7 +20,6 @@
  * 	Jürg Billeter <j bitron ch>
  */
 
-using Gee;
 
 /**
  * Represents a local variable or constant declaration statement in the source code.
diff --git a/vala/valadelegate.vala b/vala/valadelegate.vala
index 8af7157..a882d3a 100644
--- a/vala/valadelegate.vala
+++ b/vala/valadelegate.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a function callback type.
@@ -75,9 +74,9 @@ public class Vala.Delegate : TypeSymbol {
 	 */
 	public bool array_null_terminated { get; set; }
 
-	private Gee.List<TypeParameter> type_parameters = new ArrayList<TypeParameter> ();
+	private List<TypeParameter> type_parameters = new ArrayList<TypeParameter> ();
 
-	private Gee.List<FormalParameter> parameters = new ArrayList<FormalParameter> ();
+	private List<FormalParameter> parameters = new ArrayList<FormalParameter> ();
 	private string cname;
 
 	private DataType _return_type;
@@ -130,7 +129,7 @@ public class Vala.Delegate : TypeSymbol {
 	 *
 	 * @return parameter list
 	 */
-	public Gee.List<FormalParameter> get_parameters () {
+	public List<FormalParameter> get_parameters () {
 		return new ReadOnlyList<FormalParameter> (parameters);
 	}
 	
diff --git a/vala/valadelegatetype.vala b/vala/valadelegatetype.vala
index 3761380..331f1e7 100644
--- a/vala/valadelegatetype.vala
+++ b/vala/valadelegatetype.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * The type of an instance of a delegate.
@@ -41,7 +40,7 @@ public class Vala.DelegateType : DataType {
 		return delegate_symbol.return_type;
 	}
 
-	public override Gee.List<FormalParameter>? get_parameters () {
+	public override List<FormalParameter>? get_parameters () {
 		return delegate_symbol.get_parameters ();
 	}
 
@@ -70,7 +69,7 @@ public class Vala.DelegateType : DataType {
 		return delegate_symbol.get_cname ();
 	}
 
-	public override Gee.List<Symbol> get_symbols () {
+	public override List<Symbol> get_symbols () {
 		var symbols = new ArrayList<Symbol> ();
 		symbols.add (delegate_symbol);
 		return symbols;
diff --git a/vala/valadynamicmethod.vala b/vala/valadynamicmethod.vala
index 06c58fb..361d4b2 100644
--- a/vala/valadynamicmethod.vala
+++ b/vala/valadynamicmethod.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a late bound method.
@@ -39,7 +38,7 @@ public class Vala.DynamicMethod : Method {
 		this.dynamic_type = dynamic_type;
 	}
 
-	public override Gee.List<string> get_cheader_filenames () {
+	public override List<string> get_cheader_filenames () {
 		return new ArrayList<string> ();
 	}
 
diff --git a/vala/valadynamicproperty.vala b/vala/valadynamicproperty.vala
index 3139f5f..7155965 100644
--- a/vala/valadynamicproperty.vala
+++ b/vala/valadynamicproperty.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a late bound property.
@@ -34,7 +33,7 @@ public class Vala.DynamicProperty : Property {
 		this.dynamic_type = dynamic_type;
 	}
 
-	public override Gee.List<string> get_cheader_filenames () {
+	public override List<string> get_cheader_filenames () {
 		return new ArrayList<string> ();
 	}
 
diff --git a/vala/valaelementaccess.vala b/vala/valaelementaccess.vala
index 4faf6d2..9cfe3c8 100644
--- a/vala/valaelementaccess.vala
+++ b/vala/valaelementaccess.vala
@@ -23,7 +23,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents an array access expression e.g. "a[1,2]".
@@ -45,7 +44,7 @@ public class Vala.ElementAccess : Expression {
 	/**
 	 * Expressions representing the indices we want to access inside the container.
 	 */
-	private Gee.List<Expression> indices = new ArrayList<Expression> ();
+	private List<Expression> indices = new ArrayList<Expression> ();
 
 	Expression _container;
 
@@ -54,7 +53,7 @@ public class Vala.ElementAccess : Expression {
 		index.parent_node = this;
 	}
 
-	public Gee.List<Expression> get_indices () {
+	public List<Expression> get_indices () {
 		return new ReadOnlyList<Expression> (indices);
 	}
 	
diff --git a/vala/valaenum.vala b/vala/valaenum.vala
index b348f9c..b000a13 100644
--- a/vala/valaenum.vala
+++ b/vala/valaenum.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents an enum declaration in the source code.
@@ -37,8 +36,8 @@ public class Vala.Enum : TypeSymbol {
 	 */
 	public bool has_type_id { get; set; default = true; }
 
-	private Gee.List<EnumValue> values = new ArrayList<EnumValue> ();
-	private Gee.List<Method> methods = new ArrayList<Method> ();
+	private List<EnumValue> values = new ArrayList<EnumValue> ();
+	private List<Method> methods = new ArrayList<Method> ();
 	private string cname;
 	private string cprefix;
 	private string lower_case_cprefix;
@@ -92,7 +91,7 @@ public class Vala.Enum : TypeSymbol {
 	 *
 	 * @return list of enum values
 	 */
-	public Gee.List<EnumValue> get_values () {
+	public List<EnumValue> get_values () {
 		return new ReadOnlyList<EnumValue> (values);
 	}
 
@@ -101,7 +100,7 @@ public class Vala.Enum : TypeSymbol {
 	 *
 	 * @return list of methods
 	 */
-	public Gee.List<Method> get_methods () {
+	public List<Method> get_methods () {
 		return new ReadOnlyList<Method> (methods);
 	}
 
diff --git a/vala/valaerrordomain.vala b/vala/valaerrordomain.vala
index 6802fa8..7ccc78a 100644
--- a/vala/valaerrordomain.vala
+++ b/vala/valaerrordomain.vala
@@ -21,14 +21,13 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents an error domain declaration in the source code.
  */
 public class Vala.ErrorDomain : TypeSymbol {
-	private Gee.List<ErrorCode> codes = new ArrayList<ErrorCode> ();
-	private Gee.List<Method> methods = new ArrayList<Method> ();
+	private List<ErrorCode> codes = new ArrayList<ErrorCode> ();
+	private List<Method> methods = new ArrayList<Method> ();
 	private string cname;
 	private string cprefix;
 	private string lower_case_cprefix;
@@ -81,7 +80,7 @@ public class Vala.ErrorDomain : TypeSymbol {
 	 *
 	 * @return list of error codes
 	 */
-	public Gee.List<ErrorCode> get_codes () {
+	public List<ErrorCode> get_codes () {
 		return new ReadOnlyList<ErrorCode> (codes);
 	}
 
@@ -90,7 +89,7 @@ public class Vala.ErrorDomain : TypeSymbol {
 	 *
 	 * @return list of methods
 	 */
-	public Gee.List<Method> get_methods () {
+	public List<Method> get_methods () {
 		return new ReadOnlyList<Method> (methods);
 	}
 
diff --git a/vala/valaexpression.vala b/vala/valaexpression.vala
index a97ed10..334ed29 100644
--- a/vala/valaexpression.vala
+++ b/vala/valaexpression.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Base class for all code nodes that might be used as an expression.
@@ -64,7 +63,7 @@ public abstract class Vala.Expression : CodeNode {
 	 */
 	public ArrayList<LocalVariable> temp_vars = new ArrayList<LocalVariable> ();
 
-	private Gee.List<CCodeExpression> array_sizes = new ArrayList<CCodeExpression> ();
+	private List<CCodeExpression> array_sizes = new ArrayList<CCodeExpression> ();
 
 	public CCodeExpression? delegate_target { get; set; }
 	public CCodeExpression? delegate_target_destroy_notify { get; set; }
@@ -101,7 +100,7 @@ public abstract class Vala.Expression : CodeNode {
 	 * Get the C code expression for array sizes for all dimensions
 	 * ascending from left to right.
 	 */
-	public Gee.List<CCodeExpression> get_array_sizes () {
+	public List<CCodeExpression> get_array_sizes () {
 		return new ReadOnlyList<CCodeExpression> (array_sizes);
 	}
 
diff --git a/vala/valaexpressionstatement.vala b/vala/valaexpressionstatement.vala
index 69cf0bd..75f6bab 100644
--- a/vala/valaexpressionstatement.vala
+++ b/vala/valaexpressionstatement.vala
@@ -20,7 +20,6 @@
  * 	Jürg Billeter <j bitron ch>
  */
 
-using Gee;
 
 /**
  * A code statement that evaluates a given expression. The value computed by the
diff --git a/vala/valafield.vala b/vala/valafield.vala
index 3573354..89e174f 100644
--- a/vala/valafield.vala
+++ b/vala/valafield.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a type or namespace field.
diff --git a/vala/valaflowanalyzer.vala b/vala/valaflowanalyzer.vala
index a932b97..364a2cd 100644
--- a/vala/valaflowanalyzer.vala
+++ b/vala/valaflowanalyzer.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Code visitor building the control flow graph.
@@ -80,9 +79,9 @@ public class Vala.FlowAnalyzer : CodeVisitor {
 	private CodeContext context;
 	private BasicBlock current_block;
 	private bool unreachable_reported;
-	private Gee.List<JumpTarget> jump_stack = new ArrayList<JumpTarget> ();
+	private List<JumpTarget> jump_stack = new ArrayList<JumpTarget> ();
 
-	Map<Symbol, Gee.List<LocalVariable>> var_map;
+	Map<Symbol, List<LocalVariable>> var_map;
 	Set<LocalVariable> used_vars;
 	Map<LocalVariable, PhiFunction> phi_functions;
 
@@ -176,13 +175,13 @@ public class Vala.FlowAnalyzer : CodeVisitor {
 		check_variables (m.entry_block);
 	}
 
-	Gee.List<BasicBlock> get_depth_first_list (BasicBlock entry_block) {
+	List<BasicBlock> get_depth_first_list (BasicBlock entry_block) {
 		var list = new ArrayList<BasicBlock> ();
 		depth_first_traverse (entry_block, list);
 		return list;
 	}
 
-	void depth_first_traverse (BasicBlock current, Gee.List<BasicBlock> list) {
+	void depth_first_traverse (BasicBlock current, List<BasicBlock> list) {
 		if (current in list) {
 			return;
 		}
@@ -362,7 +361,7 @@ public class Vala.FlowAnalyzer : CodeVisitor {
 	}
 
 	void check_variables (BasicBlock entry_block) {
-		var_map = new HashMap<Symbol, Gee.List<LocalVariable>>();
+		var_map = new HashMap<Symbol, List<LocalVariable>>();
 		used_vars = new HashSet<LocalVariable> ();
 		phi_functions = new HashMap<LocalVariable, PhiFunction> ();
 
@@ -462,7 +461,7 @@ public class Vala.FlowAnalyzer : CodeVisitor {
 		}
 	}
 
-	LocalVariable process_assignment (Map<Symbol, Gee.List<LocalVariable>> var_map, LocalVariable var_symbol) {
+	LocalVariable process_assignment (Map<Symbol, List<LocalVariable>> var_map, LocalVariable var_symbol) {
 		var variable_stack = var_map.get (var_symbol);
 		if (variable_stack == null) {
 			variable_stack = new ArrayList<LocalVariable> ();
@@ -930,7 +929,7 @@ public class Vala.FlowAnalyzer : CodeVisitor {
 		}
 
 		// remove catch clauses from jump stack
-		Gee.List<JumpTarget> catch_stack = new ArrayList<JumpTarget> ();
+		List<JumpTarget> catch_stack = new ArrayList<JumpTarget> ();
 		for (int i = jump_stack.size - 1; i >= finally_jump_stack_size; i--) {
 			var jump_target = jump_stack[i];
 			catch_stack.add (jump_target);
diff --git a/vala/valaforeachstatement.vala b/vala/valaforeachstatement.vala
index c073ab9..b12440e 100644
--- a/vala/valaforeachstatement.vala
+++ b/vala/valaforeachstatement.vala
@@ -20,7 +20,6 @@
  * 	Jürg Billeter <j bitron ch>
  */
 
-using Gee;
 
 /**
  * Represents a foreach statement in the source code. Foreach statements iterate
diff --git a/vala/valaformalparameter.vala b/vala/valaformalparameter.vala
index b9dd31a..2dfa557 100644
--- a/vala/valaformalparameter.vala
+++ b/vala/valaformalparameter.vala
@@ -23,7 +23,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a formal parameter in method and callback signatures.
diff --git a/vala/valaforstatement.vala b/vala/valaforstatement.vala
index 38e79bc..44fac12 100644
--- a/vala/valaforstatement.vala
+++ b/vala/valaforstatement.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a for iteration statement in the source code.
@@ -55,8 +54,8 @@ public class Vala.ForStatement : CodeNode, Statement {
 		}
 	}
 
-	private Gee.List<Expression> initializer = new ArrayList<Expression> ();
-	private Gee.List<Expression> iterator = new ArrayList<Expression> ();
+	private List<Expression> initializer = new ArrayList<Expression> ();
+	private List<Expression> iterator = new ArrayList<Expression> ();
 
 	private Expression _condition;
 	private Block _body;
@@ -90,7 +89,7 @@ public class Vala.ForStatement : CodeNode, Statement {
 	 *
 	 * @return initializer list
 	 */
-	public Gee.List<Expression> get_initializer () {
+	public List<Expression> get_initializer () {
 		return new ReadOnlyList<Expression> (initializer);
 	}
 	
@@ -109,7 +108,7 @@ public class Vala.ForStatement : CodeNode, Statement {
 	 *
 	 * @return iterator
 	 */
-	public Gee.List<Expression> get_iterator () {
+	public List<Expression> get_iterator () {
 		return new ReadOnlyList<Expression> (iterator);
 	}
 	
diff --git a/vala/valagenieparser.vala b/vala/valagenieparser.vala
index f982744..a6a1047 100644
--- a/vala/valagenieparser.vala
+++ b/vala/valagenieparser.vala
@@ -22,7 +22,6 @@
  */
 
 using GLib;
-using Gee;
 
 
 /**
@@ -446,7 +445,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 			return type;
 		}
 
-		Gee.List<DataType> type_arg_list = null;
+		List<DataType> type_arg_list = null;
 		UnresolvedSymbol sym = null;
 		
 		bool is_dynamic = accept (TokenType.DYNAMIC);
@@ -588,7 +587,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 	}
 
 
-	Gee.List<Expression> parse_argument_list () throws ParseError {
+	List<Expression> parse_argument_list () throws ParseError {
 		var list = new ArrayList<Expression> ();
 		if (current () != TokenType.CLOSE_PARENS) {
 			do {
@@ -696,7 +695,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 	Expression parse_simple_name () throws ParseError {
 		var begin = get_location ();
 		string id = parse_identifier ();
-		Gee.List<DataType> type_arg_list = parse_type_argument_list (true);
+		List<DataType> type_arg_list = parse_type_argument_list (true);
 		var expr = new MemberAccess (null, id, get_src (begin));
 		if (type_arg_list != null) {
 			foreach (DataType type_arg in type_arg_list) {
@@ -728,7 +727,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 	Expression parse_member_access (SourceLocation begin, Expression inner) throws ParseError {
 		expect (TokenType.DOT);
 		string id = parse_identifier ();
-		Gee.List<DataType> type_arg_list = parse_type_argument_list (true);
+		List<DataType> type_arg_list = parse_type_argument_list (true);
 		var expr = new MemberAccess (inner, id, get_src (begin));
 		if (type_arg_list != null) {
 			foreach (DataType type_arg in type_arg_list) {
@@ -741,7 +740,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 	Expression parse_pointer_member_access (SourceLocation begin, Expression inner) throws ParseError {
 		expect (TokenType.OP_PTR);
 		string id = parse_identifier ();
-		Gee.List<DataType> type_arg_list = parse_type_argument_list (true);
+		List<DataType> type_arg_list = parse_type_argument_list (true);
 		var expr = new MemberAccess.pointer (inner, id, get_src (begin));
 		if (type_arg_list != null) {
 			foreach (DataType type_arg in type_arg_list) {
@@ -752,7 +751,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 	}
 
 
-	Gee.List<Expression> parse_print_argument_list () throws ParseError {
+	List<Expression> parse_print_argument_list () throws ParseError {
 		var list = new ArrayList<Expression> ();
 		var i = 0;
 		var begin = get_location ();
@@ -876,7 +875,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		return expr;
 	}
 
-	Gee.List<Expression> parse_expression_list () throws ParseError {
+	List<Expression> parse_expression_list () throws ParseError {
 		var list = new ArrayList<Expression> ();
 		do {
 			list.add (parse_expression ());
@@ -942,7 +941,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 
 	Expression parse_object_creation_expression (SourceLocation begin, MemberAccess member) throws ParseError {
 		member.creation_member = true;
-		Gee.List<Expression> arg_list;
+		List<Expression> arg_list;
 		if (accept (TokenType.OPEN_PARENS)) {
 			arg_list = parse_argument_list ();
 			expect (TokenType.CLOSE_PARENS);
@@ -964,7 +963,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 
 	Expression parse_array_creation_expression (SourceLocation begin, DataType element_type) throws ParseError {
 		bool size_specified = false;
-		Gee.List<Expression> size_specifier_list = null;
+		List<Expression> size_specifier_list = null;
 		bool first = true;
 		DataType etype = element_type.copy ();
 		
@@ -1067,7 +1066,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 	}
 	
 
-	Gee.List<MemberInitializer> parse_object_initializer () throws ParseError {
+	List<MemberInitializer> parse_object_initializer () throws ParseError {
 		var list = new ArrayList<MemberInitializer> ();
 		if (accept (TokenType.OPEN_BRACE)) {
 			do {
@@ -1453,7 +1452,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 
 	Expression parse_lambda_expression () throws ParseError {
 		var begin = get_location ();
-		Gee.List<string> params = new ArrayList<string> ();
+		List<string> params = new ArrayList<string> ();
 		
 		expect (TokenType.DEF);
 		
@@ -2151,7 +2150,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		return stmt;
 	}
 
-	void parse_catch_clauses (Gee.List<CatchClause> catch_clauses) throws ParseError {
+	void parse_catch_clauses (List<CatchClause> catch_clauses) throws ParseError {
 		while (accept (TokenType.EXCEPT)) {
 			var begin = get_location ();
 			DataType type = null;
@@ -2193,7 +2192,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		return new DeleteStatement (expr, get_src (begin));
 	}
 
-	Gee.List<Attribute>? parse_attributes () throws ParseError {
+	List<Attribute>? parse_attributes () throws ParseError {
 		if (current () != TokenType.OPEN_BRACKET) {
 			return null;
 		}
@@ -2223,9 +2222,9 @@ public class Vala.Genie.Parser : CodeVisitor {
 		return attrs;
 	}
 
-	void set_attributes (CodeNode node, Gee.List<Attribute>? attributes) {
+	void set_attributes (CodeNode node, List<Attribute>? attributes) {
 		if (attributes != null) {
-			foreach (Attribute attr in (Gee.List<Attribute>) attributes) {
+			foreach (Attribute attr in (List<Attribute>) attributes) {
 				node.attributes.append (attr);
 			}
 		}
@@ -2381,7 +2380,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		return RecoveryState.EOF;
 	}
 
-	Namespace parse_namespace_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Namespace parse_namespace_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		expect (TokenType.NAMESPACE);
 		var sym = parse_symbol_name ();
@@ -2473,7 +2472,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		
 	}
 
-	Symbol parse_class_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Symbol parse_class_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		expect (TokenType.CLASS);
 
@@ -2591,7 +2590,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		}
 	}
 
-	Constant parse_constant_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Constant parse_constant_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 
 		expect (TokenType.CONST);
@@ -2630,7 +2629,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		return c;
 	}
 
-	Field parse_field_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Field parse_field_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		string id = parse_identifier ();
 		expect (TokenType.COLON);
@@ -2698,7 +2697,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 	
 	
 
-	Method parse_main_method_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Method parse_main_method_declaration (List<Attribute>? attrs) throws ParseError {
 		var id = "main";
 		var begin = get_location ();
 		DataType type = new VoidType ();
@@ -2730,7 +2729,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		return method;
 	}
 
-	Method parse_method_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Method parse_method_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		DataType type = new VoidType ();
 		expect (TokenType.DEF);
@@ -2880,7 +2879,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		return method;
 	}
 
-	Property parse_property_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Property parse_property_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		var readonly = false;
 
@@ -3023,7 +3022,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		return prop;
 	}
 
-	Vala.Signal parse_signal_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Vala.Signal parse_signal_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		DataType type;
 
@@ -3080,7 +3079,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		return sig;
 	}
 
-	Constructor parse_constructor_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Constructor parse_constructor_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 
 		expect (TokenType.INIT);
@@ -3098,7 +3097,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		return c;
 	}
 
-	Destructor parse_destructor_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Destructor parse_destructor_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		expect (TokenType.FINAL);
 		var d = new Destructor (get_src (begin));
@@ -3107,7 +3106,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		return d;
 	}
 
-	Symbol parse_struct_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Symbol parse_struct_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 
 		expect (TokenType.STRUCT);
@@ -3165,7 +3164,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		}
 	}
 
-	Symbol parse_interface_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Symbol parse_interface_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 
 		expect (TokenType.INTERFACE);
@@ -3243,7 +3242,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		}
 	}
 
-	Symbol parse_enum_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Symbol parse_enum_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		expect (TokenType.ENUM);
 		var flags = parse_type_declaration_modifiers ();
@@ -3298,7 +3297,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		return result;
 	}
 
-	Symbol parse_errordomain_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Symbol parse_errordomain_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		expect (TokenType.ERRORDOMAIN);
 		var flags = parse_type_declaration_modifiers ();
@@ -3469,7 +3468,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		return param;
 	}
 
-	CreationMethod parse_creation_method_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	CreationMethod parse_creation_method_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		CreationMethod method;
 
@@ -3519,7 +3518,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		return method;
 	}
 
-	Symbol parse_delegate_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Symbol parse_delegate_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		DataType type;
 
@@ -3605,7 +3604,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		return result;
 	}
 
-	Gee.List<TypeParameter> parse_type_parameter_list () throws ParseError {
+	List<TypeParameter> parse_type_parameter_list () throws ParseError {
 		var list = new ArrayList<TypeParameter> ();
 		if (accept (TokenType.OF)) {
 			do {
@@ -3627,7 +3626,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 	}
 
 	// try to parse type argument list
-	Gee.List<DataType>? parse_type_argument_list (bool maybe_expression) throws ParseError {
+	List<DataType>? parse_type_argument_list (bool maybe_expression) throws ParseError {
 		var begin = get_location ();
 		if (accept (TokenType.OF)) {
 			var list = new ArrayList<DataType> ();
@@ -3658,7 +3657,7 @@ public class Vala.Genie.Parser : CodeVisitor {
 		MemberAccess expr = null;
 		do {
 			string id = parse_identifier ();
-			Gee.List<DataType> type_arg_list = parse_type_argument_list (false);
+			List<DataType> type_arg_list = parse_type_argument_list (false);
 			expr = new MemberAccess (expr, id, get_src (begin));
 			if (type_arg_list != null) {
 				foreach (DataType type_arg in type_arg_list) {
diff --git a/vala/valageniescanner.vala b/vala/valageniescanner.vala
index d36ec35..b9b0238 100644
--- a/vala/valageniescanner.vala
+++ b/vala/valageniescanner.vala
@@ -22,7 +22,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Lexical scanner for Genie source files.
diff --git a/vala/valainitializerlist.vala b/vala/valainitializerlist.vala
index aa09522..82aa6e9 100644
--- a/vala/valainitializerlist.vala
+++ b/vala/valainitializerlist.vala
@@ -23,13 +23,12 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents an array or struct initializer list in the source code.
  */
 public class Vala.InitializerList : Expression {
-	private Gee.List<Expression> initializers = new ArrayList<Expression> ();
+	private List<Expression> initializers = new ArrayList<Expression> ();
 	
 	/**
 	 * Appends the specified expression to this initializer 
@@ -46,7 +45,7 @@ public class Vala.InitializerList : Expression {
 	 *
 	 * @return expression list
 	 */
-	public Gee.List<Expression> get_initializers () {
+	public List<Expression> get_initializers () {
 		return new ReadOnlyList<Expression> (initializers);
 	}
 
diff --git a/vala/valainterface.vala b/vala/valainterface.vala
index e9ff118..1538736 100644
--- a/vala/valainterface.vala
+++ b/vala/valainterface.vala
@@ -21,25 +21,24 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a class declaration in the source code.
  */
 public class Vala.Interface : ObjectTypeSymbol {
-	private Gee.List<DataType> prerequisites = new ArrayList<DataType> ();
+	private List<DataType> prerequisites = new ArrayList<DataType> ();
 
-	private Gee.List<Method> methods = new ArrayList<Method> ();
-	private Gee.List<Field> fields = new ArrayList<Field> ();
-	private Gee.List<Constant> constants = new ArrayList<Constant> ();
-	private Gee.List<Property> properties = new ArrayList<Property> ();
-	private Gee.List<Signal> signals = new ArrayList<Signal> ();
+	private List<Method> methods = new ArrayList<Method> ();
+	private List<Field> fields = new ArrayList<Field> ();
+	private List<Constant> constants = new ArrayList<Constant> ();
+	private List<Property> properties = new ArrayList<Property> ();
+	private List<Signal> signals = new ArrayList<Signal> ();
 
 	// inner types
-	private Gee.List<Class> classes = new ArrayList<Class> ();
-	private Gee.List<Struct> structs = new ArrayList<Struct> ();
-	private Gee.List<Enum> enums = new ArrayList<Enum> ();
-	private Gee.List<Delegate> delegates = new ArrayList<Delegate> ();
+	private List<Class> classes = new ArrayList<Class> ();
+	private List<Struct> structs = new ArrayList<Struct> ();
+	private List<Enum> enums = new ArrayList<Enum> ();
+	private List<Delegate> delegates = new ArrayList<Delegate> ();
 
 	private string cname;
 	private string lower_case_csuffix;
@@ -51,7 +50,7 @@ public class Vala.Interface : ObjectTypeSymbol {
 	 *
 	 * @return list of classes
 	 */
-	public Gee.List<Class> get_classes () {
+	public List<Class> get_classes () {
 		return new ReadOnlyList<Class> (classes);
 	}
 
@@ -60,7 +59,7 @@ public class Vala.Interface : ObjectTypeSymbol {
 	 *
 	 * @return list of structs
 	 */
-	public Gee.List<Struct> get_structs () {
+	public List<Struct> get_structs () {
 		return new ReadOnlyList<Struct> (structs);
 	}
 
@@ -69,7 +68,7 @@ public class Vala.Interface : ObjectTypeSymbol {
 	 *
 	 * @return list of enums
 	 */
-	public Gee.List<Enum> get_enums () {
+	public List<Enum> get_enums () {
 		return new ReadOnlyList<Enum> (enums);
 	}
 
@@ -78,7 +77,7 @@ public class Vala.Interface : ObjectTypeSymbol {
 	 *
 	 * @return list of delegates
 	 */
-	public Gee.List<Delegate> get_delegates () {
+	public List<Delegate> get_delegates () {
 		return new ReadOnlyList<Delegate> (delegates);
 	}
 
@@ -119,7 +118,7 @@ public class Vala.Interface : ObjectTypeSymbol {
 	 *
 	 * @return list of base types
 	 */
-	public Gee.List<DataType> get_prerequisites () {
+	public List<DataType> get_prerequisites () {
 		return new ReadOnlyList<DataType> (prerequisites);
 	}
 	
@@ -153,7 +152,7 @@ public class Vala.Interface : ObjectTypeSymbol {
 	 *
 	 * @return list of methods
 	 */
-	public override Gee.List<Method> get_methods () {
+	public override List<Method> get_methods () {
 		return new ReadOnlyList<Method> (methods);
 	}
 	
@@ -173,7 +172,7 @@ public class Vala.Interface : ObjectTypeSymbol {
 	 *
 	 * @return list of fields
 	 */
-	public Gee.List<Field> get_fields () {
+	public List<Field> get_fields () {
 		return new ReadOnlyList<Field> (fields);
 	}
 
@@ -192,7 +191,7 @@ public class Vala.Interface : ObjectTypeSymbol {
 	 *
 	 * @return list of constants
 	 */
-	public Gee.List<Constant> get_constants () {
+	public List<Constant> get_constants () {
 		return new ReadOnlyList<Constant> (constants);
 	}
 
@@ -214,7 +213,7 @@ public class Vala.Interface : ObjectTypeSymbol {
 	 *
 	 * @return list of properties
 	 */
-	public override Gee.List<Property> get_properties () {
+	public override List<Property> get_properties () {
 		return new ReadOnlyList<Property> (properties);
 	}
 	
@@ -233,7 +232,7 @@ public class Vala.Interface : ObjectTypeSymbol {
 	 *
 	 * @return list of signals
 	 */
-	public override Gee.List<Signal> get_signals () {
+	public override List<Signal> get_signals () {
 		return new ReadOnlyList<Signal> (signals);
 	}
 
diff --git a/vala/valalambdaexpression.vala b/vala/valalambdaexpression.vala
index c9794c2..0f0bb29 100644
--- a/vala/valalambdaexpression.vala
+++ b/vala/valalambdaexpression.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a lambda expression in the source code. Lambda expressions are
@@ -45,7 +44,7 @@ public class Vala.LambdaExpression : Expression {
 	 */
 	public Method method { get; set; }
 
-	private Gee.List<string> parameters = new ArrayList<string> ();
+	private List<string> parameters = new ArrayList<string> ();
 
 	/**
 	 * Creates a new lambda expression.
@@ -85,7 +84,7 @@ public class Vala.LambdaExpression : Expression {
 	 *
 	 * @return parameter list
 	 */
-	public Gee.List<string> get_parameters () {
+	public List<string> get_parameters () {
 		return new ReadOnlyList<string> (parameters);
 	}
 	
diff --git a/vala/valamember.vala b/vala/valamember.vala
index b0bdfaf..602c06a 100644
--- a/vala/valamember.vala
+++ b/vala/valamember.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a general class member.
@@ -29,7 +28,7 @@ using Gee;
 public abstract class Vala.Member : Symbol {
 	public Comment comment { get; set; }
 
-	private Gee.List<string> cheader_filenames = new ArrayList<string> ();
+	private List<string> cheader_filenames = new ArrayList<string> ();
 
 	/**
 	 * Specifies whether this method explicitly hides a member of a base
@@ -46,7 +45,7 @@ public abstract class Vala.Member : Symbol {
 		visitor.visit_member (this);
 	}
 
-	public override Gee.List<string> get_cheader_filenames () {
+	public override List<string> get_cheader_filenames () {
 		if (cheader_filenames.size == 0 && parent_symbol != null) {
 			/* default to header filenames of the namespace */
 			foreach (string filename in parent_symbol.get_cheader_filenames ()) {
diff --git a/vala/valamemberaccess.vala b/vala/valamemberaccess.vala
index f12fdcc..b7fab0b 100644
--- a/vala/valamemberaccess.vala
+++ b/vala/valamemberaccess.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents an access to a type member in the source code.
@@ -69,7 +68,7 @@ public class Vala.MemberAccess : Expression {
 	public bool qualified { get; set; }
 
 	private Expression? _inner;
-	private Gee.List<DataType> type_argument_list = new ArrayList<DataType> ();
+	private List<DataType> type_argument_list = new ArrayList<DataType> ();
 	
 	/**
 	 * Creates a new member access expression.
@@ -112,7 +111,7 @@ public class Vala.MemberAccess : Expression {
 	 *
 	 * @return type argument list
 	 */
-	public Gee.List<DataType> get_type_arguments () {
+	public List<DataType> get_type_arguments () {
 		return new ReadOnlyList<DataType> (type_argument_list);
 	}
 
diff --git a/vala/valamethod.vala b/vala/valamethod.vala
index d64326b..8b9359a 100644
--- a/vala/valamethod.vala
+++ b/vala/valamethod.vala
@@ -23,13 +23,12 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a type or namespace method.
  */
 public class Vala.Method : Member {
-	Gee.List<TypeParameter> type_parameters = new ArrayList<TypeParameter> ();
+	List<TypeParameter> type_parameters = new ArrayList<TypeParameter> ();
 
 	public const string DEFAULT_SENTINEL = "NULL";
 
@@ -228,12 +227,12 @@ public class Vala.Method : Member {
 
 	public bool is_async_callback { get; set; }
 
-	private Gee.List<FormalParameter> parameters = new ArrayList<FormalParameter> ();
+	private List<FormalParameter> parameters = new ArrayList<FormalParameter> ();
 	private string cname;
 	private string _vfunc_name;
 	private string _sentinel;
-	private Gee.List<Expression> preconditions = new ArrayList<Expression> ();
-	private Gee.List<Expression> postconditions = new ArrayList<Expression> ();
+	private List<Expression> preconditions = new ArrayList<Expression> ();
+	private List<Expression> postconditions = new ArrayList<Expression> ();
 	private DataType _return_type;
 	private Block _body;
 
@@ -244,7 +243,7 @@ public class Vala.Method : Member {
 	Method? callback_method;
 
 	// only valid for closures
-	Gee.List<LocalVariable> captured_variables;
+	List<LocalVariable> captured_variables;
 
 	/**
 	 * Creates a new method.
@@ -279,7 +278,7 @@ public class Vala.Method : Member {
 		}
 	}
 	
-	public Gee.List<FormalParameter> get_parameters () {
+	public List<FormalParameter> get_parameters () {
 		return new ReadOnlyList<FormalParameter> (parameters);
 	}
 
@@ -563,7 +562,7 @@ public class Vala.Method : Member {
 	 *
 	 * @return list of type parameters
 	 */
-	public Gee.List<TypeParameter> get_type_parameters () {
+	public List<TypeParameter> get_type_parameters () {
 		return new ReadOnlyList<TypeParameter> (type_parameters);
 	}
 
@@ -593,7 +592,7 @@ public class Vala.Method : Member {
 	 *
 	 * @return list of preconditions
 	 */
-	public Gee.List<Expression> get_preconditions () {
+	public List<Expression> get_preconditions () {
 		return new ReadOnlyList<Expression> (preconditions);
 	}
 
@@ -612,7 +611,7 @@ public class Vala.Method : Member {
 	 *
 	 * @return list of postconditions
 	 */
-	public Gee.List<Expression> get_postconditions () {
+	public List<Expression> get_postconditions () {
 		return new ReadOnlyList<Expression> (postconditions);
 	}
 
@@ -988,7 +987,7 @@ public class Vala.Method : Member {
 		return callback_method;
 	}
 
-	public Gee.List<FormalParameter> get_async_begin_parameters () {
+	public List<FormalParameter> get_async_begin_parameters () {
 		assert (this.coroutine);
 
 		var glib_ns = CodeContext.get ().root.scope.lookup ("GLib");
@@ -1013,7 +1012,7 @@ public class Vala.Method : Member {
 		return params;
 	}
 
-	public Gee.List<FormalParameter> get_async_end_parameters () {
+	public List<FormalParameter> get_async_end_parameters () {
 		assert (this.coroutine);
 
 		var params = new ArrayList<FormalParameter> ();
diff --git a/vala/valamethodcall.vala b/vala/valamethodcall.vala
index 25865c6..aafb948 100644
--- a/vala/valamethodcall.vala
+++ b/vala/valamethodcall.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents an invocation expression in the source code.
@@ -42,7 +41,7 @@ public class Vala.MethodCall : Expression {
 
 	public Expression _call;
 	
-	private Gee.List<Expression> argument_list = new ArrayList<Expression> ();
+	private List<Expression> argument_list = new ArrayList<Expression> ();
 
 	/**
 	 * Creates a new invocation expression.
@@ -71,7 +70,7 @@ public class Vala.MethodCall : Expression {
 	 *
 	 * @return argument list
 	 */
-	public Gee.List<Expression> get_argument_list () {
+	public List<Expression> get_argument_list () {
 		return new ReadOnlyList<Expression> (argument_list);
 	}
 
diff --git a/vala/valamethodtype.vala b/vala/valamethodtype.vala
index a782371..fe69e6a 100644
--- a/vala/valamethodtype.vala
+++ b/vala/valamethodtype.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * The type of a method referencea.
@@ -41,7 +40,7 @@ public class Vala.MethodType : DataType {
 		return method_symbol.return_type;
 	}
 
-	public override Gee.List<FormalParameter>? get_parameters () {
+	public override List<FormalParameter>? get_parameters () {
 		return method_symbol.get_parameters ();
 	}
 
diff --git a/vala/valanamespace.vala b/vala/valanamespace.vala
index aebac89..a044888 100644
--- a/vala/valanamespace.vala
+++ b/vala/valanamespace.vala
@@ -21,32 +21,31 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a namespace declaration in the source code.
  */
 public class Vala.Namespace : Symbol {
-	private Gee.List<Class> classes = new ArrayList<Class> ();
-	private Gee.List<Interface> interfaces = new ArrayList<Interface> ();
-	private Gee.List<Struct> structs = new ArrayList<Struct> ();
-	private Gee.List<Enum> enums = new ArrayList<Enum> ();
-	private Gee.List<ErrorDomain> error_domains = new ArrayList<ErrorDomain> ();
-	private Gee.List<Delegate> delegates = new ArrayList<Delegate> ();
-	private Gee.List<Constant> constants = new ArrayList<Constant> ();
-	private Gee.List<Field> fields = new ArrayList<Field> ();
-	private Gee.List<Method> methods = new ArrayList<Method> ();
-
-	private Gee.List<Comment> comments = new ArrayList<Comment> ();
-
-	private Gee.List<string> cprefixes = new ArrayList<string> ();
+	private List<Class> classes = new ArrayList<Class> ();
+	private List<Interface> interfaces = new ArrayList<Interface> ();
+	private List<Struct> structs = new ArrayList<Struct> ();
+	private List<Enum> enums = new ArrayList<Enum> ();
+	private List<ErrorDomain> error_domains = new ArrayList<ErrorDomain> ();
+	private List<Delegate> delegates = new ArrayList<Delegate> ();
+	private List<Constant> constants = new ArrayList<Constant> ();
+	private List<Field> fields = new ArrayList<Field> ();
+	private List<Method> methods = new ArrayList<Method> ();
+
+	private List<Comment> comments = new ArrayList<Comment> ();
+
+	private List<string> cprefixes = new ArrayList<string> ();
 	private string lower_case_cprefix;
 	
-	private Gee.List<string> cheader_filenames = new ArrayList<string> ();
+	private List<string> cheader_filenames = new ArrayList<string> ();
 
-	private Gee.List<Namespace> namespaces = new ArrayList<Namespace> ();
+	private List<Namespace> namespaces = new ArrayList<Namespace> ();
 
-	private Gee.List<UsingDirective> using_directives = new ArrayList<UsingDirective> ();
+	private List<UsingDirective> using_directives = new ArrayList<UsingDirective> ();
 
 	/**
 	 * Creates a new namespace.
@@ -78,7 +77,7 @@ public class Vala.Namespace : Symbol {
 	 *
 	 * @return comment list
 	 */
-	public Gee.List<Comment> get_comments () {
+	public List<Comment> get_comments () {
 		return new ReadOnlyList<Comment> (comments);
 	}
 
@@ -142,7 +141,7 @@ public class Vala.Namespace : Symbol {
 	 *
 	 * @return namespace list
 	 */
-	public Gee.List<Namespace> get_namespaces () {
+	public List<Namespace> get_namespaces () {
 		return new ReadOnlyList<Namespace> (namespaces);
 	}
 	
@@ -251,7 +250,7 @@ public class Vala.Namespace : Symbol {
 	 *
 	 * @return struct list
 	 */
-	public Gee.List<Struct> get_structs () {
+	public List<Struct> get_structs () {
 		return new ReadOnlyList<Struct> (structs);
 	}
 
@@ -260,7 +259,7 @@ public class Vala.Namespace : Symbol {
 	 *
 	 * @return class list
 	 */
-	public Gee.List<Class> get_classes () {
+	public List<Class> get_classes () {
 		return new ReadOnlyList<Class> (classes);
 	}
 	
@@ -269,7 +268,7 @@ public class Vala.Namespace : Symbol {
 	 *
 	 * @return interface list
 	 */
-	public Gee.List<Interface> get_interfaces () {
+	public List<Interface> get_interfaces () {
 		return new ReadOnlyList<Interface> (interfaces);
 	}
 	
@@ -278,7 +277,7 @@ public class Vala.Namespace : Symbol {
 	 *
 	 * @return enum list
 	 */
-	public Gee.List<Enum> get_enums () {
+	public List<Enum> get_enums () {
 		return new ReadOnlyList<Enum> (enums);
 	}
 	
@@ -287,7 +286,7 @@ public class Vala.Namespace : Symbol {
 	 *
 	 * @return error domain list
 	 */
-	public Gee.List<ErrorDomain> get_error_domains () {
+	public List<ErrorDomain> get_error_domains () {
 		return new ReadOnlyList<ErrorDomain> (error_domains);
 	}
 	
@@ -296,7 +295,7 @@ public class Vala.Namespace : Symbol {
 	 *
 	 * @return field list
 	 */
-	public Gee.List<Field> get_fields () {
+	public List<Field> get_fields () {
 		return new ReadOnlyList<Field> (fields);
 	}
 	
@@ -305,7 +304,7 @@ public class Vala.Namespace : Symbol {
 	 *
 	 * @return constant list
 	 */
-	public Gee.List<Constant> get_constants () {
+	public List<Constant> get_constants () {
 		return new ReadOnlyList<Constant> (constants);
 	}
 	
@@ -314,7 +313,7 @@ public class Vala.Namespace : Symbol {
 	 *
 	 * @return delegate list
 	 */
-	public Gee.List<Delegate> get_delegates () {
+	public List<Delegate> get_delegates () {
 		return new ReadOnlyList<Delegate> (delegates);
 	}
 	
@@ -323,7 +322,7 @@ public class Vala.Namespace : Symbol {
 	 *
 	 * @return method list
 	 */
-	public Gee.List<Method> get_methods () {
+	public List<Method> get_methods () {
 		return new ReadOnlyList<Method> (methods);
 	}
 	
@@ -468,7 +467,7 @@ public class Vala.Namespace : Symbol {
 		}
 	}
 
-	public Gee.List<string> get_cprefixes () {
+	public List<string> get_cprefixes () {
 		if (0 == cprefixes.size && null != name)
 			cprefixes.add (name);
 
@@ -518,7 +517,7 @@ public class Vala.Namespace : Symbol {
 		this.lower_case_cprefix = cprefix;
 	}
 
-	public override Gee.List<string> get_cheader_filenames () {
+	public override List<string> get_cheader_filenames () {
 		return new ReadOnlyList<string> (cheader_filenames);
 	}
 
diff --git a/vala/valaobjectcreationexpression.vala b/vala/valaobjectcreationexpression.vala
index f986886..4a038ce 100644
--- a/vala/valaobjectcreationexpression.vala
+++ b/vala/valaobjectcreationexpression.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents an object creation expression in the source code.
@@ -52,9 +51,9 @@ public class Vala.ObjectCreationExpression : Expression {
 
 	public bool struct_creation { get; set; }
 
-	private Gee.List<Expression> argument_list = new ArrayList<Expression> ();
+	private List<Expression> argument_list = new ArrayList<Expression> ();
 
-	private Gee.List<MemberInitializer> object_initializer = new ArrayList<MemberInitializer> ();
+	private List<MemberInitializer> object_initializer = new ArrayList<MemberInitializer> ();
 
 	private DataType _data_type;
 
@@ -85,7 +84,7 @@ public class Vala.ObjectCreationExpression : Expression {
 	 *
 	 * @return argument list
 	 */
-	public Gee.List<Expression> get_argument_list () {
+	public List<Expression> get_argument_list () {
 		return new ReadOnlyList<Expression> (argument_list);
 	}
 
@@ -104,7 +103,7 @@ public class Vala.ObjectCreationExpression : Expression {
 	 *
 	 * @return member initializer list
 	 */
-	public Gee.List<MemberInitializer> get_object_initializer () {
+	public List<MemberInitializer> get_object_initializer () {
 		return new ReadOnlyList<MemberInitializer> (object_initializer);
 	}
 
diff --git a/vala/valaobjecttype.vala b/vala/valaobjecttype.vala
index ac5f28a..e4556e5 100644
--- a/vala/valaobjecttype.vala
+++ b/vala/valaobjecttype.vala
@@ -90,7 +90,7 @@ public class Vala.ObjectType : ReferenceType {
 		}
 	}
 
-	public override Gee.List<FormalParameter>? get_parameters () {
+	public override List<FormalParameter>? get_parameters () {
 		var cl = type_symbol as Class;
 		if (cl != null && cl.default_construction_method != null) {
 			return cl.default_construction_method.get_parameters ();
diff --git a/vala/valaobjecttypesymbol.vala b/vala/valaobjecttypesymbol.vala
index b5c6632..5539bf0 100644
--- a/vala/valaobjecttypesymbol.vala
+++ b/vala/valaobjecttypesymbol.vala
@@ -22,7 +22,6 @@
  * 	Philip Van Hoof <pvanhoof gnome org>
  */
 
-using Gee;
 
 /**
  * Represents a runtime data type for objects and interfaces. This data type may
@@ -30,15 +29,15 @@ using Gee;
  * Vala API file.
  */
 public abstract class Vala.ObjectTypeSymbol : TypeSymbol {
-	private Gee.List<TypeParameter> type_parameters = new ArrayList<TypeParameter> ();
+	private List<TypeParameter> type_parameters = new ArrayList<TypeParameter> ();
 
 	public ObjectTypeSymbol (string name, SourceReference? source_reference = null, Comment? comment = null) {
 		base (name, source_reference, comment);
 	}
 
-	public abstract Gee.List<Method> get_methods ();
-	public abstract Gee.List<Signal> get_signals ();
-	public abstract Gee.List<Property> get_properties ();
+	public abstract List<Method> get_methods ();
+	public abstract List<Signal> get_signals ();
+	public abstract List<Property> get_properties ();
 
 	/**
 	 * Appends the specified parameter to the list of type parameters.
@@ -55,7 +54,7 @@ public abstract class Vala.ObjectTypeSymbol : TypeSymbol {
 	 *
 	 * @return list of type parameters
 	 */
-	public Gee.List<TypeParameter> get_type_parameters () {
+	public List<TypeParameter> get_type_parameters () {
 		return new ReadOnlyList<TypeParameter> (type_parameters);
 	}
 
diff --git a/vala/valaparser.vala b/vala/valaparser.vala
index 2fa695b..43687f7 100644
--- a/vala/valaparser.vala
+++ b/vala/valaparser.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Code visitor parsing all Vala source files.
@@ -410,7 +409,7 @@ public class Vala.Parser : CodeVisitor {
 		}
 
 		var sym = parse_symbol_name ();
-		Gee.List<DataType> type_arg_list = parse_type_argument_list (false);
+		List<DataType> type_arg_list = parse_type_argument_list (false);
 
 		DataType type = new UnresolvedType.from_symbol (sym, get_src (begin));
 		if (type_arg_list != null) {
@@ -501,7 +500,7 @@ public class Vala.Parser : CodeVisitor {
 		return type;
 	}
 
-	Gee.List<Expression> parse_argument_list () throws ParseError {
+	List<Expression> parse_argument_list () throws ParseError {
 		var list = new ArrayList<Expression> ();
 		if (current () != TokenType.CLOSE_PARENS) {
 			do {
@@ -613,7 +612,7 @@ public class Vala.Parser : CodeVisitor {
 			id = parse_identifier ();
 			qualified = true;
 		}
-		Gee.List<DataType> type_arg_list = parse_type_argument_list (true);
+		List<DataType> type_arg_list = parse_type_argument_list (true);
 		var expr = new MemberAccess (null, id, get_src (begin));
 		expr.qualified = qualified;
 		if (type_arg_list != null) {
@@ -661,7 +660,7 @@ public class Vala.Parser : CodeVisitor {
 	Expression parse_member_access (SourceLocation begin, Expression inner) throws ParseError {
 		expect (TokenType.DOT);
 		string id = parse_identifier ();
-		Gee.List<DataType> type_arg_list = parse_type_argument_list (true);
+		List<DataType> type_arg_list = parse_type_argument_list (true);
 		var expr = new MemberAccess (inner, id, get_src (begin));
 		if (type_arg_list != null) {
 			foreach (DataType type_arg in type_arg_list) {
@@ -674,7 +673,7 @@ public class Vala.Parser : CodeVisitor {
 	Expression parse_pointer_member_access (SourceLocation begin, Expression inner) throws ParseError {
 		expect (TokenType.OP_PTR);
 		string id = parse_identifier ();
-		Gee.List<DataType> type_arg_list = parse_type_argument_list (true);
+		List<DataType> type_arg_list = parse_type_argument_list (true);
 		var expr = new MemberAccess.pointer (inner, id, get_src (begin));
 		if (type_arg_list != null) {
 			foreach (DataType type_arg in type_arg_list) {
@@ -725,7 +724,7 @@ public class Vala.Parser : CodeVisitor {
 		return expr;
 	}
 
-	Gee.List<Expression> parse_expression_list () throws ParseError {
+	List<Expression> parse_expression_list () throws ParseError {
 		var list = new ArrayList<Expression> ();
 		do {
 			list.add (parse_expression ());
@@ -788,7 +787,7 @@ public class Vala.Parser : CodeVisitor {
 
 	Expression parse_array_creation_expression (SourceLocation begin, MemberAccess member) throws ParseError {
 		bool size_specified = false;
-		Gee.List<Expression> size_specifier_list = null;
+		List<Expression> size_specifier_list = null;
 		bool first = true;
 		DataType element_type = UnresolvedType.new_from_expression (member);
 		do {
@@ -824,7 +823,7 @@ public class Vala.Parser : CodeVisitor {
 		return expr;
 	}
 
-	Gee.List<MemberInitializer> parse_object_initializer () throws ParseError {
+	List<MemberInitializer> parse_object_initializer () throws ParseError {
 		var list = new ArrayList<MemberInitializer> ();
 		if (accept (TokenType.OPEN_BRACE)) {
 			do {
@@ -1203,7 +1202,7 @@ public class Vala.Parser : CodeVisitor {
 
 	Expression parse_lambda_expression () throws ParseError {
 		var begin = get_location ();
-		Gee.List<string> params = new ArrayList<string> ();
+		List<string> params = new ArrayList<string> ();
 		if (accept (TokenType.OPEN_PARENS)) {
 			if (current () != TokenType.CLOSE_PARENS) {
 				do {
@@ -1734,7 +1733,7 @@ public class Vala.Parser : CodeVisitor {
 		return stmt;
 	}
 
-	void parse_catch_clauses (Gee.List<CatchClause> catch_clauses) throws ParseError {
+	void parse_catch_clauses (List<CatchClause> catch_clauses) throws ParseError {
 		while (accept (TokenType.CATCH)) {
 			var begin = get_location ();
 			DataType type = null;
@@ -1773,7 +1772,7 @@ public class Vala.Parser : CodeVisitor {
 		return new DeleteStatement (expr, get_src (begin));
 	}
 
-	Gee.List<Attribute>? parse_attributes () throws ParseError {
+	List<Attribute>? parse_attributes () throws ParseError {
 		if (current () != TokenType.OPEN_BRACKET) {
 			return null;
 		}
@@ -1801,9 +1800,9 @@ public class Vala.Parser : CodeVisitor {
 		return attrs;
 	}
 
-	void set_attributes (CodeNode node, Gee.List<Attribute>? attributes) {
+	void set_attributes (CodeNode node, List<Attribute>? attributes) {
 		if (attributes != null) {
-			foreach (Attribute attr in (Gee.List<Attribute>) attributes) {
+			foreach (Attribute attr in (List<Attribute>) attributes) {
 				node.attributes.append (attr);
 			}
 		}
@@ -1982,7 +1981,7 @@ public class Vala.Parser : CodeVisitor {
 		return RecoveryState.EOF;
 	}
 
-	Namespace parse_namespace_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Namespace parse_namespace_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		expect (TokenType.NAMESPACE);
 		var sym = parse_symbol_name ();
@@ -2072,7 +2071,7 @@ public class Vala.Parser : CodeVisitor {
 		}
 	}
 
-	Symbol parse_class_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Symbol parse_class_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		var access = parse_access_modifier ();
 		var flags = parse_type_declaration_modifiers ();
@@ -2171,7 +2170,7 @@ public class Vala.Parser : CodeVisitor {
 		}
 	}
 
-	Constant parse_constant_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Constant parse_constant_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		var access = parse_access_modifier ();
 		var flags = parse_member_declaration_modifiers ();
@@ -2205,7 +2204,7 @@ public class Vala.Parser : CodeVisitor {
 		return c;
 	}
 
-	Field parse_field_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Field parse_field_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		var access = parse_access_modifier ();
 		var flags = parse_member_declaration_modifiers ();
@@ -2254,7 +2253,7 @@ public class Vala.Parser : CodeVisitor {
 		return initializer;
 	}
 
-	Method parse_method_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Method parse_method_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		var access = parse_access_modifier ();
 		var flags = parse_member_declaration_modifiers ();
@@ -2339,7 +2338,7 @@ public class Vala.Parser : CodeVisitor {
 		return method;
 	}
 
-	Property parse_property_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Property parse_property_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		var access = parse_access_modifier ();
 		var flags = parse_member_declaration_modifiers ();
@@ -2472,7 +2471,7 @@ public class Vala.Parser : CodeVisitor {
 		return prop;
 	}
 
-	Signal parse_signal_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Signal parse_signal_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		var access = parse_access_modifier ();
 		var flags = parse_member_declaration_modifiers ();
@@ -2508,7 +2507,7 @@ public class Vala.Parser : CodeVisitor {
 		return sig;
 	}
 
-	Constructor parse_constructor_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Constructor parse_constructor_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		var flags = parse_member_declaration_modifiers ();
 		expect (TokenType.CONSTRUCT);
@@ -2525,7 +2524,7 @@ public class Vala.Parser : CodeVisitor {
 		return c;
 	}
 
-	Destructor parse_destructor_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Destructor parse_destructor_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		var flags = parse_member_declaration_modifiers ();
 		expect (TokenType.TILDE);
@@ -2545,7 +2544,7 @@ public class Vala.Parser : CodeVisitor {
 		return d;
 	}
 
-	Symbol parse_struct_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Symbol parse_struct_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		var access = parse_access_modifier ();
 		var flags = parse_type_declaration_modifiers ();
@@ -2602,7 +2601,7 @@ public class Vala.Parser : CodeVisitor {
 		}
 	}
 
-	Symbol parse_interface_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Symbol parse_interface_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		var access = parse_access_modifier ();
 		var flags = parse_type_declaration_modifiers ();
@@ -2671,7 +2670,7 @@ public class Vala.Parser : CodeVisitor {
 		}
 	}
 
-	Symbol parse_enum_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Symbol parse_enum_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		var access = parse_access_modifier ();
 		var flags = parse_type_declaration_modifiers ();
@@ -2730,7 +2729,7 @@ public class Vala.Parser : CodeVisitor {
 		return result;
 	}
 
-	Symbol parse_errordomain_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Symbol parse_errordomain_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		var access = parse_access_modifier ();
 		var flags = parse_type_declaration_modifiers ();
@@ -2910,7 +2909,7 @@ public class Vala.Parser : CodeVisitor {
 		return param;
 	}
 
-	CreationMethod parse_creation_method_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	CreationMethod parse_creation_method_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		var access = parse_access_modifier ();
 		var flags = parse_member_declaration_modifiers ();
@@ -2958,7 +2957,7 @@ public class Vala.Parser : CodeVisitor {
 		return method;
 	}
 
-	Symbol parse_delegate_declaration (Gee.List<Attribute>? attrs) throws ParseError {
+	Symbol parse_delegate_declaration (List<Attribute>? attrs) throws ParseError {
 		var begin = get_location ();
 		var access = parse_access_modifier ();
 		var flags = parse_member_declaration_modifiers ();
@@ -3016,7 +3015,7 @@ public class Vala.Parser : CodeVisitor {
 		return result;
 	}
 
-	Gee.List<TypeParameter> parse_type_parameter_list () throws ParseError {
+	List<TypeParameter> parse_type_parameter_list () throws ParseError {
 		var list = new ArrayList<TypeParameter> ();
 		if (accept (TokenType.OP_LT)) {
 			do {
@@ -3039,7 +3038,7 @@ public class Vala.Parser : CodeVisitor {
 	}
 
 	// try to parse type argument list
-	Gee.List<DataType>? parse_type_argument_list (bool maybe_expression) throws ParseError {
+	List<DataType>? parse_type_argument_list (bool maybe_expression) throws ParseError {
 		var begin = get_location ();
 		if (accept (TokenType.OP_LT)) {
 			var list = new ArrayList<DataType> ();
@@ -3102,7 +3101,7 @@ public class Vala.Parser : CodeVisitor {
 				qualified = true;
 			}
 
-			Gee.List<DataType> type_arg_list = parse_type_argument_list (false);
+			List<DataType> type_arg_list = parse_type_argument_list (false);
 			expr = new MemberAccess (expr, id, get_src (begin));
 			expr.qualified = qualified;
 			if (type_arg_list != null) {
diff --git a/vala/valaphifunction.vala b/vala/valaphifunction.vala
index b95cc9f..081fca0 100644
--- a/vala/valaphifunction.vala
+++ b/vala/valaphifunction.vala
@@ -20,12 +20,11 @@
  * 	Jürg Billeter <j bitron ch>
  */
 
-using Gee;
 
 public class Vala.PhiFunction {
 	public LocalVariable original_variable { get; private set; }
 
-	public Gee.List<LocalVariable?> operands { get; private set; }
+	public List<LocalVariable?> operands { get; private set; }
 
 	public PhiFunction (LocalVariable variable, int num_of_ops) {
 		this.original_variable = variable;
diff --git a/vala/valapointerindirection.vala b/vala/valapointerindirection.vala
index 84f1b6e..42fb54b 100644
--- a/vala/valapointerindirection.vala
+++ b/vala/valapointerindirection.vala
@@ -20,7 +20,6 @@
  * 	Jürg Billeter <j bitron ch>
  */
 
-using Gee;
 
 /**
  * Represents a pointer indirection in the source code, e.g. `*pointer'.
diff --git a/vala/valapointertype.vala b/vala/valapointertype.vala
index b8a4e0f..76922dc 100644
--- a/vala/valapointertype.vala
+++ b/vala/valapointertype.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * A pointer type.
@@ -90,7 +89,7 @@ public class Vala.PointerType : DataType {
 		return SemanticAnalyzer.symbol_lookup_inherited (base_symbol, member_name);
 	}
 
-	public override Gee.List<Symbol> get_symbols () {
+	public override List<Symbol> get_symbols () {
 		return base_type.get_symbols ();
 	}
 
diff --git a/vala/valapropertyaccessor.vala b/vala/valapropertyaccessor.vala
index 4d9340f..f9eaa79 100644
--- a/vala/valapropertyaccessor.vala
+++ b/vala/valapropertyaccessor.vala
@@ -220,7 +220,7 @@ public class Vala.PropertyAccessor : Symbol {
 		}
 	}
 
-	public override Gee.List<string> get_cheader_filenames () {
+	public override List<string> get_cheader_filenames () {
 		return parent_symbol.get_cheader_filenames ();
 	}
 }
diff --git a/vala/valareferencetransferexpression.vala b/vala/valareferencetransferexpression.vala
index 0cb89ce..cc3edd3 100644
--- a/vala/valareferencetransferexpression.vala
+++ b/vala/valareferencetransferexpression.vala
@@ -20,7 +20,6 @@
  * 	Jürg Billeter <j bitron ch>
  */
 
-using Gee;
 
 /**
  * Represents a reference transfer expression in the source code, e.g. `#foo'.
diff --git a/vala/valareturnstatement.vala b/vala/valareturnstatement.vala
index 79e2fba..26af73e 100644
--- a/vala/valareturnstatement.vala
+++ b/vala/valareturnstatement.vala
@@ -20,7 +20,6 @@
  * 	Jürg Billeter <j bitron ch>
  */
 
-using Gee;
 
 /**
  * Represents a return statement in the source code.
diff --git a/vala/valascanner.vala b/vala/valascanner.vala
index 7cdd68c..109dca0 100644
--- a/vala/valascanner.vala
+++ b/vala/valascanner.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Lexical scanner for Vala source files.
diff --git a/vala/valascope.vala b/vala/valascope.vala
index cf80c0e..cfa2781 100644
--- a/vala/valascope.vala
+++ b/vala/valascope.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a part of the symbol tree.
@@ -38,7 +37,7 @@ public class Vala.Scope {
 	public weak Scope parent_scope { get; set; }
 
 	private Map<string,Symbol> symbol_table;
-	private Gee.List<Symbol> anonymous_members;
+	private List<Symbol> anonymous_members;
 
 	/**
 	 * Creates a new scope.
diff --git a/vala/valasemanticanalyzer.vala b/vala/valasemanticanalyzer.vala
index 1b746dc..cfdb05e 100644
--- a/vala/valasemanticanalyzer.vala
+++ b/vala/valasemanticanalyzer.vala
@@ -23,7 +23,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Code visitor analyzing and checking code.
@@ -127,7 +126,7 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
 
 	// keep replaced alive to make sure they remain valid
 	// for the whole execution of CodeNode.accept
-	public Gee.List<CodeNode> replaced_nodes = new ArrayList<CodeNode> ();
+	public List<CodeNode> replaced_nodes = new ArrayList<CodeNode> ();
 
 	public SemanticAnalyzer () {
 	}
@@ -339,7 +338,7 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
 		return type;
 	}
 
-	public bool check_arguments (Expression expr, DataType mtype, Gee.List<FormalParameter> params, Gee.List<Expression> args) {
+	public bool check_arguments (Expression expr, DataType mtype, List<FormalParameter> params, List<Expression> args) {
 		Expression prev_arg = null;
 		Iterator<Expression> arg_it = args.iterator ();
 
diff --git a/vala/valasignal.vala b/vala/valasignal.vala
index a30e112..c58e160 100644
--- a/vala/valasignal.vala
+++ b/vala/valasignal.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents an object signal. Signals enable objects to provide notifications.
@@ -58,7 +57,7 @@ public class Vala.Signal : Member, Lockable {
 	 */
 	public bool is_virtual { get; set; }
 
-	private Gee.List<FormalParameter> parameters = new ArrayList<FormalParameter> ();
+	private List<FormalParameter> parameters = new ArrayList<FormalParameter> ();
 	/**
 	 * Refers to the default signal handler, which is an anonymous
 	 * function in the scope.
@@ -101,7 +100,7 @@ public class Vala.Signal : Member, Lockable {
 		scope.add (param.name, param);
 	}
 
-	public Gee.List<FormalParameter> get_parameters () {
+	public List<FormalParameter> get_parameters () {
 		return new ReadOnlyList<FormalParameter> (parameters);
 	}
 
diff --git a/vala/valasignaltype.vala b/vala/valasignaltype.vala
index b7e3b84..4a6b585 100644
--- a/vala/valasignaltype.vala
+++ b/vala/valasignaltype.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * The type of a signal referencea.
@@ -44,7 +43,7 @@ public class Vala.SignalType : DataType {
 		return signal_symbol.return_type;
 	}
 
-	public override Gee.List<FormalParameter>? get_parameters () {
+	public override List<FormalParameter>? get_parameters () {
 		return signal_symbol.get_parameters ();
 	}
 
@@ -98,7 +97,7 @@ public class Vala.SignalType : DataType {
 		return null;
 	}
 
-	public override Gee.List<Symbol> get_symbols () {
+	public override List<Symbol> get_symbols () {
 		var symbols = new ArrayList<Symbol> ();
 		symbols.add (signal_symbol);
 		return symbols;
diff --git a/vala/valasourcefile.vala b/vala/valasourcefile.vala
index ab6d570..6650512 100644
--- a/vala/valasourcefile.vala
+++ b/vala/valasourcefile.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a Vala source or VAPI package file.
@@ -53,14 +52,14 @@ public class Vala.SourceFile {
 
 	private ArrayList<Comment> comments = new ArrayList<Comment> ();
 
-	public Gee.List<UsingDirective> current_using_directives { get; set; default = new ArrayList<UsingDirective> (); }
+	public List<UsingDirective> current_using_directives { get; set; default = new ArrayList<UsingDirective> (); }
 
-	private Gee.List<CodeNode> nodes = new ArrayList<CodeNode> ();
+	private List<CodeNode> nodes = new ArrayList<CodeNode> ();
 	
 	private string csource_filename = null;
 	private string cinclude_filename = null;
 
-	private Gee.ArrayList<string> source_array = null;
+	private ArrayList<string> source_array = null;
 
 	private MappedFile mapped_file = null;
 
@@ -92,7 +91,7 @@ public class Vala.SourceFile {
 	 *
 	 * @return list of comments
 	 */
-	public Gee.List<Comment> get_comments () {
+	public List<Comment> get_comments () {
 		return new ReadOnlyList<Comment> (comments);
 	}
 
@@ -130,7 +129,7 @@ public class Vala.SourceFile {
 	 *
 	 * @return code node list
 	 */
-	public Gee.List<CodeNode> get_nodes () {
+	public List<CodeNode> get_nodes () {
 		return new ReadOnlyList<CodeNode> (nodes);
 	}
 
@@ -249,7 +248,7 @@ public class Vala.SourceFile {
 
 	private void read_source_lines (string cont)
 	{
-		source_array = new Gee.ArrayList<string> ();
+		source_array = new ArrayList<string> ();
 		string[] lines = cont.split ("\n", 0);
 		int idx;
 		for (idx = 0; lines[idx] != null; ++idx) {
diff --git a/vala/valasourcereference.vala b/vala/valasourcereference.vala
index 7675977..d72d38f 100644
--- a/vala/valasourcereference.vala
+++ b/vala/valasourcereference.vala
@@ -51,7 +51,7 @@ public class Vala.SourceReference {
 	 */
 	public int last_column { get; set; }
 
-	public Gee.List<UsingDirective> using_directives { get; private set; }
+	public List<UsingDirective> using_directives { get; private set; }
 
 	/**
 	 * Creates a new source reference.
diff --git a/vala/valastatementlist.vala b/vala/valastatementlist.vala
index a653f02..91d9d93 100644
--- a/vala/valastatementlist.vala
+++ b/vala/valastatementlist.vala
@@ -20,10 +20,9 @@
  * 	Jürg Billeter <j bitron ch>
  */
 
-using Gee;
 
 public class Vala.StatementList : CodeNode, Statement {
-	private Gee.List<Statement> list = new ArrayList<Statement> ();
+	private List<Statement> list = new ArrayList<Statement> ();
 
 	public int length {
 		get { return list.size; }
diff --git a/vala/valastruct.vala b/vala/valastruct.vala
index c376de7..971d0e3 100644
--- a/vala/valastruct.vala
+++ b/vala/valastruct.vala
@@ -21,17 +21,16 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a struct declaration in the source code.
  */
 public class Vala.Struct : TypeSymbol {
-	private Gee.List<TypeParameter> type_parameters = new ArrayList<TypeParameter> ();
-	private Gee.List<Constant> constants = new ArrayList<Constant> ();
-	private Gee.List<Field> fields = new ArrayList<Field> ();
-	private Gee.List<Method> methods = new ArrayList<Method> ();
-	private Gee.List<Property> properties = new ArrayList<Property> ();
+	private List<TypeParameter> type_parameters = new ArrayList<TypeParameter> ();
+	private List<Constant> constants = new ArrayList<Constant> ();
+	private List<Field> fields = new ArrayList<Field> ();
+	private List<Method> methods = new ArrayList<Method> ();
+	private List<Property> properties = new ArrayList<Property> ();
 	private DataType _base_type = null;
 
 	private string cname;
@@ -126,7 +125,7 @@ public class Vala.Struct : TypeSymbol {
 	 *
 	 * @return list of type parameters
 	 */
-	public Gee.List<TypeParameter> get_type_parameters () {
+	public List<TypeParameter> get_type_parameters () {
 		return new ReadOnlyList<TypeParameter> (type_parameters);
 	}
 
@@ -158,7 +157,7 @@ public class Vala.Struct : TypeSymbol {
 	 *
 	 * @return list of fields
 	 */
-	public Gee.List<Field> get_fields () {
+	public List<Field> get_fields () {
 		return new ReadOnlyList<Field> (fields);
 	}
 
@@ -167,7 +166,7 @@ public class Vala.Struct : TypeSymbol {
 	 *
 	 * @return list of constants
 	 */
-	public Gee.List<Constant> get_constants () {
+	public List<Constant> get_constants () {
 		return new ReadOnlyList<Constant> (constants);
 	}
 
@@ -211,7 +210,7 @@ public class Vala.Struct : TypeSymbol {
 	 *
 	 * @return list of methods
 	 */
-	public Gee.List<Method> get_methods () {
+	public List<Method> get_methods () {
 		return new ReadOnlyList<Method> (methods);
 	}
 
@@ -237,7 +236,7 @@ public class Vala.Struct : TypeSymbol {
 	 *
 	 * @return list of properties
 	 */
-	public Gee.List<Property> get_properties () {
+	public List<Property> get_properties () {
 		return new ReadOnlyList<Property> (properties);
 	}
 
diff --git a/vala/valaswitchsection.vala b/vala/valaswitchsection.vala
index 929e056..7b7cc95 100644
--- a/vala/valaswitchsection.vala
+++ b/vala/valaswitchsection.vala
@@ -21,13 +21,12 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a switch section in the source code.
  */
 public class Vala.SwitchSection : Block {
-	private Gee.List<SwitchLabel> labels = new ArrayList<SwitchLabel> ();
+	private List<SwitchLabel> labels = new ArrayList<SwitchLabel> ();
 
 	/**
 	 * Creates a new switch section.
@@ -54,7 +53,7 @@ public class Vala.SwitchSection : Block {
 	 *
 	 * @return switch label list
 	 */
-	public Gee.List<SwitchLabel> get_labels () {
+	public List<SwitchLabel> get_labels () {
 		return new ReadOnlyList<SwitchLabel> (labels);
 	}
 	
diff --git a/vala/valaswitchstatement.vala b/vala/valaswitchstatement.vala
index d1468e5..1b8937e 100644
--- a/vala/valaswitchstatement.vala
+++ b/vala/valaswitchstatement.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a switch selection statement in the source code.
@@ -41,7 +40,7 @@ public class Vala.SwitchStatement : CodeNode, Statement {
 	}
 
 	private Expression _expression;
-	private Gee.List<SwitchSection> sections = new ArrayList<SwitchSection> ();
+	private List<SwitchSection> sections = new ArrayList<SwitchSection> ();
 
 	/**
 	 * Creates a new switch statement.
@@ -70,7 +69,7 @@ public class Vala.SwitchStatement : CodeNode, Statement {
 	 *
 	 * @return section list
 	 */
-	public Gee.List<SwitchSection> get_sections () {
+	public List<SwitchSection> get_sections () {
 		return new ReadOnlyList<SwitchSection> (sections);
 	}
 
diff --git a/vala/valasymbol.vala b/vala/valasymbol.vala
index 36d32c5..4615cfc 100644
--- a/vala/valasymbol.vala
+++ b/vala/valasymbol.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a node in the symbol tree.
@@ -210,7 +209,7 @@ public abstract class Vala.Symbol : CodeNode {
 	 *
 	 * @return list of C header filenames for this symbol
 	 */
-	public virtual Gee.List<string> get_cheader_filenames () {
+	public virtual List<string> get_cheader_filenames () {
 		return new ArrayList<string> ();
 	}
 
diff --git a/vala/valasymbolresolver.vala b/vala/valasymbolresolver.vala
index 09a9c19..39fa9b9 100644
--- a/vala/valasymbolresolver.vala
+++ b/vala/valasymbolresolver.vala
@@ -23,7 +23,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Code visitor resolving symbol names.
diff --git a/vala/valatemplate.vala b/vala/valatemplate.vala
index feb586d..b8f53dc 100644
--- a/vala/valatemplate.vala
+++ b/vala/valatemplate.vala
@@ -20,10 +20,9 @@
  * 	Jürg Billeter <j bitron ch>
  */
 
-using Gee;
 
 public class Vala.Template : Expression {
-	private Gee.List<Expression> expression_list = new ArrayList<Expression> ();
+	private List<Expression> expression_list = new ArrayList<Expression> ();
 
 	public Template () {
 	}
@@ -32,7 +31,7 @@ public class Vala.Template : Expression {
 		expression_list.add (expr);
 	}
 
-	public Gee.List<Expression> get_expressions () {
+	public List<Expression> get_expressions () {
 		return expression_list;
 	}
 
diff --git a/vala/valathrowstatement.vala b/vala/valathrowstatement.vala
index 4ff7724..2a90ba3 100644
--- a/vala/valathrowstatement.vala
+++ b/vala/valathrowstatement.vala
@@ -20,7 +20,6 @@
  * 	Jürg Billeter <j bitron ch>
  */
 
-using Gee;
 
 /**
  * Represents a throw statement in the source code.
diff --git a/vala/valatrystatement.vala b/vala/valatrystatement.vala
index 060b2d4..19be21c 100644
--- a/vala/valatrystatement.vala
+++ b/vala/valatrystatement.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a try statement in the source code.
@@ -52,7 +51,7 @@ public class Vala.TryStatement : CodeNode, Statement {
 
 	private Block _body;
 	private Block _finally_body;
-	private Gee.List<CatchClause> catch_clauses = new ArrayList<CatchClause> ();
+	private List<CatchClause> catch_clauses = new ArrayList<CatchClause> ();
 
 	/**
 	 * Creates a new try statement.
@@ -83,7 +82,7 @@ public class Vala.TryStatement : CodeNode, Statement {
 	 *
 	 * @return list of catch clauses
 	 */
-	public Gee.List<CatchClause> get_catch_clauses () {
+	public List<CatchClause> get_catch_clauses () {
 		return new ReadOnlyList<CatchClause> (catch_clauses);
 	}
 
@@ -112,12 +111,12 @@ public class Vala.TryStatement : CodeNode, Statement {
 
 		body.check (analyzer);
 
-		var error_types = new Gee.ArrayList<DataType> ();
+		var error_types = new ArrayList<DataType> ();
 		foreach (DataType body_error_type in body.get_error_types ()) {
 			error_types.add (body_error_type);
 		}
 
-		var handled_error_types = new Gee.ArrayList<DataType> ();
+		var handled_error_types = new ArrayList<DataType> ();
 		foreach (CatchClause clause in catch_clauses) {
 			foreach (DataType body_error_type in error_types) {
 				if (clause.error_type == null || body_error_type.compatible (clause.error_type)) {
diff --git a/vala/valatuple.vala b/vala/valatuple.vala
index fc05984..0efab3e 100644
--- a/vala/valatuple.vala
+++ b/vala/valatuple.vala
@@ -21,13 +21,12 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a fixed-length sequence of expressions in the source code.
  */
 public class Vala.Tuple : Expression {
-	private Gee.List<Expression> expression_list = new ArrayList<Expression> ();
+	private List<Expression> expression_list = new ArrayList<Expression> ();
 
 	public Tuple () {
 	}
@@ -36,7 +35,7 @@ public class Vala.Tuple : Expression {
 		expression_list.add (expr);
 	}
 
-	public Gee.List<Expression> get_expressions () {
+	public List<Expression> get_expressions () {
 		return expression_list;
 	}
 
diff --git a/vala/valatypeparameter.vala b/vala/valatypeparameter.vala
index 623044a..62540b3 100644
--- a/vala/valatypeparameter.vala
+++ b/vala/valatypeparameter.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a generic type parameter in the source code.
diff --git a/vala/valatypesymbol.vala b/vala/valatypesymbol.vala
index df328d9..f8bc285 100644
--- a/vala/valatypesymbol.vala
+++ b/vala/valatypesymbol.vala
@@ -22,7 +22,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Represents a runtime data type. This data type may be defined in Vala source
@@ -31,7 +30,7 @@ using Gee;
 public abstract class Vala.TypeSymbol : Symbol {
 	public Comment? comment { get; set; }
 
-	private Gee.List<string> cheader_filenames = new ArrayList<string> ();
+	private List<string> cheader_filenames = new ArrayList<string> ();
 
 	public TypeSymbol (string? name, SourceReference? source_reference = null, Comment? comment = null) {
 		base (name, source_reference);
@@ -220,7 +219,7 @@ public abstract class Vala.TypeSymbol : Symbol {
 		return null;
 	}
 
-	public override Gee.List<string> get_cheader_filenames () {
+	public override List<string> get_cheader_filenames () {
 		// parent_symbol can be null on incremental parsing
 		if (cheader_filenames.size == 0 && parent_symbol != null) {
 			/* default to header filenames of the namespace */
diff --git a/vala/valaunaryexpression.vala b/vala/valaunaryexpression.vala
index 0584f21..b2066a3 100644
--- a/vala/valaunaryexpression.vala
+++ b/vala/valaunaryexpression.vala
@@ -20,7 +20,6 @@
  * 	Jürg Billeter <j bitron ch>
  */
 
-using Gee;
 
 /**
  * Represents an expression with one operand in the source code.
diff --git a/vala/valaunresolvedtype.vala b/vala/valaunresolvedtype.vala
index 8b81e64..f9355f6 100644
--- a/vala/valaunresolvedtype.vala
+++ b/vala/valaunresolvedtype.vala
@@ -22,7 +22,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * An unresolved reference to a data type.
diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala
index 62dd434..1938244 100644
--- a/vapigen/valagidlparser.vala
+++ b/vapigen/valagidlparser.vala
@@ -23,7 +23,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Code visitor parsing all GIDL files.
@@ -39,7 +38,7 @@ public class Vala.GIdlParser : CodeVisitor {
 	private TypeSymbol current_data_type;
 	private Map<string,string> codenode_attributes_map;
 	private Map<PatternSpec*,string> codenode_attributes_patterns;
-	private Gee.Set<string> current_type_symbol_set;
+	private Set<string> current_type_symbol_set;
 
 	private Map<string,TypeSymbol> cname_type_map;
 
diff --git a/vapigen/valagirparser.vala b/vapigen/valagirparser.vala
index dfecae1..b733839 100644
--- a/vapigen/valagirparser.vala
+++ b/vapigen/valagirparser.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Code visitor parsing all Vala source files.
diff --git a/vapigen/valamarkupreader.vala b/vapigen/valamarkupreader.vala
index 4db9013..96ad0e8 100644
--- a/vapigen/valamarkupreader.vala
+++ b/vapigen/valamarkupreader.vala
@@ -21,7 +21,6 @@
  */
 
 using GLib;
-using Gee;
 
 /**
  * Simple reader for a subset of XML.
diff --git a/vapigen/valavapicheck.vala b/vapigen/valavapicheck.vala
index cb4d479..9494f05 100644
--- a/vapigen/valavapicheck.vala
+++ b/vapigen/valavapicheck.vala
@@ -33,12 +33,12 @@ class Vala.VAPICheck : Object {
 	public SourceFile gidl { get; construct; }
 	public SourceFile metadata { get; construct; }
 
-	private Gee.List<string> _scope;
-	private Gee.Set<string> _symbols;
+	private List<string> _scope;
+	private Set<string> _symbols;
 
 	private void parse_gidl () {
-		_scope = new Gee.ArrayList<string> ();
-		_symbols = new Gee.HashSet<string> (str_hash, str_equal);
+		_scope = new ArrayList<string> ();
+		_symbols = new HashSet<string> (str_hash, str_equal);
 
 		try {
 			foreach (weak IdlModule module in Idl.parse_file (gidl.filename)) {
@@ -72,7 +72,7 @@ class Vala.VAPICheck : Object {
 		_scope.remove_at (_scope.size - 1);
 	}
 
-	private void parse_members (string name, List<IdlNode> members) {
+	private void parse_members (string name, GLib.List<IdlNode> members) {
 		enter_scope (name);
 
 		foreach (weak IdlNode node in members) {
@@ -84,7 +84,7 @@ class Vala.VAPICheck : Object {
 
 				case IdlNodeTypeId.FUNCTION:
 					parse_members (((IdlNodeFunction) node).symbol,
-								   (List<IdlNode>) ((IdlNodeFunction) node).parameters);
+								   (GLib.List<IdlNode>) ((IdlNodeFunction) node).parameters);
 					break;
 
 				case IdlNodeTypeId.BOXED:



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]