1 19 24 25 package org.netbeans.jmi.javamodel.regenerator; 26 27 import java.io.File ; 28 import java.io.FileReader ; 29 import org.netbeans.junit.diff.Diff; 30 import org.netbeans.lib.java.parser.Factory; 31 32 36 public class LexDiff implements Diff { 37 38 public boolean diff(String str, String str1, String str2) throws java.io.IOException { 39 return diff(new File (str), new File (str1), null); 40 } 41 42 public boolean diff(java.io.File file, java.io.File file1, java.io.File file2) throws java.io.IOException { 43 org.netbeans.lib.java.parser.JScanner lex1 = Factory.getDefault().getScanner(new FileReader (file), "pending"); 44 org.netbeans.lib.java.parser.JScanner lex2 = Factory.getDefault().getScanner(new FileReader (file1), "pending"); 45 46 int token1 = lex1.yylex(); 47 int token2 = lex2.yylex(); 48 while (token1 != 0 && token2 !=0 ){ 49 if (token1 != token2) { 50 System.out.println("token " + token1 + " (" + lex1.yytext() + ") != " + token2 + " (" + lex2.yytext() + ")" ); 51 return true; 52 } 53 if (!lex1.yytext().equals(lex2.yytext())) { 54 System.out.println("token " + token1 + " (" + lex1.yytext() + ") != " + token2 + " (" + lex2.yytext() + ")" ); 55 return true; 56 } 57 token1 = lex1.yylex(); 58 token2 = lex2.yylex(); 59 } 60 if (token1 != token2) { 61 System.out.println("token " + token1 + " (" + lex1.yytext() + ") != " + token2 + " (" + lex2.yytext() + ")" ); 62 return true; 63 } 64 return false; 65 } 66 } 67 | Popular Tags |