Next: , Previous: Objective-C Method Symbols, Up: Syntactic Symbols

10.2.11 Java Symbols

Java has a concept of anonymous classes which can look something like this:

      1:  @Test
      2:  public void watch(Observable o) {
      3:      @NonNull
      4:      Observer obs = new Observer() {
      5:          public void update(Observable o, Object arg) {
      6:              history.addElement(arg);
      7:          }
      8:      };
      9:      o.addObserver(obs);
      10: }

The brace following the new operator opens the anonymous class. Lines 5 and 8 are assigned the inexpr-class syntax, besides the inclass symbol used in normal classes. Thus, the class will be indented just like a normal class, with the added indentation given to inexpr-class. An inexpr-class syntactic element doesn't have an anchor position.

Line 2 is assigned the annotation-top-cont syntax, due to it being a continuation of a topmost introduction with an annotation symbol preceding the current line. Similarly, line 4 is assigned the annotation-var-cont syntax due to it being a continuation of a variable declaration where preceding the declaration is an annotation.