2017-02-09 20:25:48 +01:00
|
|
|
|
// @filename: file.tsx
|
|
|
|
|
// @jsx: react
|
|
|
|
|
// @noLib: true
|
2017-10-04 23:43:35 +02:00
|
|
|
|
// @skipLibCheck: true
|
2017-02-09 20:25:48 +01:00
|
|
|
|
// @libFiles: react.d.ts,lib.d.ts
|
|
|
|
|
|
|
|
|
|
import React = require('react');
|
|
|
|
|
|
|
|
|
|
class RC1 extends React.Component<{x : number}, {}> {
|
|
|
|
|
render() {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class RC2 extends React.Component<{ x: string }, {}> {
|
|
|
|
|
render() {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
private method() { }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class RC3 extends React.Component<{}, {}> {
|
|
|
|
|
render() {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class RC4 extends React.Component<{}, {}> {
|
|
|
|
|
render() {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var EmptyRCComp = RC3 || RC4;
|
|
|
|
|
var PartRCComp = RC1 || RC4;
|
|
|
|
|
var RCComp = RC1 || RC2;
|
|
|
|
|
// OK
|
|
|
|
|
let a = <RCComp x="Hi" />;
|
|
|
|
|
let a1 = <EmptyRCComp />;
|
|
|
|
|
let a2 = <EmptyRCComp data-prop="hello" />;
|
|
|
|
|
let b = <PartRCComp />
|
|
|
|
|
let c = <PartRCComp data-extra="hello" />
|