internal void ApplyReferenceProcessor(ReferenceProcessorBase refProcessor = null) { if (refProcessor == null) { return; } var references = References.References; references = refProcessor.FilterReferences(references, this); if (references == null) { references = new RtReference[0]; } _refinedReferences = references; var imports = References.Imports; imports = refProcessor.FilterImports(imports, this); if (imports == null) { imports = new RtImport[0]; } _refinedImports = imports; }
protected virtual void ExportCore(StreamWriter tw, ExportedFile file, ReferenceProcessorBase refProcessor = null) { var visitor = Context.Global.ExportPureTypings ? new TypingsExportVisitor(tw, Context.Global.TabSymbol, Context.Global.ReorderMembers) : new TypeScriptExportVisitor(tw, Context.Global.TabSymbol, Context.Global.ReorderMembers); WriteWarning(tw); var references = file.References.References; if (refProcessor != null) { references = refProcessor.FilterReferences(references, file); if (references == null) { references = new RtReference[0]; } } bool hasReferences = false; foreach (var rtReference in references) { visitor.Visit(rtReference); hasReferences = true; } var imports = file.References.Imports; if (refProcessor != null) { imports = refProcessor.FilterImports(imports, file); if (imports == null) { imports = new RtImport[0]; } } bool hasImports = false; foreach (var rtImport in imports) { visitor.Visit(rtImport); hasImports = true; } if (hasReferences || hasImports) { tw.WriteLine(); } foreach (var fileNamespace in file.Namespaces) { visitor.Visit(fileNamespace); } }