"ObjectInit(inits)", function(b) { var v = instantiate(lookupValue("es5:Object")); b.inits.filter('PropertyInit(prop, e)', function(b) { scope.inferValues(b.e).forEach(function(val) { v.fieldHint(b.prop.value, val); }); }); values = [v]; },
vs.forEach(function(fn) { var value = instantiate(fn); var fargs = fn.getFargs(); var funScope = handleFunction(fn, scope, value); for(var i = 0; i < b.args.length; i++) { scope.inferValues(b.args[i]).forEach(function(v) { funScope.hint(fargs[i].value, v); }); } inferAllTypes(funScope, fn.getBody()); values.push(value); });
"Array(_)", function() { values = [instantiate(lookupValue("es5:Array"))]; return this; },
"False()", function() { values = [instantiate(lookupValue("es5:Boolean"))]; return this; },
"Num(_)", function() { values = [instantiate(lookupValue("es5:Number"))]; return this; },
"String(_)", function() { values = [instantiate(lookupValue("es5:String"))]; return this; },
vs.forEach(function(v) { v.fieldHint(b.prop.value, instantiate(lookupValue("es5:Function"))); });