src/share/classes/com/sun/tools/doclets/internal/toolkit/util/SourceToHTMLConverter.java

changeset 197
1bf037016426
parent 191
d79ad96ce47c
child 229
03bcd66bd8e7
equal deleted inserted replaced
196:1ca2dc8584e1 197:1bf037016426
23 * have any questions. 23 * have any questions.
24 */ 24 */
25 25
26 package com.sun.tools.doclets.internal.toolkit.util; 26 package com.sun.tools.doclets.internal.toolkit.util;
27 27
28 import com.sun.tools.doclets.internal.toolkit.*;
29 import com.sun.javadoc.*;
30 import java.io.*; 28 import java.io.*;
31 import java.util.*; 29 import java.util.*;
30 import javax.tools.FileObject;
31
32 import com.sun.javadoc.*;
33 import com.sun.tools.doclets.internal.toolkit.*;
32 34
33 /** 35 /**
34 * Converts Java Source Code to HTML. 36 * Converts Java Source Code to HTML.
35 * 37 *
36 * This code is not part of an API. 38 * This code is not part of an API.
121 */ 123 */
122 public static void convertClass(Configuration configuration, ClassDoc cd, String outputdir) { 124 public static void convertClass(Configuration configuration, ClassDoc cd, String outputdir) {
123 if (cd == null || outputdir == null) { 125 if (cd == null || outputdir == null) {
124 return; 126 return;
125 } 127 }
126 File file;
127 SourcePosition sp = cd.position();
128 if (sp == null || (file = sp.file()) == null) {
129 return;
130 }
131 try { 128 try {
129 SourcePosition sp = cd.position();
130 if (sp == null)
131 return;
132 Reader r;
133 // temp hack until we can update SourcePosition API.
134 if (sp instanceof com.sun.tools.javadoc.SourcePositionImpl) {
135 FileObject fo = ((com.sun.tools.javadoc.SourcePositionImpl) sp).fileObject();
136 if (fo == null)
137 return;
138 r = fo.openReader(true);
139 } else {
140 File file = sp.file();
141 if (file == null)
142 return;
143 r = new FileReader(file);
144 }
145 LineNumberReader reader = new LineNumberReader(r);
132 int lineno = 1; 146 int lineno = 1;
133 String line; 147 String line;
134 StringBuffer output = new StringBuffer(); 148 StringBuffer output = new StringBuffer();
135 LineNumberReader reader = new LineNumberReader(new FileReader(file));
136 try { 149 try {
137 while ((line = reader.readLine()) != null) { 150 while ((line = reader.readLine()) != null) {
138 output.append(formatLine(line, configuration.sourcetab, lineno)); 151 output.append(formatLine(line, configuration.sourcetab, lineno));
139 lineno++; 152 lineno++;
140 } 153 }

mercurial