// @declaration: true // @module: commonjs module M { export interface D { } export module D { export function f() { } } export module C { export function f() { } } export module E { export function f() { } } } module M.P { export class C { static f() { } } export class E extends C { } export enum D { f } export var v: M.D; // ok export var w = M.D.f; // error, should be typeof M.D.f export var x = M.C.f; // error, should be typeof M.C.f export var x = M.E.f; // error, should be typeof M.E.f }