Do not call getInitializer() for variables before it is needed when computing compile time constants
Remove AST query in DescriptorResolver#resolvePrimaryConstructorParameterToAProperty()
Use hasInitializer() instead of getInitializer() in DescriptorResolver
Introduce JetParameter#hasDefaultValue() and use it instead of getDefaultValue() where appropriate
JetPropertyAccessor#isGetter(), isSetter(), hasBody(), getReturnTypeReference() by stub
Stubs for JetInitializerList
JetEnumEntry#getDelegationSpecifiers() by stub
JetFunctionTypeReceiver#getTypeReference() by stub
Do not invoke getDelegateExpression before it is needed
Get parent by stub in PsiCodegenPredictor
Get parent by stub in LazyTypeParameterDescriptor
Get parent by stub in DescriptorResolver
Get parent by stub in ScopeProvider
Add LazyResolveByStubTest

Tests that lazy resolve uses stubs instead of AST
Mark test data files for cases which can't be resolved without AST access
Add explicit return types to several test data files so that AST access is not needed

Test cases are chosen so that addition/removal of explicit type will not interfere with the original purpose of the test
JetInitializerList#getInitializers() by stub
Minor: use getBody() in JetObjectDeclaration instead of obtaining it manually
Avoid accessing stubs in JetFileStubBuilder

Probable fix of SOE in file stub building
Refactor AbstractMultiFileJvmBasicCompletionTest to extend CompletionTestCase

Extract common code from JetFixtureCompletionBaseTestCase to CompletionTestUtil.kt
Reason for this change is that I couldn't get the check that prohibits tree loading to work with fixture test case