Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 495410
Collapse All | Expand All

(-)a/bundles/org.eclipse.orion.client.javascript/web/eslint/lib/load-rules-async.js (-5 / +23 lines)
Lines 1335-1343 define([ Link Here
1335
                	if (node.property && node.object && node.object.type !== 'ThisExpression'){
1335
                	if (node.property && node.object && node.object.type !== 'ThisExpression'){
1336
                		if (node.parent && node.parent.type === 'CallExpression' && node.parent.callee && node.parent.callee === node){
1336
                		if (node.parent && node.parent.type === 'CallExpression' && node.parent.callee && node.parent.callee === node){
1337
                			var tern = context.getTern();
1337
                			var tern = context.getTern();
1338
							var query = {end: node.property.start};
1338
							var query = {start: node.property.start, end: node.property.end};
1339
							var expr = tern.findQueryExpr(tern.file, query);
1339
							var type = null;
1340
							var type = tern.findExprType(query, tern.file, expr);
1340
							var expr;
1341
							try {
1342
								expr = tern.findQueryExpr(tern.file, query);
1343
								if (!expr) {
1344
									// no expression found so we cannot get the type
1345
									return;
1346
								}
1347
								type = tern.findExprType(query, tern.file, expr);
1348
							} catch(e) {
1349
								// ignore
1350
							}
1341
							if (type && type.propertyOf) {
1351
							if (type && type.propertyOf) {
1342
								if(type.propertyOf.props[node.property.name]) {
1352
								if(type.propertyOf.props[node.property.name]) {
1343
									//if we found a type and its a direct property, quit
1353
									//if we found a type and its a direct property, quit
Lines 1349-1356 define([ Link Here
1349
								}
1359
								}
1350
							}
1360
							}
1351
							query.end = node.object.end;
1361
							query.end = node.object.end;
1352
	                		expr = tern.findQueryExpr(tern.file, query);
1362
							try {
1353
	                		type = tern.findExprType(query, tern.file, expr);
1363
		                		expr = tern.findQueryExpr(tern.file, query);
1364
								if (!expr) {
1365
									// no expression found so we cannot get the type
1366
									return;
1367
								}
1368
		                		type = tern.findExprType(query, tern.file, expr);
1369
		                	} catch(e) {
1370
		                		// ignore
1371
		                	}
1354
							if (type && type.types && type.types.length > 0) {
1372
							if (type && type.types && type.types.length > 0) {
1355
	                			for (var i = 0; i < type.types.length; i++) {
1373
	                			for (var i = 0; i < type.types.length; i++) {
1356
	                				if (type.types[i].props && type.types[i].props[node.property.name]) {
1374
	                				if (type.types[i].props && type.types[i].props[node.property.name]) {

Return to bug 495410