kythe.io@v0.0.68-0.20240422202219-7225dbc01741/kythe/typescript/testdata/declare_module.d.ts (about)

     1  // This test exercises the 'declare module' syntax.
     2  
     3  // declare module with a quoted string defines the module at
     4  // the given path, so any symbols within in should be scoped to the
     5  // appropriate VName.
     6  //- @"'foo/bar'" defines/binding ModNamespace
     7  //- ModNamespace.node/kind record
     8  //- ModNamespace.subkind namespace
     9  //- ModNamespace.complete definition
    10  //- @"'foo/bar'" defines/binding ModValue
    11  //- ModValue.node/kind package
    12  //- ModDef defines ModValue
    13  //- ModDef.loc/start @^"declare"
    14  declare module 'foo/bar' {
    15    //- @x defines/binding _X1=vname(_, _, _, "foo/bar", _)
    16    let x;
    17    //- ModDef.loc/end @$"}"
    18  }
    19  
    20  //- @foobar defines/binding FooBarModule
    21  //- FooBarModule.node/kind record
    22  declare module foobar {
    23    //- @x defines/binding _X2=vname(_, _, _, "testdata/declare_module", _)
    24    let x;
    25  }
    26  
    27  //- @"'incomplete'" defines/binding IncompleteMod
    28  //- IncompleteMod.node/kind record
    29  //- IncompleteMod.subkind namespace
    30  //- IncompleteMod.complete incomplete
    31  declare module 'incomplete';