You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by tc...@apache.org on 2007/02/24 16:37:04 UTC

svn commit: r511286 - in /jakarta/commons/sandbox/jci/trunk/compilers: eclipse/src/main/java/org/apache/commons/jci/compilers/ javac/src/main/java/org/apache/commons/jci/compilers/

Author: tcurdt
Date: Sat Feb 24 07:37:03 2007
New Revision: 511286

URL: http://svn.apache.org/viewvc?view=rev&rev=511286
Log:
nitpicking,,
fixed https://issues.apache.org/jira/browse/SANDBOX-26


Modified:
    jakarta/commons/sandbox/jci/trunk/compilers/eclipse/src/main/java/org/apache/commons/jci/compilers/EclipseJavaCompiler.java
    jakarta/commons/sandbox/jci/trunk/compilers/javac/src/main/java/org/apache/commons/jci/compilers/FileInputStreamProxy.java
    jakarta/commons/sandbox/jci/trunk/compilers/javac/src/main/java/org/apache/commons/jci/compilers/JavacJavaCompiler.java

Modified: jakarta/commons/sandbox/jci/trunk/compilers/eclipse/src/main/java/org/apache/commons/jci/compilers/EclipseJavaCompiler.java
URL: http://svn.apache.org/viewvc/jakarta/commons/sandbox/jci/trunk/compilers/eclipse/src/main/java/org/apache/commons/jci/compilers/EclipseJavaCompiler.java?view=diff&rev=511286&r1=511285&r2=511286
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/compilers/eclipse/src/main/java/org/apache/commons/jci/compilers/EclipseJavaCompiler.java (original)
+++ jakarta/commons/sandbox/jci/trunk/compilers/eclipse/src/main/java/org/apache/commons/jci/compilers/EclipseJavaCompiler.java Sat Feb 24 07:37:03 2007
@@ -21,10 +21,8 @@
 import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashSet;
 import java.util.Locale;
 import java.util.Map;
-import java.util.Set;
 import java.util.StringTokenizer;
 
 import org.apache.commons.jci.problems.CompilationProblem;
