Exemplo n.º 1
0
  @Override
  public void leaveToken(DetailAST ast) {
    if (ast.getType() != TokenTypes.CLASS_DEF) {
      return;
    }

    final ClassDesc desc = classes.pop();
    if (!desc.isDeclaredAsFinal()
        && !desc.isDeclaredAsAbstract()
        && desc.isWithPrivateCtor()
        && !desc.isWithNonPrivateCtor()) {
      final String className = ast.findFirstToken(TokenTypes.IDENT).getText();
      log(ast.getLineNo(), MSG_KEY, className);
    }
  }
Exemplo n.º 2
0
 public String toString() {
   return "[array "
       + JDeserialize.hex(handle)
       + " classdesc "
       + classdesc.toString()
       + ": "
       + data.toString()
       + "]";
 }
Exemplo n.º 3
0
  @Override
  public void visitToken(DetailAST ast) {
    final DetailAST modifiers = ast.findFirstToken(TokenTypes.MODIFIERS);

    if (ast.getType() == TokenTypes.CLASS_DEF) {
      final boolean isFinal = modifiers.branchContains(TokenTypes.FINAL);
      final boolean isAbstract = modifiers.branchContains(TokenTypes.ABSTRACT);
      classes.push(new ClassDesc(isFinal, isAbstract));
    }
    // ctors in enums don't matter
    else if (!ScopeUtils.isInEnumBlock(ast)) {
      final ClassDesc desc = classes.peek();
      if (modifiers.branchContains(TokenTypes.LITERAL_PRIVATE)) {
        desc.reportPrivateCtor();
      } else {
        desc.reportNonPrivateCtor();
      }
    }
  }