code: private void checkReturnValue(Decl.FunctionOrMethod d, Environment last) {
  		if (d.match(Modifier.Native.class) == null && last != FlowTypeUtils.BOTTOM && d.getReturns().size() != 0) {
  			// In this case, code reaches the end of the function or method and,
  			// furthermore, that this requires a return value. To get here means
  			// that there was no explicit return statement given on at least one
  			// execution path.
  			syntaxError(d, MISSING_RETURN_STATEMENT);
  		}
  	}
docs: Check that a return value is provided when it is needed. For example, a
  return value is not required for a method that has no return type. Likewise,
  we don't expect one from a native method since there was no body to analyse.
  
  @param d
  @param last