home *** CD-ROM | disk | FTP | other *** search
- package sun.activator.plugin.win32;
-
- import java.io.FilterReader;
- import java.io.IOException;
- import java.io.Reader;
-
- public class RemoveCommentReader extends FilterReader {
- boolean inComment1 = false;
- boolean inComment2 = false;
-
- public RemoveCommentReader(Reader var1) {
- super(var1);
- }
-
- public int read() throws IOException {
- char[] var1 = new char[1];
- int var2 = this.read(var1, 0, 1);
- return var2 == -1 ? -1 : var1[0];
- }
-
- public int read(char[] var1, int var2, int var3) throws IOException {
- int var4;
- int var5;
- for(var4 = 0; var4 == 0; var4 = var5 - var2) {
- var4 = super.in.read(var1, var2, var3);
- if (var4 == -1) {
- return -1;
- }
-
- var5 = var2;
-
- for(int var6 = var2; var6 < var2 + var4; ++var6) {
- if (!this.inComment1 && !this.inComment2) {
- if (var1[var6] == '/') {
- if (var1[var6 + 1] == '/') {
- this.inComment1 = true;
- ++var6;
- continue;
- }
-
- if (var1[var6 + 1] == '*') {
- this.inComment2 = true;
- ++var6;
- continue;
- }
- }
-
- if (Character.isWhitespace(var1[var6])) {
- var1[var5++] = ' ';
- } else {
- var1[var5++] = var1[var6];
- }
- } else if (this.inComment1) {
- if (var1[var6] == '\n') {
- this.inComment1 = false;
- }
- } else if (this.inComment2 && var1[var6] == '*' && var1[var6 + 1] == '/') {
- this.inComment2 = false;
- ++var6;
- }
- }
- }
-
- return var4;
- }
- }
-