Getting rid of Computable and Function in lazy values and memoized functions
This commit is contained in:
committed by
Alexander Udalov
parent
4d28dfada6
commit
7d1c46ed2c
+1
-1
@@ -58,7 +58,7 @@ public abstract class AbstractDescriptorFinder implements DescriptorFinder {
|
||||
@Nullable
|
||||
@Override
|
||||
public ClassDescriptor findClass(@NotNull ClassId classId) {
|
||||
return findClass.fun(classId);
|
||||
return findClass.invoke(classId);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
+3
-3
@@ -136,7 +136,7 @@ public class TypeDeserializer {
|
||||
private TypeConstructor typeConstructor(@NotNull ProtoBuf.Type.Constructor proto) {
|
||||
switch (proto.getKind()) {
|
||||
case CLASS:
|
||||
ClassDescriptor classDescriptor = classDescriptors.fun(proto.getId());
|
||||
ClassDescriptor classDescriptor = classDescriptors.invoke(proto.getId());
|
||||
if (classDescriptor == null) return null;
|
||||
|
||||
return classDescriptor.getTypeConstructor();
|
||||
@@ -227,7 +227,7 @@ public class TypeDeserializer {
|
||||
@NotNull
|
||||
@Override
|
||||
public TypeConstructor getConstructor() {
|
||||
return constructor.compute();
|
||||
return constructor.invoke();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -254,7 +254,7 @@ public class TypeDeserializer {
|
||||
@NotNull
|
||||
@Override
|
||||
public JetScope getMemberScope() {
|
||||
return memberScope.compute();
|
||||
return memberScope.invoke();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+7
-7
@@ -151,7 +151,7 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme
|
||||
@NotNull
|
||||
@Override
|
||||
public DeclarationDescriptor getContainingDeclaration() {
|
||||
return containingDeclaration.compute();
|
||||
return containingDeclaration.invoke();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -201,7 +201,7 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme
|
||||
|
||||
@Override
|
||||
public List<AnnotationDescriptor> getAnnotations() {
|
||||
return annotations.compute();
|
||||
return annotations.invoke();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -226,7 +226,7 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme
|
||||
@Nullable
|
||||
@Override
|
||||
public ConstructorDescriptor getUnsubstitutedPrimaryConstructor() {
|
||||
return primaryConstructor.compute();
|
||||
return primaryConstructor.invoke();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -306,7 +306,7 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme
|
||||
@Nullable
|
||||
@Override
|
||||
public ClassDescriptor getClassObjectDescriptor() {
|
||||
return classObjectDescriptor.compute();
|
||||
return classObjectDescriptor.invoke();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -463,7 +463,7 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme
|
||||
@Nullable
|
||||
@Override
|
||||
protected ClassifierDescriptor getClassDescriptor(@NotNull Name name) {
|
||||
return classDescriptor.nestedClasses.findClass.fun(name);
|
||||
return classDescriptor.nestedClasses.findClass.invoke(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -474,7 +474,7 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme
|
||||
@Nullable
|
||||
@Override
|
||||
public ClassDescriptor getObjectDescriptor(@NotNull Name name) {
|
||||
return classDescriptor.nestedObjects.findClass.fun(name);
|
||||
return classDescriptor.nestedObjects.findClass.invoke(name);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -504,7 +504,7 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme
|
||||
public Collection<ClassDescriptor> getAllDescriptors() {
|
||||
Collection<ClassDescriptor> result = new ArrayList<ClassDescriptor>(declaredNames.size());
|
||||
for (Name name : declaredNames) {
|
||||
ClassDescriptor descriptor = findClass.fun(name);
|
||||
ClassDescriptor descriptor = findClass.invoke(name);
|
||||
if (descriptor != null) {
|
||||
result.add(descriptor);
|
||||
}
|
||||
|
||||
+4
-4
@@ -143,7 +143,7 @@ public abstract class DeserializedMemberScope implements JetScope {
|
||||
@NotNull
|
||||
@Override
|
||||
public final Collection<FunctionDescriptor> getFunctions(@NotNull Name name) {
|
||||
return functions.fun(name);
|
||||
return functions.invoke(name);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -160,7 +160,7 @@ public abstract class DeserializedMemberScope implements JetScope {
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<VariableDescriptor> getProperties(@NotNull Name name) {
|
||||
return properties.fun(name);
|
||||
return properties.invoke(name);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -184,7 +184,7 @@ public abstract class DeserializedMemberScope implements JetScope {
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<ClassDescriptor> getObjectDescriptors() {
|
||||
return objectDescriptors.compute();
|
||||
return objectDescriptors.invoke();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -231,7 +231,7 @@ public abstract class DeserializedMemberScope implements JetScope {
|
||||
@NotNull
|
||||
@Override
|
||||
public final Collection<DeclarationDescriptor> getAllDescriptors() {
|
||||
return allDescriptors.compute();
|
||||
return allDescriptors.invoke();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -45,7 +45,7 @@ class ImportsProvider {
|
||||
|
||||
@NotNull
|
||||
public List<JetImportDirective> getImports(@NotNull Name name) {
|
||||
return importsCacheValue.compute().getImports(name);
|
||||
return importsCacheValue.invoke().getImports(name);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -234,7 +234,7 @@ public class LazyImportScope implements JetScope {
|
||||
|
||||
@NotNull
|
||||
private JetScope getImportScope(JetImportDirective directive, LookupMode lookupMode) {
|
||||
return importedScopesProvider.fun(directive).scopeForMode(lookupMode);
|
||||
return importedScopesProvider.invoke(directive).scopeForMode(lookupMode);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
@@ -65,7 +65,7 @@ public class ScopeProvider {
|
||||
|
||||
@NotNull
|
||||
public JetScope getFileScope(JetFile file) {
|
||||
return fileScopes.fun(file);
|
||||
return fileScopes.invoke(file);
|
||||
}
|
||||
|
||||
private JetScope createFileScope(JetFile file) {
|
||||
@@ -88,7 +88,7 @@ public class ScopeProvider {
|
||||
packageDescriptor.getMemberScope(),
|
||||
rootPackageDescriptor.getMemberScope(),
|
||||
importsScope,
|
||||
defaultImportsScope.compute());
|
||||
defaultImportsScope.invoke());
|
||||
}
|
||||
|
||||
private JetScope createScopeWithDefaultImports() {
|
||||
|
||||
+1
-1
@@ -106,7 +106,7 @@ public class FilteringClassLikeInfo implements JetClassLikeInfo {
|
||||
@Override
|
||||
@NotNull
|
||||
public List<JetDeclaration> getDeclarations() {
|
||||
return filteredDeclarations.compute();
|
||||
return filteredDeclarations.invoke();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+4
-4
@@ -84,24 +84,24 @@ public abstract class AbstractPsiBasedDeclarationProvider implements Declaration
|
||||
|
||||
@Override
|
||||
public List<JetDeclaration> getAllDeclarations() {
|
||||
return index.compute().allDeclarations;
|
||||
return index.invoke().allDeclarations;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public List<JetNamedFunction> getFunctionDeclarations(@NotNull Name name) {
|
||||
return Lists.newArrayList(index.compute().functions.get(name));
|
||||
return Lists.newArrayList(index.invoke().functions.get(name));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public List<JetProperty> getPropertyDeclarations(@NotNull Name name) {
|
||||
return Lists.newArrayList(index.compute().properties.get(name));
|
||||
return Lists.newArrayList(index.invoke().properties.get(name));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<JetClassOrObject> getClassOrObjectDeclarations(@NotNull Name name) {
|
||||
return index.compute().classesAndObjects.get(name);
|
||||
return index.invoke().classesAndObjects.get(name);
|
||||
}
|
||||
}
|
||||
|
||||
+7
-7
@@ -102,7 +102,7 @@ public class FileBasedDeclarationProviderFactory implements DeclarationProviderF
|
||||
}
|
||||
|
||||
/*package*/ boolean isPackageDeclaredExplicitly(@NotNull FqName packageFqName) {
|
||||
return index.compute().declaredPackages.contains(packageFqName);
|
||||
return index.invoke().declaredPackages.contains(packageFqName);
|
||||
}
|
||||
|
||||
/*package*/ boolean isPackageDeclared(@NotNull FqName packageFqName) {
|
||||
@@ -110,7 +110,7 @@ public class FileBasedDeclarationProviderFactory implements DeclarationProviderF
|
||||
}
|
||||
|
||||
/*package*/ Collection<FqName> getAllDeclaredSubPackagesOf(@NotNull final FqName parent) {
|
||||
return Collections2.filter(index.compute().declaredPackages, new Predicate<FqName>() {
|
||||
return Collections2.filter(index.invoke().declaredPackages, new Predicate<FqName>() {
|
||||
@Override
|
||||
public boolean apply(FqName fqName) {
|
||||
return !fqName.isRoot() && fqName.parent().equals(parent);
|
||||
@@ -124,9 +124,9 @@ public class FileBasedDeclarationProviderFactory implements DeclarationProviderF
|
||||
}
|
||||
|
||||
Collection<NavigatablePsiElement> resultElements = Lists.newArrayList();
|
||||
for (FqName declaredPackage : index.compute().filesByPackage.keys()) {
|
||||
for (FqName declaredPackage : index.invoke().filesByPackage.keys()) {
|
||||
if (QualifiedNamesUtil.isSubpackageOf(declaredPackage, fqName)) {
|
||||
Collection<JetFile> files = index.compute().filesByPackage.get(declaredPackage);
|
||||
Collection<JetFile> files = index.invoke().filesByPackage.get(declaredPackage);
|
||||
resultElements.addAll(ContainerUtil.map(files, new Function<JetFile, NavigatablePsiElement>() {
|
||||
@Override
|
||||
public NavigatablePsiElement fun(JetFile file) {
|
||||
@@ -141,7 +141,7 @@ public class FileBasedDeclarationProviderFactory implements DeclarationProviderF
|
||||
|
||||
@Override
|
||||
public PackageMemberDeclarationProvider getPackageMemberDeclarationProvider(@NotNull FqName packageFqName) {
|
||||
return packageDeclarationProviders.fun(packageFqName);
|
||||
return packageDeclarationProviders.invoke(packageFqName);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -153,13 +153,13 @@ public class FileBasedDeclarationProviderFactory implements DeclarationProviderF
|
||||
return null;
|
||||
}
|
||||
|
||||
return new FileBasedPackageMemberDeclarationProvider(storageManager, packageFqName, this, index.compute().filesByPackage.get(packageFqName));
|
||||
return new FileBasedPackageMemberDeclarationProvider(storageManager, packageFqName, this, index.invoke().filesByPackage.get(packageFqName));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public ClassMemberDeclarationProvider getClassMemberDeclarationProvider(@NotNull JetClassLikeInfo classLikeInfo) {
|
||||
if (!index.compute().filesByPackage.containsKey(classLikeInfo.getContainingPackageFqName())) {
|
||||
if (!index.invoke().filesByPackage.containsKey(classLikeInfo.getContainingPackageFqName())) {
|
||||
throw new IllegalStateException("This factory doesn't know about this class: " + classLikeInfo);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -71,7 +71,7 @@ public class FileBasedPackageMemberDeclarationProvider extends AbstractPsiBasedD
|
||||
|
||||
@Override
|
||||
public Collection<FqName> getAllDeclaredPackages() {
|
||||
return allDeclaredPackages.compute();
|
||||
return allDeclaredPackages.invoke();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
+7
-7
@@ -126,12 +126,12 @@ public abstract class AbstractLazyMemberScope<D extends DeclarationDescriptor, D
|
||||
|
||||
@Override
|
||||
public ClassifierDescriptor getClassifier(@NotNull Name name) {
|
||||
return first(classDescriptors.fun(name));
|
||||
return first(classDescriptors.invoke(name));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClassDescriptor getObjectDescriptor(@NotNull Name name) {
|
||||
return first(objectDescriptors.fun(name));
|
||||
return first(objectDescriptors.invoke(name));
|
||||
}
|
||||
|
||||
private static <T> T first(@NotNull List<T> list) {
|
||||
@@ -142,7 +142,7 @@ public abstract class AbstractLazyMemberScope<D extends DeclarationDescriptor, D
|
||||
@NotNull
|
||||
@Override
|
||||
public Set<FunctionDescriptor> getFunctions(@NotNull Name name) {
|
||||
return functionDescriptors.fun(name);
|
||||
return functionDescriptors.invoke(name);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -175,7 +175,7 @@ public abstract class AbstractLazyMemberScope<D extends DeclarationDescriptor, D
|
||||
@NotNull
|
||||
@Override
|
||||
public Set<VariableDescriptor> getProperties(@NotNull Name name) {
|
||||
return propertyDescriptors.fun(name);
|
||||
return propertyDescriptors.invoke(name);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -224,7 +224,7 @@ public abstract class AbstractLazyMemberScope<D extends DeclarationDescriptor, D
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<ClassDescriptor> getObjectDescriptors() {
|
||||
return allDescriptors.compute().objects;
|
||||
return allDescriptors.invoke().objects;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -248,7 +248,7 @@ public abstract class AbstractLazyMemberScope<D extends DeclarationDescriptor, D
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<DeclarationDescriptor> getAllDescriptors() {
|
||||
return allDescriptors.compute().all;
|
||||
return allDescriptors.invoke().all;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -275,7 +275,7 @@ public abstract class AbstractLazyMemberScope<D extends DeclarationDescriptor, D
|
||||
JetClassOrObject classOrObject = (JetClassOrObject) declaration;
|
||||
Name name = safeNameForLazyResolve(classOrObject.getNameAsName());
|
||||
if (name != null) {
|
||||
result.all.addAll(classDescriptors.fun(name));
|
||||
result.all.addAll(classDescriptors.invoke(name));
|
||||
}
|
||||
}
|
||||
else if (declaration instanceof JetFunction) {
|
||||
|
||||
+8
-8
@@ -175,7 +175,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements LazyDesc
|
||||
|
||||
@NotNull
|
||||
public JetScope getScopeForClassHeaderResolution() {
|
||||
return scopeForClassHeaderResolution.compute();
|
||||
return scopeForClassHeaderResolution.invoke();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -195,7 +195,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements LazyDesc
|
||||
|
||||
@NotNull
|
||||
public JetScope getScopeForMemberDeclarationResolution() {
|
||||
return scopeForMemberDeclarationResolution.compute();
|
||||
return scopeForMemberDeclarationResolution.invoke();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -218,7 +218,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements LazyDesc
|
||||
|
||||
@NotNull
|
||||
public JetScope getScopeForPropertyInitializerResolution() {
|
||||
return scopeForPropertyInitializerResolution.compute();
|
||||
return scopeForPropertyInitializerResolution.invoke();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -263,7 +263,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements LazyDesc
|
||||
|
||||
@Override
|
||||
public ClassDescriptor getClassObjectDescriptor() {
|
||||
return classObjectDescriptor.compute();
|
||||
return classObjectDescriptor.invoke();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -323,12 +323,12 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements LazyDesc
|
||||
@NotNull
|
||||
@Override
|
||||
public ReceiverParameterDescriptor getThisAsReceiverParameter() {
|
||||
return thisAsReceiverParameter.compute();
|
||||
return thisAsReceiverParameter.invoke();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AnnotationDescriptor> getAnnotations() {
|
||||
return annotations.compute();
|
||||
return annotations.invoke();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -427,13 +427,13 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements LazyDesc
|
||||
@NotNull
|
||||
@Override
|
||||
public List<TypeParameterDescriptor> getParameters() {
|
||||
return parameters.compute();
|
||||
return parameters.invoke();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<JetType> getSupertypes() {
|
||||
return supertypes.compute();
|
||||
return supertypes.invoke();
|
||||
}
|
||||
|
||||
private void findAndDisconnectLoopsInTypeHierarchy(Collection<JetType> supertypes) {
|
||||
|
||||
+1
-1
@@ -348,7 +348,7 @@ public class LazyClassMemberScope extends AbstractLazyMemberScope<LazyClassDescr
|
||||
|
||||
@Nullable
|
||||
public ConstructorDescriptor getPrimaryConstructor() {
|
||||
return primaryConstructor.compute();
|
||||
return primaryConstructor.invoke();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
+1
-1
@@ -54,7 +54,7 @@ public class LazyPackageMemberScope extends AbstractLazyMemberScope<NamespaceDes
|
||||
|
||||
@Override
|
||||
public NamespaceDescriptor getNamespace(@NotNull Name name) {
|
||||
return packageDescriptors.fun(name);
|
||||
return packageDescriptors.invoke(name);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
@@ -54,7 +54,7 @@ public class DeferredType implements JetType {
|
||||
|
||||
@NotNull
|
||||
public JetType getActualType() {
|
||||
return lazyValue.compute();
|
||||
return lazyValue.invoke();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -3,6 +3,8 @@ package org.jetbrains.jet.storage;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.intellij.util.Function;
|
||||
import jet.Function0;
|
||||
import jet.Function1;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -22,23 +24,23 @@ public class StorageManagerTest extends TestCase {
|
||||
m = new LockBasedStorageManager();
|
||||
}
|
||||
|
||||
public static <T> void doTestComputesOnce(Computable<T> v, T expected, Counter counter) throws Exception {
|
||||
public static <T> void doTestComputesOnce(Function0<T> v, T expected, Counter counter) throws Exception {
|
||||
assert 0 == counter.getCount();
|
||||
|
||||
T result1 = v.compute();
|
||||
T result2 = v.compute();
|
||||
T result1 = v.invoke();
|
||||
T result2 = v.invoke();
|
||||
assertEquals(1, counter.getCount());
|
||||
assertEquals(expected, result1);
|
||||
assertEquals(result1, result2);
|
||||
}
|
||||
|
||||
public static <T> void doTestExceptionPreserved(Computable<T> v, Class<? extends Throwable> expected, Counter counter)
|
||||
public static <T> void doTestExceptionPreserved(Function0<T> v, Class<? extends Throwable> expected, Counter counter)
|
||||
throws Exception {
|
||||
assert 0 == counter.getCount();
|
||||
|
||||
Throwable caught1 = null;
|
||||
try {
|
||||
v.compute();
|
||||
v.invoke();
|
||||
fail();
|
||||
}
|
||||
catch (Throwable e) {
|
||||
@@ -46,7 +48,7 @@ public class StorageManagerTest extends TestCase {
|
||||
}
|
||||
Throwable caught2 = null;
|
||||
try {
|
||||
v.compute();
|
||||
v.invoke();
|
||||
fail();
|
||||
}
|
||||
catch (Throwable e) {
|
||||
@@ -64,14 +66,14 @@ public class StorageManagerTest extends TestCase {
|
||||
public void testIsComputed() throws Exception {
|
||||
NotNullLazyValue<String> value = m.createLazyValue(new CounterValue());
|
||||
assertFalse(value.isComputed());
|
||||
value.compute();
|
||||
value.invoke();
|
||||
assertTrue(value.isComputed());
|
||||
}
|
||||
|
||||
public void testIsNullableComputed() throws Exception {
|
||||
NullableLazyValue<String> value = m.createNullableLazyValue(new CounterValueNull());
|
||||
assertFalse(value.isComputed());
|
||||
value.compute();
|
||||
value.invoke();
|
||||
assertTrue(value.isComputed());
|
||||
}
|
||||
|
||||
@@ -80,7 +82,7 @@ public class StorageManagerTest extends TestCase {
|
||||
assertFalse(value.isComputed());
|
||||
|
||||
try {
|
||||
value.compute();
|
||||
value.invoke();
|
||||
}
|
||||
catch (Exception ignored) {
|
||||
}
|
||||
@@ -93,7 +95,7 @@ public class StorageManagerTest extends TestCase {
|
||||
assertFalse(value.isComputed());
|
||||
|
||||
try {
|
||||
value.compute();
|
||||
value.invoke();
|
||||
}
|
||||
catch (Exception ignored) {
|
||||
}
|
||||
@@ -168,13 +170,13 @@ public class StorageManagerTest extends TestCase {
|
||||
NotNullLazyValue<String> rec = m.createLazyValue(new Computable<String>() {
|
||||
@Override
|
||||
public String compute() {
|
||||
return rec.compute();
|
||||
return rec.invoke();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
try {
|
||||
new C().rec.compute();
|
||||
new C().rec.invoke();
|
||||
fail();
|
||||
}
|
||||
catch (IllegalStateException e) {
|
||||
@@ -187,13 +189,13 @@ public class StorageManagerTest extends TestCase {
|
||||
NullableLazyValue<String> rec = m.createNullableLazyValue(new Computable<String>() {
|
||||
@Override
|
||||
public String compute() {
|
||||
return rec.compute();
|
||||
return rec.invoke();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
try {
|
||||
new C().rec.compute();
|
||||
new C().rec.invoke();
|
||||
fail();
|
||||
}
|
||||
catch (IllegalStateException e) {
|
||||
@@ -206,13 +208,13 @@ public class StorageManagerTest extends TestCase {
|
||||
NotNullLazyValue<String> rec = m.createRecursionTolerantLazyValue(new Computable<String>() {
|
||||
@Override
|
||||
public String compute() {
|
||||
assertEquals("rec", rec.compute());
|
||||
assertEquals("rec", rec.invoke());
|
||||
return "tolerant!";
|
||||
}
|
||||
}, "rec");
|
||||
}
|
||||
|
||||
assertEquals("tolerant!", new C().rec.compute());
|
||||
assertEquals("tolerant!", new C().rec.invoke());
|
||||
}
|
||||
|
||||
public void testNullableRecursionTolerance() throws Exception {
|
||||
@@ -220,13 +222,13 @@ public class StorageManagerTest extends TestCase {
|
||||
NullableLazyValue<String> rec = m.createRecursionTolerantNullableLazyValue(new Computable<String>() {
|
||||
@Override
|
||||
public String compute() {
|
||||
assertEquals(null, rec.compute());
|
||||
assertEquals(null, rec.invoke());
|
||||
return "tolerant!";
|
||||
}
|
||||
}, null);
|
||||
}
|
||||
|
||||
assertEquals("tolerant!", new C().rec.compute());
|
||||
assertEquals("tolerant!", new C().rec.invoke());
|
||||
}
|
||||
|
||||
public void testRecursionIntoleranceWithPostCompute() throws Exception {
|
||||
@@ -236,7 +238,7 @@ public class StorageManagerTest extends TestCase {
|
||||
new Computable<String>() {
|
||||
@Override
|
||||
public String compute() {
|
||||
return rec.compute();
|
||||
return rec.invoke();
|
||||
}
|
||||
},
|
||||
null,
|
||||
@@ -245,7 +247,7 @@ public class StorageManagerTest extends TestCase {
|
||||
}
|
||||
|
||||
try {
|
||||
new C().rec.compute();
|
||||
new C().rec.invoke();
|
||||
fail();
|
||||
}
|
||||
catch (IllegalStateException e) {
|
||||
@@ -260,7 +262,7 @@ public class StorageManagerTest extends TestCase {
|
||||
new Computable<String>() {
|
||||
@Override
|
||||
public String compute() {
|
||||
return rec.compute();
|
||||
return rec.invoke();
|
||||
}
|
||||
},
|
||||
new Function<Boolean, String>() {
|
||||
@@ -280,8 +282,8 @@ public class StorageManagerTest extends TestCase {
|
||||
}
|
||||
|
||||
C c = new C();
|
||||
assertEquals("tolerant", c.rec.compute());
|
||||
c.rec.compute();
|
||||
assertEquals("tolerant", c.rec.invoke());
|
||||
c.rec.invoke();
|
||||
assertEquals("postCompute() called more than once", 1, counter.getCount());
|
||||
}
|
||||
|
||||
@@ -306,8 +308,8 @@ public class StorageManagerTest extends TestCase {
|
||||
}
|
||||
);
|
||||
|
||||
assertEquals(Arrays.asList("first", "postComputed"), v.compute());
|
||||
v.compute();
|
||||
assertEquals(Arrays.asList("first", "postComputed"), v.invoke());
|
||||
v.invoke();
|
||||
assertEquals(1, counter.getCount());
|
||||
}
|
||||
|
||||
@@ -331,8 +333,8 @@ public class StorageManagerTest extends TestCase {
|
||||
}
|
||||
);
|
||||
|
||||
assertEquals(Arrays.asList("first", "postComputed"), v.compute());
|
||||
v.compute();
|
||||
assertEquals(Arrays.asList("first", "postComputed"), v.invoke());
|
||||
v.invoke();
|
||||
assertEquals(1, counter.getCount());
|
||||
}
|
||||
|
||||
@@ -343,7 +345,7 @@ public class StorageManagerTest extends TestCase {
|
||||
new Computable<String>() {
|
||||
@Override
|
||||
public String compute() {
|
||||
return rec.compute();
|
||||
return rec.invoke();
|
||||
}
|
||||
},
|
||||
new Function<Boolean, String>() {
|
||||
@@ -366,23 +368,23 @@ public class StorageManagerTest extends TestCase {
|
||||
|
||||
C c = new C();
|
||||
try {
|
||||
c.rec.compute();
|
||||
c.rec.invoke();
|
||||
fail();
|
||||
}
|
||||
catch (ReenteringLazyValueComputationException e) {
|
||||
// OK
|
||||
}
|
||||
|
||||
assertEquals("second", c.rec.compute());
|
||||
assertEquals("second", c.rec.invoke());
|
||||
}
|
||||
|
||||
// Utilities
|
||||
|
||||
private static <K, V> Computable<V> apply(final Function<K, V> f, final K x) {
|
||||
return new Computable<V>() {
|
||||
private static <K, V> Function0<V> apply(final Function1<K, V> f, final K x) {
|
||||
return new Function0<V>() {
|
||||
@Override
|
||||
public V compute() {
|
||||
return f.fun(x);
|
||||
public V invoke() {
|
||||
return f.invoke(x);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
+1
-1
@@ -237,7 +237,7 @@ public class AnnotationDescriptorDeserializer implements AnnotationDeserializer
|
||||
errorReporter.reportAnnotationLoadingError("Kotlin class for loading member annotations is not found: " + container, null);
|
||||
}
|
||||
|
||||
List<AnnotationDescriptor> annotations = memberAnnotations.fun(kotlinClass).get(signature);
|
||||
List<AnnotationDescriptor> annotations = memberAnnotations.invoke(kotlinClass).get(signature);
|
||||
return annotations == null ? Collections.<AnnotationDescriptor>emptyList() : annotations;
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -105,7 +105,7 @@ public abstract class AbstractLazyTypeParameterDescriptor implements TypeParamet
|
||||
@NotNull
|
||||
@Override
|
||||
public Set<JetType> getUpperBounds() {
|
||||
return upperBounds.compute();
|
||||
return upperBounds.invoke();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -114,7 +114,7 @@ public abstract class AbstractLazyTypeParameterDescriptor implements TypeParamet
|
||||
@NotNull
|
||||
@Override
|
||||
public JetType getUpperBoundsAsType() {
|
||||
return upperBoundsAsType.compute();
|
||||
return upperBoundsAsType.invoke();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -144,7 +144,7 @@ public abstract class AbstractLazyTypeParameterDescriptor implements TypeParamet
|
||||
@NotNull
|
||||
@Override
|
||||
public TypeConstructor getTypeConstructor() {
|
||||
return typeConstructor.compute();
|
||||
return typeConstructor.invoke();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -192,7 +192,7 @@ public abstract class AbstractLazyTypeParameterDescriptor implements TypeParamet
|
||||
@NotNull
|
||||
@Override
|
||||
public JetType getDefaultType() {
|
||||
return defaultType.compute();
|
||||
return defaultType.invoke();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -30,6 +30,6 @@ public class LazyScopeAdapter extends AbstractScopeAdapter {
|
||||
@NotNull
|
||||
@Override
|
||||
protected JetScope getWorkerScope() {
|
||||
return scope.compute();
|
||||
return scope.invoke();
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -143,7 +143,7 @@ class BuiltinsNamespaceDescriptorImpl extends AbstractNamespaceDescriptorImpl {
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<Name> getClassNames(@NotNull FqName packageName) {
|
||||
return packageName.equals(KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME) ? classNames.compute() : Collections.<Name>emptyList();
|
||||
return packageName.equals(KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME) ? classNames.invoke() : Collections.<Name>emptyList();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -181,11 +181,6 @@ public class LockBasedStorageManager implements StorageManager {
|
||||
|
||||
@Override
|
||||
public T invoke() {
|
||||
return compute();
|
||||
}
|
||||
|
||||
@Override
|
||||
public T compute() {
|
||||
Object _value = value;
|
||||
if (!(value instanceof NotValue)) return WrappedValues.unescapeThrowable(_value);
|
||||
|
||||
@@ -245,8 +240,8 @@ public class LockBasedStorageManager implements StorageManager {
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public T compute() {
|
||||
T result = super.compute();
|
||||
public T invoke() {
|
||||
T result = super.invoke();
|
||||
assert result != null : "compute() returned null";
|
||||
return result;
|
||||
}
|
||||
@@ -263,14 +258,9 @@ public class LockBasedStorageManager implements StorageManager {
|
||||
this.compute = compute;
|
||||
}
|
||||
|
||||
@Override
|
||||
public V invoke(K k) {
|
||||
return fun(k);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public V fun(@NotNull K input) {
|
||||
public V invoke(@NotNull K input) {
|
||||
Object value = cache.get(input);
|
||||
if (value != null) return WrappedValues.unescapeExceptionOrNull(value);
|
||||
|
||||
@@ -311,8 +301,8 @@ public class LockBasedStorageManager implements StorageManager {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public V fun(@NotNull K input) {
|
||||
V result = super.fun(input);
|
||||
public V invoke(@NotNull K input) {
|
||||
V result = super.invoke(input);
|
||||
assert result != null : "compute() returned null";
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -16,15 +16,10 @@
|
||||
|
||||
package org.jetbrains.jet.storage;
|
||||
|
||||
import com.intellij.util.Function;
|
||||
import jet.Function1;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public interface MemoizedFunctionToNotNull<P, R> extends Function<P, R>, Function1<P, R> {
|
||||
@Override
|
||||
@NotNull
|
||||
R fun(P p);
|
||||
|
||||
public interface MemoizedFunctionToNotNull<P, R> extends Function1<P, R> {
|
||||
@Override
|
||||
@NotNull
|
||||
R invoke(P p);
|
||||
|
||||
@@ -16,15 +16,10 @@
|
||||
|
||||
package org.jetbrains.jet.storage;
|
||||
|
||||
import com.intellij.util.Function;
|
||||
import jet.Function1;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public interface MemoizedFunctionToNullable<P, R> extends Function<P, R>, Function1<P, R> {
|
||||
@Override
|
||||
@Nullable
|
||||
R fun(P p);
|
||||
|
||||
public interface MemoizedFunctionToNullable<P, R> extends Function1<P, R> {
|
||||
@Override
|
||||
@Nullable
|
||||
R invoke(P p);
|
||||
|
||||
@@ -16,15 +16,10 @@
|
||||
|
||||
package org.jetbrains.jet.storage;
|
||||
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import jet.Function0;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public interface NotNullLazyValue<T> extends Computable<T>, Function0<T> {
|
||||
@Override
|
||||
@NotNull
|
||||
T compute();
|
||||
|
||||
public interface NotNullLazyValue<T> extends Function0<T> {
|
||||
@Override
|
||||
@NotNull
|
||||
T invoke();
|
||||
|
||||
@@ -16,15 +16,10 @@
|
||||
|
||||
package org.jetbrains.jet.storage;
|
||||
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import jet.Function0;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public interface NullableLazyValue<T> extends Computable<T>, Function0<T> {
|
||||
@Override
|
||||
@Nullable
|
||||
T compute();
|
||||
|
||||
public interface NullableLazyValue<T> extends Function0<T> {
|
||||
@Override
|
||||
@Nullable
|
||||
T invoke();
|
||||
|
||||
@@ -99,7 +99,7 @@ public class ResolveElementCache {
|
||||
elementOfAdditionalResolve = jetElement;
|
||||
}
|
||||
|
||||
return additionalResolveCache.getValue().fun(elementOfAdditionalResolve);
|
||||
return additionalResolveCache.getValue().invoke(elementOfAdditionalResolve);
|
||||
}
|
||||
|
||||
JetParameter parameter = PsiTreeUtil.getTopmostParentOfType(jetElement, JetParameter.class);
|
||||
|
||||
Reference in New Issue
Block a user