//// [tests/cases/compiler/decoratorMetadataWithImportDeclarationNameCollision3.ts] ////

=== service.ts ===
import db = require('./db');
>db : Symbol(db, Decl(service.ts, 0, 0))

function someDecorator(target) {
>someDecorator : Symbol(someDecorator, Decl(service.ts, 0, 28))
>target : Symbol(target, Decl(service.ts, 1, 23))

    return target;
>target : Symbol(target, Decl(service.ts, 1, 23))
}
@someDecorator
>someDecorator : Symbol(someDecorator, Decl(service.ts, 0, 28))

class MyClass {
>MyClass : Symbol(MyClass, Decl(service.ts, 3, 1))

    db: db.db;
>db : Symbol(MyClass.db, Decl(service.ts, 5, 15))
>db : Symbol(db, Decl(service.ts, 0, 0))
>db : Symbol(db.db, Decl(db.ts, 0, 0))

    constructor(db: db.db) { // collision with namespace of external module db
>db : Symbol(db, Decl(service.ts, 8, 16))
>db : Symbol(db, Decl(service.ts, 0, 0))
>db : Symbol(db.db, Decl(db.ts, 0, 0))

        this.db = db;
>this.db : Symbol(MyClass.db, Decl(service.ts, 5, 15))
>this : Symbol(MyClass, Decl(service.ts, 3, 1))
>db : Symbol(MyClass.db, Decl(service.ts, 5, 15))
>db : Symbol(db, Decl(service.ts, 8, 16))

        this.db.doSomething();
>this.db.doSomething : Symbol(db.db.doSomething, Decl(db.ts, 0, 17))
>this.db : Symbol(MyClass.db, Decl(service.ts, 5, 15))
>this : Symbol(MyClass, Decl(service.ts, 3, 1))
>db : Symbol(MyClass.db, Decl(service.ts, 5, 15))
>doSomething : Symbol(db.db.doSomething, Decl(db.ts, 0, 17))
    }
}
export {MyClass};
>MyClass : Symbol(MyClass, Decl(service.ts, 13, 8))

=== db.ts ===
export class db {
>db : Symbol(db, Decl(db.ts, 0, 0))

    public doSomething() {
>doSomething : Symbol(db.doSomething, Decl(db.ts, 0, 17))
    }
}

