Checks that function recognized as constructor does not return primitive values. When called with new , this value will be lost and object will be returned instead. To avoid warnings, you can explicitly specify function's return type with @return tag.