public override void AppendLineDirective(T4CSharpCodeGenerationResult destination, IT4TreeNode node) { var sourceFile = node.FindLogicalPsiSourceFile(); int offset = T4UnsafeManualRangeTranslationUtil.GetDocumentStartOffset(node).Offset; int line = (int)sourceFile.Document.GetCoordsByOffset(offset).Line; destination.AppendLine($"#line {line + 1} \"{sourceFile.GetLocation()}\""); }
public override void AppendCompilationOffset(T4CSharpCodeGenerationResult destination, IT4TreeNode node) { int documentOffset = T4UnsafeManualRangeTranslationUtil.GetDocumentStartOffset(node).Offset; var lineOffset = node .FindLogicalPsiSourceFile() .Document .GetCoordsByOffset(documentOffset) .Column; for (var i = Int32 <DocColumn> .O; i < lineOffset; i++) { destination.Append(" "); } }