blob: 23bc50bb26811d7c00f54f6a355fef3c4839021b [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
import java.util.*;
public class Breakpoints implements IBreakpoints {
static {
new Vector(1);
System.out.println("Initializer");
}
public class InnerBreakpoints {
public void innerInstanceMethod() {
System.out.println("inner instance");
}
}
Enumeration myNamedEnumerate(final Object array[]) {
final int count[] = {0}; // final reference to mutable array
class E implements Enumeration {
public boolean hasMoreElements(){
return count[0] < array.length;
}
public Object nextElement(){
return array[count[0]++];
}
}
return new E();
}
Enumeration myAnonymousEnumerate(final Object array[]) {
return new Enumeration() {
int count = 0;
public boolean hasMoreElements(){
return count < array.length;
}
public Object nextElement(){
return array[count++];
}
};
}
public static void main (String[] args) {
threading();
Breakpoints bp= new Breakpoints();
bp.instanceMethod();
bp.instanceMethod2();
}
public class InnerRunnable implements Runnable {
public void run() {
System.out.println("Threading");
}
}
public static boolean threading() {
try {
Thread runner = new Thread(new Breakpoints().new InnerRunnable(), "BreakpointsThread");
runner.setPriority(Thread.MIN_PRIORITY);
runner.start();
runner.join();
} catch (InterruptedException ie) {
}
return false;
}
public Breakpoints() {
super();
System.out.println("Constructor");
}
public void instanceMethod() {
if (true) {
System.out.println("If");
} else {
System.out.println("Can't get here");
}
if (false) {
System.out.println("Can't get here");
} else {
System.out.println("Else");
}
int i;
for (i= 0; i < 3; i++) {
System.out.println("for");
}
while (i < 6) {
System.out.println("while");
i++;
}
{
System.out.println("block");
}
}
public void instanceMethod2() {
int count= 0;
do {
System.out.println("dowhile");
count++;
} while (count < 5);
try {
Vector v= new Vector(1);
v.firstElement();
} catch (NoSuchElementException nsee) {
System.out.println("catch block");
} finally {
System.out.println("finally after catch");
}
try {
new Vector(1);
System.out.println("try");
} catch (NoSuchElementException nsee) {
} finally {
System.out.println("finally after try");
}
switch (count) {
case 5:
System.out.println("switch");
break;
}
switch (count) {
case 3:
break;
default:
System.out.println("switch default");
}
Object lock= new Object();
synchronized (lock) {
System.out.println("synchronized");
}
InnerBreakpoints ibp= new InnerBreakpoints();
ibp.innerInstanceMethod();
String[] array= {"1", "2", "3"};
Enumeration myNamed= myNamedEnumerate(array);
myNamed.hasMoreElements();
Enumeration myAnonymous= myAnonymousEnumerate(array);
myAnonymous.hasMoreElements();
ibp.innerInstanceMethod();
}
}