jsii-pacmak
Version:
A code generation framework for jsii backend languages
65 lines • 2.5 kB
TypeScript
import { Method, ClassType, Initializer } from 'jsii-reflect';
import { SpecialDependencies } from '../dependencies';
import { EmitContext } from '../emit-context';
import { Package } from '../package';
import { MethodCall } from '../runtime';
import { ParameterValidator } from '../runtime/runtime-type-checking';
import { GoType } from './go-type';
import { GoInterface } from './interface';
import { GoMethod, GoProperty, GoTypeMember } from './type-member';
export declare class GoClass extends GoType<ClassType> {
#private;
readonly methods: ClassMethod[];
readonly staticMethods: StaticMethod[];
readonly properties: GoProperty[];
readonly staticProperties: GoProperty[];
private _extends?;
private _implements?;
private readonly initializer?;
constructor(pkg: Package, type: ClassType);
get parameterValidators(): readonly ParameterValidator[];
get extends(): GoClass | undefined;
get implements(): readonly GoInterface[];
get baseTypes(): ReadonlyArray<GoClass | GoInterface>;
emit(context: EmitContext): void;
emitRegistration({ code }: EmitContext): void;
get members(): GoTypeMember[];
get specialDependencies(): SpecialDependencies;
protected emitInterface(context: EmitContext): void;
private emitGetters;
private emitStruct;
private emitSetters;
get dependencies(): Package[];
get interfaces(): string[];
}
export declare class GoClassConstructor extends GoMethod {
#private;
readonly parent: GoClass;
private readonly type;
private readonly constructorRuntimeCall;
constructor(parent: GoClass, type: Initializer);
get validator(): ParameterValidator | undefined;
get specialDependencies(): SpecialDependencies;
emit(context: EmitContext): void;
private emitNew;
private emitOverride;
}
export declare class ClassMethod extends GoMethod {
readonly parent: GoClass;
readonly method: Method;
readonly runtimeCall: MethodCall;
constructor(parent: GoClass, method: Method);
emit(context: EmitContext): void;
emitDecl({ code, documenter }: EmitContext): void;
get instanceArg(): string;
get static(): boolean;
get specialDependencies(): SpecialDependencies;
}
export declare class StaticMethod extends ClassMethod {
readonly parent: GoClass;
readonly method: Method;
readonly name: string;
constructor(parent: GoClass, method: Method);
emit(context: EmitContext): void;
}
//# sourceMappingURL=class.d.ts.map