1 Type.parse = function Type$parse(typeName, ns) {
6 var e = Function._validateParams(arguments, [
7 {name: "typeName", type: String, mayBeNull: true},
8 {name: "ns", mayBeNull: true, optional: true}
9 ]);
10 if (e) throw e;
11 var fn;
12 if (ns) {
13 fn = Sys.__upperCaseTypes[ns.getName().toUpperCase() + '.' + typeName.toUpperCase()];
14 return fn || null;
15 }
16 if (!typeName) return null;
17 if (!Type.__htClasses) {
18 Type.__htClasses = {};
19 }
20 fn = Type.__htClasses[typeName];
21 if (!fn) {
22 fn = eval(typeName);
23 if (typeof(fn) !== 'function') throw Error.argument('typeName', Sys.Res.notATypeName);
24 Type.__htClasses[typeName] = fn;
25 }
26 return fn;
27 }