Compiled from VacuumEnvironment.java
public synchronized class aima.agents.VacuumEnvironment extends aima.agents.GridEnvironment 
    /* ACC_SUPER bit set */
{
    static java.lang.Class class$aima$agents$Dirt;
    public aima.agents.VacuumEnvironment(aima.agents.AgentThing[],int,int,float);
    public float performanceMeasure(aima.agents.Agent);
    public void execute(aima.agents.Agent, aima.agents.Action);
    public aima.agents.Percept presentPercept(aima.agents.Agent);
    public static void main(java.lang.String[]);
}

Method aima.agents.VacuumEnvironment(aima.agents.AgentThing[],int,int,float)
   0 aload_0
   1 aload_1
   2 iload_2
   3 iload_3
   4 invokespecial #27 <Method aima.agents.GridEnvironment(aima.agents.AgentThing[],int,int)>
   7 aload_0
   8 invokevirtual #29 <Method aima.agents.GridEnvironment addWalls()>
  11 pop
  12 aload_0
  13 getstatic #32 <Field java.lang.Class class$aima$agents$Dirt>
  16 ifnull 25
  19 getstatic #32 <Field java.lang.Class class$aima$agents$Dirt>
  22 goto 34
  25 ldc #6 <String "aima.agents.Dirt">
  27 invokestatic #31 <Method java.lang.Class class$(java.lang.String)>
  30 dup
  31 putstatic #32 <Field java.lang.Class class$aima$agents$Dirt>
  34 fload 4
  36 invokevirtual #30 <Method void addWithProbability(java.lang.Class, float)>
  39 return

Method float performanceMeasure(aima.agents.Agent)
   0 aload_1
   1 checkcast #8 <Class aima.agents.AgentThing>
   4 astore_2
   5 iconst_0
   6 istore_3
   7 iconst_0
   8 istore 4
  10 goto 34
  13 aload_2
  14 getfield #33 <Field java.util.Vector contents>
  17 iload 4
  19 invokevirtual #34 <Method java.lang.Object elementAt(int)>
  22 instanceof #9 <Class aima.agents.Dirt>
  25 ifeq 31
  28 iinc 3 100
  31 iinc 4 1
  34 iload 4
  36 aload_2
  37 getfield #33 <Field java.util.Vector contents>
  40 invokevirtual #48 <Method int size()>
  43 if_icmplt 13
  46 aload_2
  47 getfield #42 <Field java.awt.Point location>
  50 aload_0
  51 getfield #49 <Field java.awt.Point start>
  54 invokevirtual #35 <Method boolean equals(java.lang.Object)>
  57 ifeq 66
  60 iinc_w 3 1000  66 iload_3
  67 aload_0
  68 getfield #50 <Field int step>
  71 isub
  72 i2f
  73 freturn

Method void execute(aima.agents.Agent, aima.agents.Action)
   0 aload_1
   1 checkcast #8 <Class aima.agents.AgentThing>
   4 astore_3
   5 aload_2
   6 invokeinterface (args 1) #39 <InterfaceMethod java.lang.String getName()>
  11 astore 4
  13 aload 4
  15 ldc #3 <String "Suck">
  17 invokevirtual #36 <Method boolean equalsIgnoreCase(java.lang.String)>
  20 ifeq 67
  23 aload_0
  24 getstatic #32 <Field java.lang.Class class$aima$agents$Dirt>
  27 ifnull 36
  30 getstatic #32 <Field java.lang.Class class$aima$agents$Dirt>
  33 goto 45
  36 ldc #6 <String "aima.agents.Dirt">
  38 invokestatic #31 <Method java.lang.Class class$(java.lang.String)>
  41 dup
  42 putstatic #32 <Field java.lang.Class class$aima$agents$Dirt>
  45 aload_3
  46 getfield #42 <Field java.awt.Point location>
  49 invokevirtual #38 <Method aima.agents.Thing findObjectOfType(java.lang.Class, java.awt.Point)>
  52 astore 5
  54 aload 5
  56 ifnull 89
  59 aload_0
  60 aload 5
  62 aload_3
  63 invokevirtual #44 <Method void placeInContainer(aima.agents.Thing, aima.agents.Thing)>
  66 return
  67 aload 4
  69 ldc #2 <String "Shut-Off">
  71 invokevirtual #36 <Method boolean equalsIgnoreCase(java.lang.String)>
  74 ifeq 83
  77 aload_3
  78 iconst_0
  79 putfield #40 <Field boolean isAlive>
  82 return
  83 aload_0
  84 aload_3
  85 aload_2
  86 invokespecial #37 <Method void execute(aima.agents.Agent, aima.agents.Action)>
  89 return

