void (@NotNull GrAssignmentExpression expression) { GrExpression lValue = expression.getLValue(); if (expression.isOperatorAssignment() || expression.getOperationTokenType() == T_ELVIS_ASSIGN) { if (lValue instanceof GrReferenceExpression && myPolicy.isReferenceAccepted((GrReferenceExpression)lValue)) { VariableDescriptor descriptor = createDescriptor((GrReferenceExpression)lValue); if (descriptor != null) { addNodeAndCheckPending(new ReadWriteVariableInstruction(getDescriptorId(descriptor), lValue, ReadWriteVariableInstruction.READ)); } } } GrExpression rValue = expression.getRValue(); if (rValue != null) { rValue.accept(this); } lValue.accept(this); }