jsii-reflect
Version:
strongly-typed reflection library and tools for jsii
59 lines • 2 kB
TypeScript
import * as jsii from '@jsii/spec';
import { Assembly } from './assembly';
import { Initializer } from './initializer';
import { InterfaceType } from './interface';
import { Method } from './method';
import { Property } from './property';
import { ReferenceType } from './reference-type';
import { TypeSystem } from './type-system';
export declare class ClassType extends ReferenceType {
readonly system: TypeSystem;
readonly assembly: Assembly;
readonly spec: jsii.ClassType;
constructor(system: TypeSystem, assembly: Assembly, spec: jsii.ClassType);
/**
* Base class (optional).
*/
get base(): ClassType | undefined;
/**
* Initializer (constructor) method.
*/
get initializer(): Initializer | undefined;
/**
* Indicates if this class is an abstract class.
*/
get abstract(): boolean;
/**
* Returns list of all base classes (first is the direct base and last is the top-most).
*
* @deprecated use ClassType.ancestors instead
*/
getAncestors(): ClassType[];
/**
* Returns list of all base classes (first is the direct base and last is the top-most).
*/
get ancestors(): ClassType[];
/**
* Lists all properties in this class.
* @param inherited include all properties inherited from base classes (default: false)
*/
getProperties(inherited?: boolean): {
[name: string]: Property;
};
/**
* List all methods in this class.
* @param inherited include all methods inherited from base classes (default: false)
*/
getMethods(inherited?: boolean): {
[name: string]: Method;
};
/**
* Lists all interfaces this class implements.
* @param inherited include all interfaces implemented by all base classes (default: false)
*/
getInterfaces(inherited?: boolean): InterfaceType[];
isClassType(): this is ClassType;
private _getProperties;
private _getMethods;
}
//# sourceMappingURL=class.d.ts.map