public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) {
boolean nonStatic = !this.binding.isStatic();
flowInfo = this.receiver.analyseCode(currentScope, flowContext, flowInfo, nonStatic).unconditionalInits();
if (nonStatic) {
this.receiver.checkNPE(currentScope, flowContext, flowInfo);
}
if (this.arguments != null) {
int length = this.arguments.length;
for (int i = 0; i < length; i++) {
flowInfo = this.arguments[i].analyseCode(currentScope, flowContext, flowInfo).unconditionalInits();
}
}
ReferenceBinding[] thrownExceptions;
if ((thrownExceptions = this.binding.thrownExceptions) != Binding.NO_EXCEPTIONS) {
if ((this.bits & ASTNode.Unchecked) != 0 && this.genericTypeArguments == null) {
thrownExceptions = currentScope.environment().convertToRawTypes(this.binding.original().thrownExceptions, true, true);
}
flowContext.checkExceptionHandlers(thrownExceptions, this, flowInfo.copy(), currentScope);
}
manageSyntheticAccessIfNecessary(currentScope, flowInfo);
return flowInfo;
}
/**