This directory contains small examples to play with Infer. They each exhibit
one simple programming error that is caught by Infer.

Contents
--------

- `Hello.java`: try this example by running
```infer -- javac Hello.java ```

- `Hello.m`: try this example by running
  ```infer -- clang -c Hello.m```

- `hello.c`: try this example by running
  ```infer -- gcc -c hello.c```

  In this case, note that Infer captures the gcc command and runs
  clang instead to parse C files. Thus you may get compiler errors and
  warnings that differ from gcc's.

- `android_hello/`: a sample Android app. Try this example by running
  ```infer -- ./gradlew build```

  Make sure that you have the Android SDK 22 installed and up to date, and in
  particular the "Android SDK Build-tools" and "Android Support Repository".

- `c_hello/`: a sample make-based C project. Try this example by running
  ```infer -- make```

- `ios_hello/`: a sample iOS app. Try this example by running
  ```infer -- xcodebuild -target HelloWorldApp -configuration Debug -sdk iphonesimulator```

- java_hello/: a sample Java project. Try this example by running
  infer -- javac Pointers.java Resources.java Hello.java

Note
----

The infer toplevel command must be in your PATH for the commands above to
succeed. Otherwise, modify the commands to use the correct path to infer, eg
  ```../infer/bin/infer -- javac Hello.java```