/* * Copyright (c) 2017-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ package codetoanalyze.java.checkers; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class LeaksInterprocedural { FileInputStream returnResourceOk() throws IOException, FileNotFoundException { return new FileInputStream("file.txt"); } FileInputStream returnResourceWrapperOk() throws IOException, FileNotFoundException { return returnResourceOk(); } void returnResourceThenCloseOk() throws IOException, FileNotFoundException { returnResourceWrapperOk().close(); } int returnResourceThenLeakBad() throws IOException, FileNotFoundException { returnResourceWrapperOk(); // warning return 0; } }