An important step in compile-time optimization of object-oriented languages with polymorphic and virtual functions is static determination of concrete types (classes) of variables referring to objects. This information is essential for identifying monomorphic call sites and hence opening opportunities for interprocedural optimizations. In this paper, we present an Static Single Assignment (SSA) based interprocedural static type analysis algorithm, which combines constant propagation and type propagation. This algorithm enhances Wegman and Zadeck's  sparse conditional constant propagation (SCC) algorithm to perform simultaneous type analysis on a modified-SSA representation of a object-oriented program. Due to synergy between constant and types propagation, the proposed algorithm detects more constants and provides more precise type information than the case wherein the two analysis are performed separately.