introducing type expressions
diff --git a/javascript/tools/org.eclipse.dltk.javascript.dev-tools/src/org/eclipse/dltk/javascript/developertools/ExampleModelSaver.java b/javascript/tools/org.eclipse.dltk.javascript.dev-tools/src/org/eclipse/dltk/javascript/developertools/ExampleModelSaver.java
index d370298..104292f 100644
--- a/javascript/tools/org.eclipse.dltk.javascript.dev-tools/src/org/eclipse/dltk/javascript/developertools/ExampleModelSaver.java
+++ b/javascript/tools/org.eclipse.dltk.javascript.dev-tools/src/org/eclipse/dltk/javascript/developertools/ExampleModelSaver.java
@@ -11,6 +11,7 @@
  *******************************************************************************/
 package org.eclipse.dltk.javascript.developertools;
 
+import org.eclipse.dltk.javascript.typeinfo.TypeInfoUtil;
 import org.eclipse.dltk.javascript.typeinfo.model.Property;
 import org.eclipse.dltk.javascript.typeinfo.model.Type;
 import org.eclipse.dltk.javascript.typeinfo.model.TypeInfoModelFactory;
@@ -37,14 +38,14 @@
 		//
 		final Property id = typeInfoFactory.createProperty();
 		id.setName("id");
-		id.setType(numberType);
+		id.setType(TypeInfoUtil.ref(numberType));
 		exampleType.getMembers().add(id);
 		id.setAttribute("a", 1);
 		id.setAttribute("b", 2L);
 		//
 		final Property name = typeInfoFactory.createProperty();
 		name.setName("name");
-		name.setType(stringType);
+		name.setType(TypeInfoUtil.ref(stringType));
 		exampleType.getMembers().add(name);
 		//
 		resource.getContents().add((EObject) exampleType);
diff --git a/javascript/tools/org.eclipse.dltk.javascript.dev-tools/src/org/eclipse/dltk/javascript/developertools/ReferenceModelSaver.java b/javascript/tools/org.eclipse.dltk.javascript.dev-tools/src/org/eclipse/dltk/javascript/developertools/ReferenceModelSaver.java
index 5fcd2a1..f47cd75 100644
--- a/javascript/tools/org.eclipse.dltk.javascript.dev-tools/src/org/eclipse/dltk/javascript/developertools/ReferenceModelSaver.java
+++ b/javascript/tools/org.eclipse.dltk.javascript.dev-tools/src/org/eclipse/dltk/javascript/developertools/ReferenceModelSaver.java
@@ -29,6 +29,7 @@
 import org.eclipse.dltk.internal.javascript.typeinference.NativeStringReference;
 import org.eclipse.dltk.internal.javascript.typeinference.NativeXMLReference;
 import org.eclipse.dltk.internal.javascript.typeinference.StandardSelfCompletingReference;
+import org.eclipse.dltk.javascript.typeinfo.TypeInfoUtil;
 import org.eclipse.dltk.javascript.typeinfo.model.Member;
 import org.eclipse.dltk.javascript.typeinfo.model.Method;
 import org.eclipse.dltk.javascript.typeinfo.model.Parameter;
@@ -59,8 +60,8 @@
 		List<Type> typeList = new ArrayList<Type>(types.values());
 		Collections.sort(typeList, new Comparator<Type>() {
 			public int compare(Type o1, Type o2) {
-				return String.CASE_INSENSITIVE_ORDER.compare(o1.getName(), o2
-						.getName());
+				return String.CASE_INSENSITIVE_ORDER.compare(o1.getName(),
+						o2.getName());
 			}
 		});
 		for (Type type : typeList) {
@@ -75,12 +76,12 @@
 			final Map<Class<? extends StandardSelfCompletingReference>, Type> types) {
 		final Type type = types.get(typeRef.getClass());
 		Assert.isNotNull(type);
-		final List<IReference> children = new ArrayList<IReference>(typeRef
-				.getChilds(true));
+		final List<IReference> children = new ArrayList<IReference>(
+				typeRef.getChilds(true));
 		Collections.sort(children, new Comparator<IReference>() {
 			public int compare(IReference o1, IReference o2) {
-				return String.CASE_INSENSITIVE_ORDER.compare(o1.getName(), o2
-						.getName());
+				return String.CASE_INSENSITIVE_ORDER.compare(o1.getName(),
+						o2.getName());
 			}
 		});
 		for (IReference reference : children) {
@@ -109,7 +110,7 @@
 				member = TypeInfoModelFactory.eINSTANCE.createProperty();
 			}
 			member.setName(reference.getName());
-			member.setType(types.get(ref.getClass()));
+			member.setType(TypeInfoUtil.ref(types.get(ref.getClass())));
 			member.setDescription(ref.getProposalInfo());
 			type.getMembers().add(member);
 		}