bodewig 2003/03/27 09:03:13
Modified: src/etc/testcases/filters/expected stripjavacomments.test
src/main/org/apache/tools/ant/filters StripJavaComments.java
Log:
<stripjavacomments> would consider // inside String constants comments.
PR: 17441
Submitted by: Jan Materne <jan at materne dot de>
Revision Changes Path
1.2 +1 -1
ant/src/etc/testcases/filters/expected/stripjavacomments.test
Index: stripjavacomments.test
===================================================================
RCS file:
/home/cvs/ant/src/etc/testcases/filters/expected/stripjavacomments.test,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- stripjavacomments.test 27 Mar 2003 16:54:00 -0000 1.1
+++ stripjavacomments.test 27 Mar 2003 17:03:12 -0000 1.2
@@ -14,6 +14,6 @@
}
private String url = "http://ant.apache.org/";
- private String url2 = "\"http://ant.apache.org/\"";
+ private String url2 = "\"http://ant.apache.org/\"";
}
1.9 +11 -2
ant/src/main/org/apache/tools/ant/filters/StripJavaComments.java
Index: StripJavaComments.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/filters/StripJavaComments.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- StripJavaComments.java 10 Feb 2003 14:13:32 -0000 1.8
+++ StripJavaComments.java 27 Mar 2003 17:03:13 -0000 1.9
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2002 The Apache Software Foundation. All rights
+ * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -80,6 +80,11 @@
*/
private boolean inString = false;
+ /**
+ * Whether or not the last char has been a backslash.
+ */
+ private boolean quoted = false;
+
/**
* Constructor for "dummy" instances.
*
@@ -116,9 +121,13 @@
readAheadCh = -1;
} else {
ch = in.read();
- if (ch == '"') {
+ if (ch == '"' && !quoted) {
inString = !inString;
+ quoted = false;
+ } else if (ch == '\\') {
+ quoted = !quoted;
} else {
+ quoted = false;
if (!inString) {
if (ch == '/') {
ch = in.read();