Added two phased analysis. In the first phase, the analysis generates all possible contexts from a given inital context. In addition to this, it also generates simple constraints (using <: or <=) and context-dependent constraints (such as C{x12}.f <: D{x14} where, without knowing what x12, one cannot proceed to solve. In the second phase, the analysis performs a fixed-point calucluation. Initially, the analysis gathers only simple constraints to solve. And then, the analysis applies the solution to the context-dependent constraints to generate new simple constraints. When a new set of simple constraints (including old ones) offers the same solution as the old one, the analysis stops. Otherwise, the analysis applies the new solution to the context-dependent constraints to go on.