/** * Checks whether an overlapping by local variable takes place. * * @param ast an identifier. * @return true if an overlapping by local variable takes place. */ private boolean isOverlappingByLocalVariable(DetailAST ast) { boolean overlapping = false; final DetailAST parent = ast.getParent(); final DetailAST sibling = ast.getNextSibling(); if (sibling != null && isAssignToken(parent.getType())) { final ClassFrame classFrame = (ClassFrame) findFrame(ast, true); if (classFrame != null) { final Set<DetailAST> exprIdents = getAllTokensOfType(sibling, TokenTypes.IDENT); if (classFrame.hasInstanceMember(ast)) { overlapping = classFrame.containsFieldOrVariableDef(exprIdents, ast); } } } return overlapping; }