當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript abstract_emitter.EmitterVisitorContext類代碼示例

本文整理匯總了TypeScript中@angular/compiler/src/output/abstract_emitter.EmitterVisitorContext的典型用法代碼示例。如果您正苦於以下問題:TypeScript EmitterVisitorContext類的具體用法?TypeScript EmitterVisitorContext怎麽用?TypeScript EmitterVisitorContext使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了EmitterVisitorContext類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: nbSegmentsPerLine

// returns the number of segments per line
function nbSegmentsPerLine(ctx: EmitterVisitorContext) {
  const sm = ctx.toSourceMapGenerator('o.ts').toJSON() !;
  const lines = sm.mappings.split(';');
  return lines.map(l => {
    const m = l.match(/,/g);
    return m === null ? 1 : m.length + 1;
  });
}
開發者ID:IdeaBlade,項目名稱:angular,代碼行數:9,代碼來源:abstract_emitter_node_only_spec.ts

示例2: expectMap

// All lines / columns indexes are 0-based
// Note: source-map line indexes are 1-based, column 0-based
function expectMap(
    ctx: EmitterVisitorContext, genLine: number, genCol: number, source: string | null = null,
    srcLine: number | null = null, srcCol: number | null = null) {
  const sm = ctx.toSourceMapGenerator('o.ts').toJSON() !;
  const genPosition = {line: genLine + 1, column: genCol};
  const origPosition = originalPositionFor(sm, genPosition);
  expect(origPosition.source).toEqual(source);
  expect(origPosition.line).toEqual(srcLine === null ? null : srcLine + 1);
  expect(origPosition.column).toEqual(srcCol);
}
開發者ID:IdeaBlade,項目名稱:angular,代碼行數:12,代碼來源:abstract_emitter_node_only_spec.ts

示例3: it

 it('should generate unique argument names', () => {
   const externalIds = new Array(10).fill(1).map(
       (_, index) =>
           new o.ExternalReference(anotherModuleUrl, `id_${index}_`, {name: `id_${index}_`}));
   const externalIds1 = new Array(10).fill(1).map(
       (_, index) => new o.ExternalReference(
           anotherModuleUrl, `id_${index}_1`, {name: `id_${index}_1`}));
   const ctx = EmitterVisitorContext.createRoot();
   const converter = new JitEmitterVisitor(new JitReflector());
   converter.visitAllStatements(
       [o.literalArr([...externalIds1, ...externalIds].map(id => o.importExpr(id))).toStmt()],
       ctx);
   const args = converter.getArgs();
   expect(Object.keys(args).length).toBe(20);
 });
開發者ID:AnthonyPAlicea,項目名稱:angular,代碼行數:15,代碼來源:output_jit_spec.ts

示例4: it

      it('should map leading segment without span', () => {
        ctx.print(null, '....');
        ctx.print(createSourceSpan(fileA, 0), 'fileA-0');

        expectMap(ctx, 0, 0, 'o.ts', 0, 0);
        expectMap(ctx, 0, 4, 'a.js', 0, 0);
        expect(nbSegmentsPerLine(ctx)).toEqual([2]);
      });
開發者ID:IdeaBlade,項目名稱:angular,代碼行數:8,代碼來源:abstract_emitter_node_only_spec.ts

示例5: it

      it('should be able to shift the content', () => {
        ctx.print(createSourceSpan(fileA, 0), 'fileA-0');

        const sm = ctx.toSourceMapGenerator(null, 10).toJSON();
        const smc = new SourceMapConsumer(sm);
        expect(smc.originalPositionFor({line: 11, column: 0})).toEqual({
          line: 1,
          column: 0,
          source: 'a.js',
          name: null,
        });
      });
開發者ID:manekinekko,項目名稱:angular,代碼行數:12,代碼來源:abstract_emitter_node_only_spec.ts


注:本文中的@angular/compiler/src/output/abstract_emitter.EmitterVisitorContext類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。