FileReader 和 Blob 的 Closure Compiler 警告 - 无法修复

Closure Compiler warning for FileReader and Blob - cannot fix it

我通过高级优化的 Closure 编译器运行以下命令:

/**@type{Blob} */var blob = new Blob( ['[1,2]'], {type : 'text/html'} );
test(blob);


/** @param{Blob} a_blob */
function test(a_blob){
 /**@type{FileReader} */var filereader = new FileReader();
 filereader.onload = function(e){};
 filereader.readAsArrayBuffer(a_blob);
}

我得到:

WARNING - actual parameter 1 of FileReader.prototype.readAsArrayBuffer does not match formal parameter
found   : (Blob|null)
required: Blob
     filereader.readAsArrayBuffer(a_blob);
                                  ^

我该怎么做才能解决这个问题?这是 CC 中的错误吗?

不幸的是,Closure Compiler 假定所有对象类型都可以为空,除非您使用 !

另行告诉它
/** @param{!Blob} a_blob */
function test(a_blob){