Use getRootSymbols for all union property needs

This commit is contained in:
Mohamed Hegazy
2014-10-08 23:28:17 -07:00
parent 779db6e76a
commit 2eb51ab874
3 changed files with 4 additions and 11 deletions

View File

@@ -93,7 +93,6 @@ module ts {
getFullyQualifiedName: getFullyQualifiedName,
getResolvedSignature: getResolvedSignature,
getEnumMemberValue: getEnumMemberValue,
getUnionTypesOfUnionProperty: getUnionTypesOfUnionProperty
};
var undefinedSymbol = createSymbol(SymbolFlags.Property | SymbolFlags.Transient, "undefined");
@@ -1751,10 +1750,6 @@ module ts {
return links.type;
}
function getUnionTypesOfUnionProperty(symbol: Symbol): Type[] {
return (symbol.flags & SymbolFlags.UnionProperty) ? getSymbolLinks(symbol).unionType.types : undefined;
}
function getTypeOfSymbol(symbol: Symbol): Type {
if (symbol.flags & (SymbolFlags.Variable | SymbolFlags.Property)) {
return getTypeOfVariableOrParameterOrProperty(symbol);

View File

@@ -657,8 +657,6 @@ module ts {
getContextualType(node: Node): Type;
getResolvedSignature(node: CallExpression, candidatesOutArray?: Signature[]): Signature;
getUnionTypesOfUnionProperty(symbol: Symbol): Type[];
// Returns the constant value of this enum member, or 'undefined' if the enum member has a
// computed value.
getEnumMemberValue(node: EnumMember): number;

View File

@@ -2619,8 +2619,8 @@ module ts {
var result: DefinitionInfo[] = [];
if (symbol.flags & SymbolFlags.UnionProperty) {
forEach(typeInfoResolver.getUnionTypesOfUnionProperty(symbol), t => {
getDefinitionFromSymbol(typeInfoResolver.getPropertyOfType(t, symbol.name), node, result);
forEach(typeInfoResolver.getRootSymbols(symbol), s => {
getDefinitionFromSymbol(s, node, result);
});
}
else {
@@ -3013,8 +3013,8 @@ module ts {
// Handel union properties
if (symbol.flags & SymbolFlags.UnionProperty) {
declarations = [];
forEach(typeInfoResolver.getUnionTypesOfUnionProperty(symbol), t => {
declarations.push.apply(declarations, t.getProperty(symbol.name).declarations);
forEach(typeInfoResolver.getRootSymbols(symbol), s => {
declarations.push.apply(declarations, s.declarations);
});
}