mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Fix bug #3737 (exported JSX classes props not validated)
This commit is contained in:
+7
-11
@@ -7095,13 +7095,18 @@ namespace ts {
|
||||
|
||||
// Look up the value in the current scope
|
||||
if (node.tagName.kind === SyntaxKind.Identifier) {
|
||||
valueSymbol = getResolvedSymbol(<Identifier>node.tagName);
|
||||
let tag = <Identifier>node.tagName;
|
||||
valueSymbol = resolveName(tag, tag.text, SymbolFlags.Value, Diagnostics.Cannot_find_name_0, tag.text);
|
||||
}
|
||||
else {
|
||||
valueSymbol = checkQualifiedName(<QualifiedName>node.tagName).symbol;
|
||||
}
|
||||
|
||||
if (valueSymbol !== unknownSymbol) {
|
||||
if (valueSymbol && valueSymbol !== unknownSymbol) {
|
||||
let symbolLinks = getSymbolLinks(valueSymbol);
|
||||
if (symbolLinks) {
|
||||
symbolLinks.referenced = true;
|
||||
}
|
||||
links.jsxFlags |= JsxFlags.ClassElement;
|
||||
}
|
||||
|
||||
@@ -7301,15 +7306,6 @@ namespace ts {
|
||||
|
||||
let targetAttributesType = getJsxElementAttributesType(node);
|
||||
|
||||
if (getNodeLinks(node).jsxFlags & JsxFlags.ClassElement) {
|
||||
if (node.tagName.kind === SyntaxKind.Identifier) {
|
||||
checkIdentifier(<Identifier>node.tagName);
|
||||
}
|
||||
else {
|
||||
checkQualifiedName(<QualifiedName>node.tagName);
|
||||
}
|
||||
}
|
||||
|
||||
let nameTable: Map<boolean> = {};
|
||||
// Process this array in right-to-left order so we know which
|
||||
// attributes (mostly from spreads) are being overwritten and
|
||||
|
||||
Reference in New Issue
Block a user