Interface for modules which are capable of resolving the type of an expression. Several implementations are available, depending on whether you are in a dynamic or static compilation mode.
Resolve the type of an expression. Depending on the implementations, the returned type may be the declared type or an inferred type.
expression- the expression for which the type must be returned.
classNode- the classnode this expression belongs to