add PCLOC annotations. all three benchmarks are type-checked now.
[IRC.git] / Robust / src / Benchmarks / SSJava / EyeTracking / LEAImplementation.java
index 4b7fc10d89f6493e75aa5f8f7c54aee67733c963..cf564ff1b0bf8e51f291ce4fc6b583d63910d224 100644 (file)
@@ -37,12 +37,15 @@ public class LEAImplementation {
   }
 
   @LATTICE("OUT<V,V<THIS,THIS<IN,V*,THISLOC=THIS,RETURNLOC=OUT")
+  @PCLOC("THIS")
   public FaceAndEyePosition getEyePosition(@LOC("IN") Image image) {
     if (image == null)
       return null;
-
     @LOC("THIS,LEAImplementation.R") Rectangle2D faceRect =
         classifierTree.locateFaceRadial(image, lastRectangle);
+    if (faceRect.getWidth() > image.getWidth() || faceRect.getHeight() > image.getHeight()) {
+      return null;
+    }
     @LOC("V") EyePosition eyePosition = null;
     if (faceRect != null) {
       lastRectangle = faceRect;
@@ -59,7 +62,8 @@ public class LEAImplementation {
     return new FaceAndEyePosition(lastRectangle, eyePosition);
   }
 
-  @LATTICE("OUT<IN,OUT<THIS,THISLOC=THIS,RETURNLOC=OUT")
+  @LATTICE("OUT<P,P<IN,OUT<THIS,THISLOC=THIS,RETURNLOC=OUT")
+  @PCLOC("P")
   private Point readEyes(@LOC("IN") Image image, @LOC("IN") Rectangle2D rect) {
     @LOC("OUT") EyeDetector ed = new EyeDetector(image, rect);
     return ed.detectEye();