TopDownAnalyzer supports lazy mode
Minor. ClassDescriptorWithResolutionScopes instead of MutableClassDescriptor
Package directives resolved in lazy TDA
Files in TopDownAnalysisContext are stored explicitly

To avoid the necessity of registering mutable package fragments in order to register files
CONSTRUCTOR_IN_TRAIT check moved to DeclarationsChecker
Forced resolution improved to handle type parameter bounds
DelegatingType extracted
checkSupertypesForConsistency() moved to declarations checker
checkModifiersAndAnnotationsInPackageDirectives() moved to DeclarationsChecker
ANNOTATION_CLASS_WITH_BODY reported in DeclarationsChecker
MISSING_VAL_ON_ANNOTATION_PARAMETER reported in DeclarationsChecker
Import directives are resolved in lazy mode
Do not process annotations twice in LAZY mode
Report UNSUPPORTED on annotations on type parameters of classes
Report MANY_CLASS_OBJECTS upon traversing PSI
Report CLASS_OBJECT_NOT_ALLOWED in LazyClassDescriptor
getDeclaredCallableMembers() fixed for lazy classes

Otherwise synthesized members were not included
More precise return type in ClassDescriptorWithResolutionScopes.getClassObjectDescriptor()
Redeclaration check supported in LAZY mode
Register properties declared in primary constructors in c.getMembers()