@microsoft.azure/autorest.incubator
Version:
AutoRest incubator project
81 lines • 3.39 kB
TypeScript
import { Dictionary } from '#common/dictionary';
import { Initializer } from '#common/initializer';
import { Abstract, Access, Extern, New, Override, Sealed, Static, Virtual } from '#csharp/code-dom/access-modifier';
import { Attribute } from '#csharp/code-dom/attribute';
import { Expression, ExpressionOrLiteral } from '#csharp/code-dom/expression';
import { OneOrMoreStatements, Statement } from '#csharp/code-dom/statements/statement';
import { ExpressionStatement, Instance, Variable } from '#csharp/code-dom/variable';
import { TypeDeclaration } from './type-declaration';
export declare class Property extends Initializer implements Variable, Instance {
name: string;
type: TypeDeclaration;
'new': New;
getAccess: Access;
setAccess: Access;
'static': Static;
virtual: Virtual;
sealed: Sealed;
override: Override;
abstract: Abstract;
extern: Extern;
attributes: Attribute[];
metadata: Dictionary<any>;
description: string;
externalDocs?: {
url?: string;
description?: string;
};
protected readonly visibility: Access;
add<T extends object>(item: T & (Attribute)): T;
protected readonly attributeDeclaration: string;
constructor(name: string, type: TypeDeclaration, objectInitializer?: Partial<Property>);
protected readonly getterDeclaration: string;
protected readonly setterDeclaration: string;
protected readonly getter: string;
protected readonly setter: string;
readonly declaration: string;
readonly value: string;
readonly valuePrivate: string;
toString(): string;
assign(expression: ExpressionOrLiteral): OneOrMoreStatements;
assignPrivate(expression: ExpressionOrLiteral): OneOrMoreStatements;
readonly declarationExpression: Expression;
readonly declarationStatement: Statement;
invokeMethod(methodName: string, ...parameters: Array<Expression>): ExpressionStatement;
}
export declare class ImplementedProperty extends Property {
name: string;
type: TypeDeclaration;
getterStatements?: Statement;
setterStatements?: Statement;
constructor(name: string, type: TypeDeclaration, objectInitializer?: Partial<ImplementedProperty>);
readonly declaration: string;
protected readonly getter: string;
protected readonly setter: string;
}
export declare class LambdaProperty extends Property {
name: string;
type: TypeDeclaration;
expression: Expression;
constructor(name: string, type: TypeDeclaration, expression: Expression, objectInitializer?: Partial<LambdaProperty>);
readonly declaration: string;
}
export declare class LazyProperty extends Property {
name: string;
type: TypeDeclaration;
expression: Expression;
private backingName;
instanceAccess: string;
constructor(name: string, type: TypeDeclaration, expression: Expression, objectInitializer?: Partial<LazyProperty>);
readonly declaration: string;
}
export declare class BackedProperty extends ImplementedProperty {
backingName: string;
initializer?: ExpressionOrLiteral;
constructor(name: string, type: TypeDeclaration, objectInitializer?: Partial<BackedProperty>);
readonly declaration: string;
readonly value: string;
readonly valuePrivate: string;
assignPrivate(expression: ExpressionOrLiteral): OneOrMoreStatements;
}
//# sourceMappingURL=property.d.ts.map