r2503 - trunk/jaxx-compiler/src/main/java/jaxx/compiler/reflect/resolvers
Author: tchemit Date: 2012-10-10 22:26:05 +0200 (Wed, 10 Oct 2012) New Revision: 2503 Url: http://nuiton.org/repositories/revision/jaxx/2503 Log: fixes #2343: Can not use in a jaxx file some java file as soon they extends some other classes Modified: trunk/jaxx-compiler/src/main/java/jaxx/compiler/reflect/resolvers/ClassDescriptorResolverFromJavaFile.java Modified: trunk/jaxx-compiler/src/main/java/jaxx/compiler/reflect/resolvers/ClassDescriptorResolverFromJavaFile.java =================================================================== --- trunk/jaxx-compiler/src/main/java/jaxx/compiler/reflect/resolvers/ClassDescriptorResolverFromJavaFile.java 2012-10-07 16:59:00 UTC (rev 2502) +++ trunk/jaxx-compiler/src/main/java/jaxx/compiler/reflect/resolvers/ClassDescriptorResolverFromJavaFile.java 2012-10-10 20:26:05 UTC (rev 2503) @@ -42,7 +42,6 @@ import org.apache.commons.logging.LogFactory; import java.io.IOException; -import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.lang.reflect.Modifier; @@ -76,16 +75,14 @@ ClassLoader classLoader = getClassLoader(); try { - InputStream in = source.openStream(); - ClassDescriptor result; - Reader reader = new InputStreamReader(in, "utf-8"); + Reader reader = new InputStreamReader(source.openStream(), "utf-8"); try { String displayName = source.toString(); if (log.isDebugEnabled()) { log.debug("for source " + displayName); } - JavaFileParser parser = new JavaFileParser(classLoader); + JavaFileParser parser = new JavaFileParser(classLoader); if (log.isDebugEnabled()) { log.debug("starting parsing : " + displayName); } @@ -95,13 +92,14 @@ // log.error(e.getMessage()); throw new RuntimeException(e); } - result = new JavaFileClassDescriptor(parser, classLoader); + ClassDescriptor result = + new JavaFileClassDescriptor(parser, classLoader); + return result; } finally { reader.close(); } - return result; } catch (IOException e) { throw new ClassNotFoundException( "Could not resolv descriptor from source " + source, @@ -315,8 +313,9 @@ break; case JavaParserTreeConstants.JJTIMPORTDECLARATION: String text = child.getText().trim(); - if (text.startsWith("import")) { - text = text.substring("import".length()).trim(); + int importIndex = text.indexOf("import"); + if (importIndex>-1) { + text = text.substring(importIndex + "import".length()).trim(); } if (text.endsWith(";")) { text = text.substring(0, text.length() - 1);
participants (1)
-
tchemit@users.nuiton.org