refactor(compiler-cli): simplify and clarify `TypeScriptReflectionHost.isClass()` (#36989)
The comment in this function confused me, so I updated it to clarify that `isClass()` is not true for un-named classes. Also, I took the opportunity to use a helper method to simplify the function itself. PR Close #36989
This commit is contained in:
parent
491da99abe
commit
0066a1ae70
|
@ -10,6 +10,7 @@ import * as ts from 'typescript';
|
||||||
|
|
||||||
import {ClassDeclaration, ClassMember, ClassMemberKind, CtorParameter, Declaration, Decorator, FunctionDefinition, Import, isDecoratorIdentifier, ReflectionHost} from './host';
|
import {ClassDeclaration, ClassMember, ClassMemberKind, CtorParameter, Declaration, Decorator, FunctionDefinition, Import, isDecoratorIdentifier, ReflectionHost} from './host';
|
||||||
import {typeToValue} from './type_to_value';
|
import {typeToValue} from './type_to_value';
|
||||||
|
import {isNamedClassDeclaration} from './util';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* reflector.ts implements static reflection of declarations using the TypeScript `ts.TypeChecker`.
|
* reflector.ts implements static reflection of declarations using the TypeScript `ts.TypeChecker`.
|
||||||
|
@ -121,9 +122,9 @@ export class TypeScriptReflectionHost implements ReflectionHost {
|
||||||
}
|
}
|
||||||
|
|
||||||
isClass(node: ts.Node): node is ClassDeclaration {
|
isClass(node: ts.Node): node is ClassDeclaration {
|
||||||
// In TypeScript code, classes are ts.ClassDeclarations.
|
// For our purposes, classes are "named" ts.ClassDeclarations;
|
||||||
// (`name` can be undefined in unnamed default exports: `default export class { ... }`)
|
// (`node.name` can be undefined in unnamed default exports: `default export class { ... }`).
|
||||||
return ts.isClassDeclaration(node) && (node.name !== undefined) && ts.isIdentifier(node.name);
|
return isNamedClassDeclaration(node);
|
||||||
}
|
}
|
||||||
|
|
||||||
hasBaseClass(clazz: ClassDeclaration): boolean {
|
hasBaseClass(clazz: ClassDeclaration): boolean {
|
||||||
|
|
Loading…
Reference in New Issue