@Override public void visitLambdaExpression(LambdaExpressionTree lambdaExpressionTree) { nesting++; super.visitLambdaExpression(lambdaExpressionTree); nesting--; }
@Override public void visitLambdaExpression(LambdaExpressionTree lambdaExpressionTree) { nesting++; super.visitLambdaExpression(lambdaExpressionTree); nesting--; }
@Override public void visitLambdaExpression(LambdaExpressionTree lambdaExpressionTree) { nestingLevel.push(new ArrayDeque<>()); super.visitLambdaExpression(lambdaExpressionTree); nestingLevel.pop(); }
@Override public void visitLambdaExpression(LambdaExpressionTree lambdaExpressionTree) { nestingLevel.push(new ArrayDeque<>()); super.visitLambdaExpression(lambdaExpressionTree); nestingLevel.pop(); }
@Override public void visitLambdaExpression(LambdaExpressionTree tree) { //TODO resolve variables super.visitLambdaExpression(tree); registerType(tree, symbols.unknownType); }
@Override public void visitLambdaExpression(LambdaExpressionTree tree) { //TODO resolve variables super.visitLambdaExpression(tree); registerType(tree, Symbols.unknownType); }
@Override public void visitLambdaExpression(LambdaExpressionTree lambdaExpressionTree) { if(root.is(Tree.Kind.CLASS, Tree.Kind.ENUM, Tree.Kind.INTERFACE, Tree.Kind.ANNOTATION_TYPE, Tree.Kind.COMPILATION_UNIT) || lambdaExpressionTree.equals(root)) { blame.add(lambdaExpressionTree.arrowToken()); super.visitLambdaExpression(lambdaExpressionTree); } }
@Override public void visitLambdaExpression(LambdaExpressionTree lambdaExpressionTree) { if(root.is(Tree.Kind.CLASS, Tree.Kind.ENUM, Tree.Kind.INTERFACE, Tree.Kind.ANNOTATION_TYPE, Tree.Kind.COMPILATION_UNIT) || lambdaExpressionTree.equals(root)) { blame.add(lambdaExpressionTree.arrowToken()); super.visitLambdaExpression(lambdaExpressionTree); } }
@Override public void visitLambdaExpression(LambdaExpressionTree tree) { // Create new environment - this is required, because new scope is created createNewEnvironment(tree); super.visitLambdaExpression(tree); restoreEnvironment(tree); }
@Override public void visitLambdaExpression(LambdaExpressionTree tree) { // Create new environment - this is required, because new scope is created createNewEnvironment(tree); super.visitLambdaExpression(tree); restoreEnvironment(tree); }
@Override public void visitLambdaExpression(LambdaExpressionTree tree) { // Create new environment - this is required, because new scope is created createNewEnvironment(tree); super.visitLambdaExpression(tree); restoreEnvironment(tree); }
@Override public void visitLambdaExpression(LambdaExpressionTree lambdaExpressionTree) { //skip lambda if body is an assignment if(!lambdaExpressionTree.body().is(ASSIGNMENT_EXPRESSIONS)) { super.visitLambdaExpression(lambdaExpressionTree); } }
@Override public void visitLambdaExpression(LambdaExpressionTree tree) { // Create new environment - this is required, because new scope is created createNewEnvironment(tree); super.visitLambdaExpression(tree); restoreEnvironment(tree); }
@Override public void visitLambdaExpression(LambdaExpressionTree lambdaExpressionTree) { //skip lambda if body is an assignment if(!lambdaExpressionTree.body().is(ASSIGNMENT_EXPRESSIONS)) { super.visitLambdaExpression(lambdaExpressionTree); } }
@Override public void visitLambdaExpression(LambdaExpressionTree lambdaExpressionTree) { //skip lambda if body is an assignement if(!lambdaExpressionTree.body().is(Kind.ASSIGNMENT)) { super.visitLambdaExpression(lambdaExpressionTree); } }
@Override public void visitLambdaExpression(LambdaExpressionTree lambdaExpressionTree) { int lines = getNumberOfLines(((JavaTree) lambdaExpressionTree.body()).getAstNode()); if (lines > max) { context.addIssue(lambdaExpressionTree, this, "Reduce this lambda expression number of lines from " + lines + " to at most " + max + "."); } super.visitLambdaExpression(lambdaExpressionTree); }
@Override public void visitLambdaExpression(LambdaExpressionTree lambdaExpressionTree) { int lines = getNumberOfLines(lambdaExpressionTree); if (lines > max) { SyntaxToken firstToken = lambdaExpressionTree.firstToken(); SyntaxToken lastSyntaxToken = lambdaExpressionTree.lastToken(); JavaFileScannerContext.Location lastTokenLocation = new JavaFileScannerContext.Location(lines + " lines", lastSyntaxToken); context.reportIssue(this, firstToken, lambdaExpressionTree.arrowToken(), "Reduce this lambda expression number of lines from " + lines + " to at most " + max + ".", Lists.newArrayList(lastTokenLocation), null); } super.visitLambdaExpression(lambdaExpressionTree); }
@Override public void visitLambdaExpression(LambdaExpressionTree lambdaExpressionTree) { int lines = getNumberOfLines(lambdaExpressionTree); if (lines > max) { SyntaxToken firstToken = lambdaExpressionTree.firstToken(); SyntaxToken lastSyntaxToken = lambdaExpressionTree.lastToken(); JavaFileScannerContext.Location lastTokenLocation = new JavaFileScannerContext.Location(lines + " lines", lastSyntaxToken); context.reportIssue(this, firstToken, lambdaExpressionTree.arrowToken(), "Reduce this lambda expression number of lines from " + lines + " to at most " + max + ".", Lists.newArrayList(lastTokenLocation), null); } super.visitLambdaExpression(lambdaExpressionTree); }
@Override public void visitLambdaExpression(LambdaExpressionTree lambdaExpressionTree) { if (isBlockWithOneStatement(lambdaExpressionTree.body())) { String message = "Remove useless curly braces around statement"; if (singleStatementIsReturn(lambdaExpressionTree)) { message += " and then remove useless return keyword"; } context.addIssue(lambdaExpressionTree.body(), this, message); } super.visitLambdaExpression(lambdaExpressionTree); }
@Override public void visitLambdaExpression(LambdaExpressionTree tree) { if (isMethodInvocation(tree.body()) || isBlockInvokingMethod(tree.body())) { context.addIssue(tree, this, "Replace this lambda with a method reference."); } super.visitLambdaExpression(tree); }