Coverage Report - org.codehaus.plexus.compiler.j2objc.DefaultJ2ObjCCompilerParser
 
Classes in this File Line Coverage Branch Coverage Complexity
DefaultJ2ObjCCompilerParser
0%
0/20
0%
0/8
6
 
 1  
 package org.codehaus.plexus.compiler.j2objc;
 2  
 
 3  
 import org.codehaus.plexus.compiler.CompilerMessage;
 4  
 import org.codehaus.plexus.compiler.CompilerMessage.Kind;
 5  
 
 6  
 /**
 7  
  * Handle the output of J2ObjC
 8  
  *
 9  
  * @author lmaitre
 10  
  */
 11  0
 public class DefaultJ2ObjCCompilerParser
 12  
 {
 13  
 
 14  0
     private static String ERROR_PREFIX = "error: ";
 15  
 
 16  0
     private static String CONVERT_PREFIX = "translating ";
 17  
 
 18  0
     private static String TRANSLATION_PREFIX = "Translated ";
 19  
 
 20  
     /**
 21  
      * Parse a line of log, reading the error and translating lines.
 22  
      *
 23  
      * @param line
 24  
      * @return The compiler message for this line or null if there is no need of
 25  
      * a message.
 26  
      */
 27  
     public static CompilerMessage parseLine( String line )
 28  
     {
 29  0
         String file = null;
 30  0
         boolean error = false;
 31  0
         int startline = -1;
 32  0
         int startcolumn = -1;
 33  0
         int endline = -1;
 34  0
         int endcolumn = -1;
 35  
         String message;
 36  
 
 37  0
         if ( line.startsWith( ERROR_PREFIX ) )
 38  
         {
 39  0
             message = line.substring( ERROR_PREFIX.length() );
 40  0
             error = true;
 41  
         }
 42  0
         else if ( line.startsWith( CONVERT_PREFIX ) )
 43  
         {
 44  0
             message = line;
 45  
         }
 46  0
         else if ( line.startsWith( TRANSLATION_PREFIX ) )
 47  
         {
 48  0
             message = line;
 49  
         }
 50  
         else
 51  
         {
 52  0
             System.err.println( "Unknown output: " + line );
 53  
 
 54  0
             return null;
 55  
         }
 56  
 
 57  0
         return new CompilerMessage( file, error ? Kind.ERROR : Kind.NOTE, startline, startcolumn, endline, endcolumn,
 58  
                                     message );
 59  
 
 60  
     }
 61  
 
 62  
 }