langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/SourceToHTMLConverter.java
changeset 1869 0e193a8f3520
parent 1863 e5de9abc0eb1
child 2212 1d3dc0e0ba0c
equal deleted inserted replaced
1868:391ba14d071e 1869:0e193a8f3520
    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                 }