@@ -134,13 +132,13 @@
         final IProblemFactory problemFactory = new DefaultProblemFactory(Locale.getDefault());
         final INameEnvironment nameEnvironment = new INameEnvironment() {
 
-            public NameEnvironmentAnswer findType( final char[][] compoundTypeName ) {
+            public NameEnvironmentAnswer findType( final char[][] pCompoundTypeName ) {
                 final StringBuffer result = new StringBuffer();
-                for (int i = 0; i < compoundTypeName.length; i++) {
+                for (int i = 0; i < pCompoundTypeName.length; i++) {
                     if (i != 0) {
                         result.append('.');
                     }
-                    result.append(compoundTypeName[i]);
+                    result.append(pCompoundTypeName[i]);
                 }
 
                 //log.debug("finding compoundTypeName=" + result.toString());
@@ -148,34 +146,34 @@
             	return findType(result.toString());
             }
 
-            public NameEnvironmentAnswer findType( final char[] typeName, final char[][] packageName ) {
+            public NameEnvironmentAnswer findType( final char[] pTypeName, final char[][] pPackageName ) {
                 final StringBuffer result = new StringBuffer();
-                for (int i = 0; i < packageName.length; i++) {
-                    result.append(packageName[i]);
+                for (int i = 0; i < pPackageName.length; i++) {
+                    result.append(pPackageName[i]);
                     result.append('.');
                 }
                 
 //            	log.debug("finding typeName=" + new String(typeName) + " packageName=" + result.toString());
 
-            	result.append(typeName);
+            	result.append(pTypeName);
                 return findType(result.toString());
             }
 
-            private NameEnvironmentAnswer findType( final String clazzName ) {
+            private NameEnvironmentAnswer findType( final String pClazzName ) {
             	
-            	if (isPackage(clazzName)) {
+            	if (isPackage(pClazzName)) {
             		return null;
             	}
             	
-            	log.debug("finding " + clazzName);
+            	log.debug("finding " + pClazzName);
             	
-            	final String resourceName = ClassUtils.convertClassToResourcePath(clazzName);
+            	final String resourceName = ClassUtils.convertClassToResourcePath(pClazzName);
             	
-                final byte[] clazzBytes = pStore.read(clazzName);
+                final byte[] clazzBytes = pStore.read(pClazzName);
                 if (clazzBytes != null) {
-                    log.debug("loading from store " + clazzName);
+                    log.debug("loading from store " + pClazzName);
 
-                    final char[] fileName = clazzName.toCharArray();
+                    final char[] fileName = pClazzName.toCharArray();
                     try {
                         final ClassFileReader classFileReader = new ClassFileReader(clazzBytes, fileName, true);
                         return new NameEnvironmentAnswer(classFileReader, null);
@@ -185,7 +183,7 @@
                     }
                 }
                 
-            	log.debug("not in store " + clazzName);
+            	log.debug("not in store " + pClazzName);
             	
 //                if (pReader.isAvailable(clazzName.replace('.', '/') + ".java")) {
 //                    log.debug("compile " + clazzName);
@@ -195,7 +193,7 @@
 
                 final InputStream is = pClassLoader.getResourceAsStream(resourceName);
                 if (is == null) {
-                	log.debug("class " + clazzName + " not found");
+                	log.debug("class " + pClazzName + " not found");
                 	return null;
                 }
 
@@ -207,7 +205,7 @@
                         baos.write(buffer, 0, count);
                     }
                     baos.flush();
-                    final char[] fileName = clazzName.toCharArray();
+                    final char[] fileName = pClazzName.toCharArray();
                     final ClassFileReader classFileReader = new ClassFileReader(baos.toByteArray(), fileName, true);
                     return new NameEnvironmentAnswer(classFileReader, null);
                 } catch (final IOException e) {
@@ -230,46 +228,24 @@
                 }
             }
 
-            private boolean isPackage( final String clazzName ) {
+            private boolean isPackage( final String pClazzName ) {
             	
-            	log.debug("isPackage? " + clazzName);
-//            	if ("jci.Simple".equals(clazzName)) {
-//            		log.debug("no");
-//            		return false;
-//            	}
-//
-//            	if ("jci.String".equals(clazzName)) {
-//            		log.debug("no");
-//            		return false;
-//            	}
-//
-//            	if ("java.lang.Object".equals(clazzName)) {
-//            		log.debug("no");
-//            		return false;
-//            	}
-//
-//            	if ("java.lang.String".equals(clazzName)) {
-//            		log.debug("no");
-//            		return false;
-//            	}
-
-            	if ("java".equals(clazzName)) {
-            		log.debug("yes");
-            		return true;
-            	}
-            	if ("java.lang".equals(clazzName)) {
-            		log.debug("yes");
-            		return true;
+            	final InputStream is = pClassLoader.getResourceAsStream(ClassUtils.convertClassToResourcePath(pClazzName));
+            	if (is != null) {
+                	log.debug("found the class for " + pClazzName + "- no package");
+            		return false;
             	}
             	
-            	return false;
+            	final String source = pClazzName.replace('.', '/') + ".java";
+            	if (pReader.isAvailable(source)) {
+                	log.debug("found the source " + source + " for " + pClazzName + " - no package ");
+            		return false;
+            	}
             	
-//                final String resourceName = clazzName.replace('.', '/') + ".class";
-//                final URL resource = pClassLoader.getResource(resourceName);
-//                return resource == null;
+            	return true;
             }
 
-            public boolean isPackage( char[][] parentPackageName, char[] packageName ) {
+            public boolean isPackage( char[][] parentPackageName, char[] pPackageName ) {
                 final StringBuffer result = new StringBuffer();
                 if (parentPackageName != null) {
                     for (int i = 0; i < parentPackageName.length; i++) {
@@ -282,14 +258,10 @@
                 
 //                log.debug("isPackage parentPackageName=" + result.toString() + " packageName=" + new String(packageName));
                 
-//                if (Character.isUpperCase(packageName[0])) {
-//                    return false;
-//                }
-                
                 if (parentPackageName != null && parentPackageName.length > 0) {
                     result.append('.');
                 }
-                result.append(packageName);
+                result.append(pPackageName);
                 return isPackage(result.toString());
             }
 
@@ -300,9 +272,9 @@
 
         final Collection problems = new ArrayList();
         final ICompilerRequestor compilerRequestor = new ICompilerRequestor() {
-            public void acceptResult( final CompilationResult result ) {
-                if (result.hasProblems()) {
-                    final IProblem[] iproblems = result.getProblems();
+            public void acceptResult( final CompilationResult pResult ) {
+                if (pResult.hasProblems()) {
+                    final IProblem[] iproblems = pResult.getProblems();
                     for (int i = 0; i < iproblems.length; i++) {
                         final IProblem iproblem = iproblems[i];
                         final CompilationProblem problem = new EclipseCompilationProblem(iproblem); 
@@ -312,8 +284,8 @@
                         problems.add(problem);
                     }
                 }
-                if (!result.hasErrors()) {
-                    final ClassFile[] clazzFiles = result.getClassFiles();
+                if (!pResult.hasErrors()) {
+                    final ClassFile[] clazzFiles = pResult.getClassFiles();
                     for (int i = 0; i < clazzFiles.length; i++) {
                         final ClassFile clazzFile = clazzFiles[i];
                         final char[][] compoundName = clazzFile.getCompoundName();

Modified: jakarta/commons/sandbox/jci/trunk/compilers/javac/src/main/java/org/apache/commons/jci/compilers/FileInputStreamProxy.java
URL: http://svn.apache.org/viewvc/jakarta/commons/sandbox/jci/trunk/compilers/javac/src/main/java/org/apache/commons/jci/compilers/FileInputStreamProxy.java?view=diff&rev=511286&r1=511285&r2=511286
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/compilers/javac/src/main/java/org/apache/commons/jci/compilers/FileInputStreamProxy.java (original)
+++ jakarta/commons/sandbox/jci/trunk/compilers/javac/src/main/java/org/apache/commons/jci/compilers/FileInputStreamProxy.java Sat Feb 24 07:37:03 2007
@@ -12,22 +12,8 @@
 public class FileInputStreamProxy extends InputStream {
 	
 	private final static ThreadLocal readerThreadLocal = new ThreadLocal();
-//	{
-//		public void set(Object o) {
-//			System.out.println(this.hashCode() + "@" + this.getClass().getClassLoader().hashCode() + " set " + o + " for " + Thread.currentThread().hashCode());
-//			super.set(o);
-//			System.out.println(this.hashCode() + "@" + this.getClass().getClassLoader().hashCode() + " get " + super.get() + " for " + Thread.currentThread().hashCode());
-//		}
-//		
-//		public Object get() {
-//			final Object o = super.get();
-//			System.out.println(this.hashCode() + "@" + this.getClass().getClassLoader().hashCode() + " get " + o + " for " + Thread.currentThread().hashCode());
-//			return o;
-//		}
-//	};
-	
-	private final InputStream in;
 	
+	private final InputStream in;	
 	private final String name;
 	
 	public static void setResourceReader( final ResourceReader pReader ) {

Modified: jakarta/commons/sandbox/jci/trunk/compilers/javac/src/main/java/org/apache/commons/jci/compilers/JavacJavaCompiler.java
URL: http://svn.apache.org/viewvc/jakarta/commons/sandbox/jci/trunk/compilers/javac/src/main/java/org/apache/commons/jci/compilers/JavacJavaCompiler.java?view=diff&rev=511286&r1=511285&r2=511286
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/compilers/javac/src/main/java/org/apache/commons/jci/compilers/JavacJavaCompiler.java (original)
+++ jakarta/commons/sandbox/jci/trunk/compilers/javac/src/main/java/org/apache/commons/jci/compilers/JavacJavaCompiler.java Sat Feb 24 07:37:03 2007
@@ -27,8 +27,8 @@
 	public JavacJavaCompiler() {
 		settings = null;
 	}
-	
-	
+
+
 	public JavacJavaCompiler( final JavacJavaCompilerSettings pSettings ) {
 		settings = pSettings;
 	}
@@ -37,11 +37,11 @@
 
 		try {
 			final ClassLoader cl = new JavacClassLoader(pClasspathClassLoader);
-	        final Class renamedClass = cl.loadClass("com.sun.tools.javac.Main");
-	
-	        FileInputStreamProxy.setResourceReader(pReader);
-	        FileOutputStreamProxy.setResourceStore(pStore);
-	        
+			final Class renamedClass = cl.loadClass("com.sun.tools.javac.Main");
+
+			FileInputStreamProxy.setResourceReader(pReader);
+			FileOutputStreamProxy.setResourceStore(pStore);
+
 			final Method compile = renamedClass.getMethod("compile", new Class[] { String[].class, PrintWriter.class });
 			final StringWriter out = new StringWriter();
 			final Integer ok = (Integer) compile.invoke(null, new Object[] { pSourcePaths, new PrintWriter(out) });
@@ -52,31 +52,13 @@
 				return new CompilationResult(new CompilationProblem[] {
 						new JavacCompilationProblem("Failure executing javac, but could not parse the error: " + out.toString(), true) });
 			}
-			
+
 			return result;
-			
+
 		} catch(Exception e) {
 			return new CompilationResult(new CompilationProblem[] {
 					new JavacCompilationProblem("Error while executing the compiler: " + e.toString(), true) });
 		}
-
-		
-		
-
-//		JavacClassLoader javacClassLoader = new JavacClassLoader(classPool,
-//				reader, store, baseClassLoader);
-//		ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
-//		Thread.currentThread().setContextClassLoader(javacClassLoader);
-//		try
-//		{
-//		}
-//		catch (Exception e)
-//		{
-//		}
-//		finally
-//		{
-//			Thread.currentThread().setContextClassLoader(oldLoader);
-//		}
 	}
 
 	private CompilationResult parseModernStream( final BufferedReader pReader ) throws IOException {
@@ -93,7 +75,7 @@
 				if (line == null) {
 					return new CompilationResult((CompilationProblem[]) problems.toArray(new CompilationProblem[problems.size()]));
 				}
-				
+
 				// TODO: there should be a better way to parse these
 				if (buffer.length() == 0 && line.startsWith(ERROR_PREFIX)) {
 					problems.add(new JavacCompilationProblem(line, true));
@@ -133,7 +115,7 @@
 				msg = msg.substring(WARNING_PREFIX.length());
 			}
 			msgBuffer.append(msg);
-			
+
 			String context = tokens.nextToken(EOL);
 			String pointer = tokens.nextToken(EOL);
 
@@ -183,33 +165,33 @@
 			if (settings.isOptimize()) {
 				args.add("-O");
 			}
-			
+
 			if (settings.isDebug()) {
 				args.add("-g");
 			}
-			
+
 			if (settings.isVerbose()) {
 				args.add("-verbose");
 			}
-			
+
 			if (settings.isShowDeprecation()) {
 				args.add("-deprecation");
 				// This is required to actually display the deprecation messages
 				settings.setShowWarnings(true);
 			}
-			
+
 			if (settings.getMaxmem() != null) {
 				args.add("-J-Xmx" + settings.getMaxmem());
 			}
-			
+
 			if (settings.getMeminitial() != null) {
 				args.add("-J-Xms" + settings.getMeminitial());
 			}
-			
+
 			if (!settings.isShowWarnings()) {
 				args.add("-nowarn");
 			}
-			
+
 			// TODO: this could be much improved
 			if (settings.getTargetVersion() != null) {
 				// Required, or it defaults to the target of your JDK (eg 1.5)
@@ -219,7 +201,7 @@
 				args.add("-target");
 				args.add(settings.getTargetVersion());
 			}
-			
+
 			// TODO suppressSource
 			if (settings.getSourceVersion() != null) {
 				// If omitted, later JDKs complain about a 1.1 target
@@ -229,7 +211,7 @@
 				args.add("-source");
 				args.add(settings.getSourceVersion());
 			}
-			
+
 			// TODO suppressEncoding
 			if (settings.getSourceEncoding() != null) {
 				args.add("-encoding");
@@ -238,7 +220,7 @@
 
 			// TODO CustomCompilerArguments
 		}
-		
+
 		return (String[]) args.toArray(new String[args.size()]);
 	}
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org