@@ -62,13 +62,14 @@ public boolean isSingleton() {
6262 return false ;
6363 }
6464
65- protected Token processLambda (Token current , ListIterator <Token > iterator , Separator separator , BraceExprToken .Kind braceKind ) {
65+ protected Token processLambda (Token current , ListIterator <Token > iterator , Separator separator , BraceExprToken .Kind braceKind , boolean isStatic ) {
6666 LambdaStmtToken token = analyzer .generator (LambdaGenerator .class ).getToken (current , iterator , separator , braceKind );
6767
6868 ClosureStmtToken closureStmtToken = new ClosureStmtToken (current .getMeta ());
6969 closureStmtToken .setFunction (token .getFunction ());
7070 closureStmtToken .setOwnerClass (analyzer .getClazz ());
7171 closureStmtToken .setParentFunction (token .getParentFunction ());
72+ closureStmtToken .setStatic (isStatic );
7273 analyzer .registerClosure (closureStmtToken );
7374
7475 return closureStmtToken ;
@@ -1488,8 +1489,12 @@ else if (previous instanceof StaticAccessExprToken){
14881489 } else if (current instanceof FunctionStmtToken ) {
14891490 current = processClosure (current , next , iterator );
14901491 tokens .add (current );
1492+ } else if (current instanceof StaticExprToken && nextTokenAndPrev (iterator ) instanceof LambdaStmtToken ) {
1493+ current = nextToken (iterator );
1494+ current = processLambda (current , iterator , separator , closedBraceKind , true );
1495+ tokens .add (current );
14911496 } else if (current instanceof LambdaStmtToken ) {
1492- current = processLambda (current , iterator , separator , closedBraceKind );
1497+ current = processLambda (current , iterator , separator , closedBraceKind , false );
14931498 tokens .add (current );
14941499 } else if (current instanceof ListExprToken && isOpenedBrace (next , SIMPLE )){
14951500 current = processList (current , iterator , null , closedBraceKind , braceOpened );
0 commit comments