@anysphere/scip-typescript
Version:
SCIP indexer for TypeScript and JavaScript
53 lines (51 loc) • 1.53 kB
text/typescript
import { Overloader } from './overload'
export interface Superinterface {
property: string
interfaceMethod(): string
}
export interface IntermediateSuperinterface extends Superinterface {
intermediateInterfaceMethod(): string
}
export abstract class Superclass {
public abstract overrideMethod(): string
}
export abstract class IntermediateSuperclass extends Superclass {
public override overrideMethod(): string {
return 'this will get overridden'
}
public abstract intermediateOverrideMethod(): string
}
export class Subclass
extends IntermediateSuperclass
implements IntermediateSuperinterface, Overloader
{
public onLiteral(param: any): void {
throw new Error('Method not implemented.' + param)
}
property = 'property'
public overrideMethod(): string {
throw new Error('Method not implemented.')
}
public intermediateOverrideMethod(): string {
throw new Error('Method not implemented.')
}
public interfaceMethod(): string {
throw new Error('Method not implemented.')
}
public intermediateInterfaceMethod(): string {
throw new Error('Method not implemented.')
}
}
export const objectLiteralImplementation: Superinterface = {
property: 'property',
interfaceMethod: (): string => {
throw new Error('Function not implemented.')
},
}
export function consumesInterface(superInterface: Superinterface): void {}
export function infersInterface(): void {
consumesInterface({
interfaceMethod: (): string => 'inferred',
property: 'inferred',
})
}