You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

121 lines
2.1 KiB

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
package java.source.parser;
public class Main {
// Tests for annotations
static interface Interface {
public Object foo();
}
@ExampleCustomAnnotation(name = "Chaitanya", address = "Agra, India")
class AnnotatedClass {
@Deprecated
void method1() {
return;
}
@SuppressWarnings("deprecation")
void method2() {
return;
}
}
static class Impl implements Interface {
@Override
public Object foo() {
return null;
}
}
// tests for anonymous inner classes
static class MyThread {
MyThread(Object o) {}
public static void main(String[] args) {
Thread t1 =
new Thread() {
public void run() {
System.out.println("Child Thread");
}
};
t1.start();
Thread t2 =
new Thread(
new Runnable() {
public void run() {
System.out.println("Child Thread");
}
});
t2.start();
// nested anonymous classes
MyThread mt =
new MyThread(
new Object() {
private int counter;
int get_counter() {
return this.counter;
}
}) {
private String label;
String get_label() {
return this.label;
}
};
}
}
// tests for enum
public enum Block {
NONE(""),
WALL("Wall") {
@Override
public boolean good() {
return true;
}
},
PIT("Pit") {
@Override
public boolean good() {
return true;
}
},
FOG("Fog") {
@Override
public boolean good() {
return true;
}
};
private class C {};
private String name;
private Block(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public boolean good() {
return false;
}
}
}