|
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]) { |