Method aima.agents.Percept presentPercept(aima.agents.Agent)
   0 aload_1
   1 checkcast #8 <Class aima.agents.AgentThing>
   4 astore_2
   5 aload_2
   6 getfield #42 <Field java.awt.Point location>
   9 astore_3
  10 new #16 <Class aima.agents.VacuumPercept>
  13 dup
  14 aload_2
  15 getfield #41 <Field boolean isBump>
  18 aload_0
  19 getstatic #32 <Field java.lang.Class class$aima$agents$Dirt>
  22 ifnull 31
  25 getstatic #32 <Field java.lang.Class class$aima$agents$Dirt>
  28 goto 40
  31 ldc #6 <String "aima.agents.Dirt">
  33 invokestatic #31 <Method java.lang.Class class$(java.lang.String)>
  36 dup
  37 putstatic #32 <Field java.lang.Class class$aima$agents$Dirt>
  40 aload_3
  41 invokevirtual #38 <Method aima.agents.Thing findObjectOfType(java.lang.Class, java.awt.Point)>
  44 ifnonnull 51
  47 iconst_0
  48 goto 52
  51 iconst_1
  52 aload_3
  53 aload_0
  54 getfield #49 <Field java.awt.Point start>
  57 invokevirtual #35 <Method boolean equals(java.lang.Object)>
  60 invokespecial #26 <Method aima.agents.VacuumPercept(boolean,boolean,boolean)>
  63 areturn

Method void main(java.lang.String[])
   0 getstatic #43 <Field java.io.PrintStream out>
   3 ldc #4 <String "Wow!!">
   5 invokevirtual #45 <Method void println(java.lang.String)>
   8 new #8 <Class aima.agents.AgentThing>
  11 dup
  12 new #15 <Class aima.agents.VacuumEnvironment$1>
  15 dup
  16 invokespecial #24 <Method aima.agents.VacuumEnvironment$1()>
  19 invokespecial #25 <Method aima.agents.AgentThing(aima.agents.AgentProgram)>
  22 astore_1
  23 iconst_1
  24 anewarray class #8 <Class aima.agents.AgentThing>
  27 dup
  28 iconst_0
  29 aload_1
  30 aastore
  31 astore_2
  32 new #14 <Class aima.agents.VacuumEnvironment>
  35 dup
  36 aload_2
  37 bipush 10
  39 bipush 10
  41 ldc #1 <Real 0.25>
  43 invokespecial #28 <Method aima.agents.VacuumEnvironment(aima.agents.AgentThing[],int,int,float)>
  46 astore_3
  47 new #12 <Class aima.agents.GridFrame>
  50 dup
  51 invokespecial #23 <Method aima.agents.GridFrame()>
  54 invokevirtual #47 <Method void show()>
  57 getstatic #43 <Field java.io.PrintStream out>
  60 ldc #5 <String "about to run">
  62 invokevirtual #45 <Method void println(java.lang.String)>
  65 aload_3
  66 bipush 10
  68 invokevirtual #46 <Method aima.agents.Environment run(int)>
  71 pop
  72 aload_3
  73 iconst_0
  74 invokevirtual #46 <Method aima.agents.Environment run(int)>
  77 pop
  78 return