[Clirr-devel] Patch to convert clirr-maven-plugin
Status: Alpha
Brought to you by:
lkuehne
From: Jochen W. <joc...@gm...> - 2009-03-30 21:34:14
|
Hi, in order to convert the clirr-maven-plugin to 0.7, I would beg to either apply the patch below or to advice me what other solutions I should choose. Thanks, Jochen P.S: What's the equivalent of Repository.storeClass in 0.7? Is it required? -- I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone. -- (Bjarne Stroustrup, http://www.research.att.com/~bs/bs_faq.html#really-say-that My guess: Nokia E50) ### Eclipse Workspace Patch 1.0 #P clirr Index: core/src/java/net/sf/clirr/core/internal/asm/Repository.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm/Repository.java,v retrieving revision 1.6 diff -u -r1.6 Repository.java --- core/src/java/net/sf/clirr/core/internal/asm/Repository.java 23 Sep 2008 21:18:06 -0000 1.6 +++ core/src/java/net/sf/clirr/core/internal/asm/Repository.java 30 Mar 2009 21:32:31 -0000 @@ -18,7 +18,7 @@ * * @author lkuehne */ -class Repository +public class Repository { private static final Pattern PRIMITIVE_PATTERN = Pattern.compile("(int|float|long|double|boolean|char|short|byte)"); private static final Pattern ARRAY_PATTERN = Pattern.compile("(\\[\\])+$"); Index: core/src/java/net/sf/clirr/core/internal/asm/AsmTypeArrayBuilder.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm/AsmTypeArrayBuilder.java,v retrieving revision 1.2 diff -u -r1.2 AsmTypeArrayBuilder.java --- core/src/java/net/sf/clirr/core/internal/asm/AsmTypeArrayBuilder.java 19 May 2007 12:05:29 -0000 1.2 +++ core/src/java/net/sf/clirr/core/internal/asm/AsmTypeArrayBuilder.java 30 Mar 2009 21:32:30 -0000 @@ -56,7 +56,7 @@ ZipEntry zipEntry = (ZipEntry) enumEntries.nextElement(); if (!zipEntry.isDirectory() && zipEntry.getName().endsWith(".class")) { - final AsmJavaType javaType = extractClass(repository, zipEntry, zip); + final JavaType javaType = extractClass(repository, zipEntry, zip); if (classSelector.isSelected(javaType)) { selected.add(javaType); @@ -70,17 +70,14 @@ return ret; } - - private AsmJavaType extractClass( + + private JavaType extractClass( Repository repository, ZipEntry zipEntry, ZipFile zip) throws CheckerException { - InputStream is = null; try { - is = zip.getInputStream(zipEntry); - - return repository.readJavaTypeFromStream(is); + return extractClass(repository, zip.getInputStream(zipEntry)); } catch (IOException ex) { @@ -88,21 +85,34 @@ "Cannot read " + zipEntry.getName() + " from " + zip.getName(), ex); } + } + + public JavaType extractClass( + Repository repository, InputStream stream) + throws IOException + { + InputStream is = null; + try + { + is = stream; + AsmJavaType result = repository.readJavaTypeFromStream(is); + is = null; + stream.close(); + return result; + } finally { if (is != null) { try { - is.close(); + stream.close(); } catch (IOException ex) { - throw new CheckerException("Cannot close " + zip.getName(), ex); + // Ignore this, throw the inner exception. } } } } - - } |