Actually, there is a return statement, and it uses a really ugly
side-effect, as you can see from the following stripped down example:

import java.util.*;
import java.net.*;

public class test {

    public Collection f(String arg) {
        List servers = new ArrayList();
        try {
            servers = new ArrayList();
            return Collections.unmodifiableCollection(servers);
        }
        finally {
            servers.add("finally");
        }
    }

    public test(String[] args) {
        System.out.println(f(args[0]));
    }

    public static void main(String[] args) {
        test t = new test(args);
    }
}

There is an extraneous "new ArrayList()" above, which is also present in the
live code, and that should be fixed.

        -- Noel


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to