@Override public void visitMethodReference(MethodReferenceTree methodReferenceTree) { MethodReferenceTreeImpl methodRefTree = (MethodReferenceTreeImpl) methodReferenceTree; if (methodRefTree.isTypeSet() && methodReferenceTree.typeArguments() == null) { resolve.getSamMethod((JavaType) methodRefTree.symbolType()).ifPresent(samMethod -> resolveMethodReference(samMethod, methodRefTree)); } else { // TODO : SONARJAVA-1663 : consider type arguments for method resolution and substitution scan(methodReferenceTree.typeArguments()); resolveAs(methodReferenceTree.expression(), JavaSymbol.VAR | JavaSymbol.TYP); registerType(methodRefTree, symbols.deferedType(methodRefTree)); } }
@Override public void visitMethodReference(MethodReferenceTree methodReferenceTree) { MethodReferenceTreeImpl methodRefTree = (MethodReferenceTreeImpl) methodReferenceTree; if (methodRefTree.isTypeSet() && methodReferenceTree.typeArguments() == null) { resolve.getSamMethod((JavaType) methodRefTree.symbolType()).ifPresent(samMethod -> resolveMethodReference(samMethod, methodRefTree)); } else { // TODO : SONARJAVA-1663 : consider type arguments for method resolution and substitution scan(methodReferenceTree.typeArguments()); resolveAs(methodReferenceTree.expression(), JavaSymbol.VAR | JavaSymbol.TYP); registerType(methodRefTree, symbols.deferedType(methodRefTree)); } }