UNPKG

@anysphere/scip-typescript

Version:

SCIP indexer for TypeScript and JavaScript

123 lines (119 loc) 8.17 kB
// < definition syntax 1.0.0 src/`inheritance.ts`/ import { Overloader } from './overload' // ^^^^^^^^^^ reference syntax 1.0.0 src/`overload.d.ts`/Overloader# // ^^^^^^^^^^^^ reference syntax 1.0.0 src/`overload.d.ts`/ export interface Superinterface { // ^^^^^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/Superinterface# property: string //^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/Superinterface#property. interfaceMethod(): string //^^^^^^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/Superinterface#interfaceMethod(). } export interface IntermediateSuperinterface extends Superinterface { // ^^^^^^^^^^^^^^^^^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/IntermediateSuperinterface# // ^^^^^^^^^^^^^^ reference syntax 1.0.0 src/`inheritance.ts`/Superinterface# intermediateInterfaceMethod(): string //^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/IntermediateSuperinterface#intermediateInterfaceMethod(). } export abstract class Superclass { // ^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/Superclass# public abstract overrideMethod(): string // ^^^^^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/Superclass#overrideMethod(). } export abstract class IntermediateSuperclass extends Superclass { // ^^^^^^^^^^^^^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/IntermediateSuperclass# // relationship implementation syntax 1.0.0 src/`inheritance.ts`/Superclass# // ^^^^^^^^^^ reference syntax 1.0.0 src/`inheritance.ts`/Superclass# public override overrideMethod(): string { // ^^^^^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/IntermediateSuperclass#overrideMethod(). // relationship implementation reference syntax 1.0.0 src/`inheritance.ts`/Superclass#overrideMethod(). return 'this will get overridden' } public abstract intermediateOverrideMethod(): string // ^^^^^^^^^^^^^^^^^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/IntermediateSuperclass#intermediateOverrideMethod(). } export class Subclass // ^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/Subclass# // relationship implementation syntax 1.0.0 src/`inheritance.ts`/IntermediateSuperclass# // relationship implementation syntax 1.0.0 src/`inheritance.ts`/IntermediateSuperinterface# // relationship implementation syntax 1.0.0 src/`inheritance.ts`/Superclass# // relationship implementation syntax 1.0.0 src/`inheritance.ts`/Superinterface# // relationship implementation syntax 1.0.0 src/`overload.d.ts`/Overloader# extends IntermediateSuperclass // ^^^^^^^^^^^^^^^^^^^^^^ reference syntax 1.0.0 src/`inheritance.ts`/IntermediateSuperclass# implements IntermediateSuperinterface, Overloader // ^^^^^^^^^^^^^^^^^^^^^^^^^^ reference syntax 1.0.0 src/`inheritance.ts`/IntermediateSuperinterface# // ^^^^^^^^^^ reference syntax 1.0.0 src/`overload.d.ts`/Overloader# { public onLiteral(param: any): void { // ^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/Subclass#onLiteral(). // relationship implementation reference syntax 1.0.0 src/`overload.d.ts`/Overloader#onLiteral(). // ^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/Subclass#onLiteral().(param) throw new Error('Method not implemented.' + param) // ^^^^^ reference typescript 5.3.3 lib/`lib.es5.d.ts`/Error# // ^^^^^ reference typescript 5.3.3 lib/`lib.es5.d.ts`/Error. // ^^^^^ reference syntax 1.0.0 src/`inheritance.ts`/Subclass#onLiteral().(param) } property = 'property' //^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/Subclass#property. //relationship implementation reference syntax 1.0.0 src/`inheritance.ts`/Superinterface#property. public overrideMethod(): string { // ^^^^^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/Subclass#overrideMethod(). // relationship implementation reference syntax 1.0.0 src/`inheritance.ts`/IntermediateSuperclass#overrideMethod(). // relationship implementation reference syntax 1.0.0 src/`inheritance.ts`/Superclass#overrideMethod(). throw new Error('Method not implemented.') // ^^^^^ reference typescript 5.3.3 lib/`lib.es5.d.ts`/Error# // ^^^^^ reference typescript 5.3.3 lib/`lib.es5.d.ts`/Error. } public intermediateOverrideMethod(): string { // ^^^^^^^^^^^^^^^^^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/Subclass#intermediateOverrideMethod(). // relationship implementation reference syntax 1.0.0 src/`inheritance.ts`/IntermediateSuperclass#intermediateOverrideMethod(). throw new Error('Method not implemented.') // ^^^^^ reference typescript 5.3.3 lib/`lib.es5.d.ts`/Error# // ^^^^^ reference typescript 5.3.3 lib/`lib.es5.d.ts`/Error. } public interfaceMethod(): string { // ^^^^^^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/Subclass#interfaceMethod(). // relationship implementation reference syntax 1.0.0 src/`inheritance.ts`/Superinterface#interfaceMethod(). throw new Error('Method not implemented.') // ^^^^^ reference typescript 5.3.3 lib/`lib.es5.d.ts`/Error# // ^^^^^ reference typescript 5.3.3 lib/`lib.es5.d.ts`/Error. } public intermediateInterfaceMethod(): string { // ^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/Subclass#intermediateInterfaceMethod(). // relationship implementation reference syntax 1.0.0 src/`inheritance.ts`/IntermediateSuperinterface#intermediateInterfaceMethod(). throw new Error('Method not implemented.') // ^^^^^ reference typescript 5.3.3 lib/`lib.es5.d.ts`/Error# // ^^^^^ reference typescript 5.3.3 lib/`lib.es5.d.ts`/Error. } } export const objectLiteralImplementation: Superinterface = { // ^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/objectLiteralImplementation. // ^^^^^^^^^^^^^^ reference syntax 1.0.0 src/`inheritance.ts`/Superinterface# property: 'property', //^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/property0: //relationship implementation reference syntax 1.0.0 src/`inheritance.ts`/Superinterface#property. interfaceMethod: (): string => { //^^^^^^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/interfaceMethod0: //relationship implementation reference syntax 1.0.0 src/`inheritance.ts`/Superinterface#interfaceMethod(). throw new Error('Function not implemented.') // ^^^^^ reference typescript 5.3.3 lib/`lib.es5.d.ts`/Error# // ^^^^^ reference typescript 5.3.3 lib/`lib.es5.d.ts`/Error. }, } export function consumesInterface(superInterface: Superinterface): void {} // ^^^^^^^^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/consumesInterface(). // ^^^^^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/consumesInterface().(superInterface) // ^^^^^^^^^^^^^^ reference syntax 1.0.0 src/`inheritance.ts`/Superinterface# export function infersInterface(): void { // ^^^^^^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/infersInterface(). consumesInterface({ //^^^^^^^^^^^^^^^^^ reference syntax 1.0.0 src/`inheritance.ts`/consumesInterface(). interfaceMethod: (): string => 'inferred', // ^^^^^^^^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/interfaceMethod1: // relationship implementation reference syntax 1.0.0 src/`inheritance.ts`/Superinterface#interfaceMethod(). property: 'inferred', // ^^^^^^^^ definition syntax 1.0.0 src/`inheritance.ts`/property1: // relationship implementation reference syntax 1.0.0 src/`inheritance.ts`/Superinterface#property. }) }