Code cleanup

This commit is contained in:
Alexey Tsvetkov
2015-10-19 19:14:40 +03:00
parent 6f96484e1f
commit e9e42b0251
10 changed files with 17 additions and 51 deletions
@@ -48,11 +48,6 @@ public class AccessorForFunctionDescriptor extends AbstractAccessorForFunctionDe
descriptor.getReturnType(),
Modality.FINAL,
Visibilities.LOCAL);
setOperator(descriptor.isOperator());
setInfix(descriptor.isInfix());
setExternal(descriptor.isExternal());
setInline(descriptor.isInline());
setTailrec(descriptor.isTailrec());
}
@NotNull
@@ -33,7 +33,6 @@ private val NATIVE_ANNOTATION_CLASS_NAME = FqName("kotlin.jvm.native")
public fun DeclarationDescriptor.hasNativeAnnotation(): Boolean {
return this is FunctionDescriptor && this.isExternal
|| this is PropertyAccessorDescriptor && this.isExternal
|| annotations.findAnnotation(NATIVE_ANNOTATION_CLASS_NAME) != null
}
@@ -114,8 +114,7 @@ public class AnnotationResolver {
return Annotations.Companion.getEMPTY();
}
List<JetAnnotationEntry> annotationEntryElements = modifierList.getAnnotationEntries();
return resolveAnnotationEntries(scope, annotationEntryElements, trace, shouldResolveArguments);
return resolveAnnotationEntries(scope, modifierList.getAnnotationEntries(), trace, shouldResolveArguments);
}
private Annotations resolveAnnotationEntries(
@@ -33,13 +33,8 @@ import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall;
public class InlineUtil {
public static boolean isInlineLambdaParameter(@NotNull ParameterDescriptor valueParameterOrReceiver) {
boolean isNoinlineParameter = false;
if (valueParameterOrReceiver instanceof ValueParameterDescriptor) {
isNoinlineParameter = ((ValueParameterDescriptor) valueParameterOrReceiver).isNoinline();
}
return !isNoinlineParameter &&
return !(valueParameterOrReceiver instanceof ValueParameterDescriptor
&& ((ValueParameterDescriptor) valueParameterOrReceiver).isNoinline()) &&
KotlinBuiltIns.isExactFunctionOrExtensionFunctionType(valueParameterOrReceiver.getOriginal().getType());
}
@@ -187,35 +187,17 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo
@Override
public boolean isExternal() {
if (isExternal) return true;
for (FunctionDescriptor descriptor : overriddenFunctions) {
if (descriptor.isExternal()) return true;
}
return false;
return isExternal;
}
@Override
public boolean isInline() {
if (isInline) return true;
for (FunctionDescriptor descriptor : overriddenFunctions) {
if (descriptor.isInline()) return true;
}
return false;
return isInline;
}
@Override
public boolean isTailrec() {
if (isTailrec) return true;
for (FunctionDescriptor descriptor : overriddenFunctions) {
if (descriptor.isTailrec()) return true;
}
return false;
return isTailrec;
}
@Override
@@ -72,17 +72,17 @@ public class ValueParameterDescriptorImpl extends VariableDescriptorImpl impleme
@Override
public boolean declaresDefaultValue() {
return declaresDefaultValue && containingDeclarationIsReal();
return declaresDefaultValue && ((CallableMemberDescriptor) getContainingDeclaration()).getKind().isReal();
}
@Override
public boolean isCrossinline() {
return isCrossinline && containingDeclarationIsReal();
return isCrossinline;
}
@Override
public boolean isNoinline() {
return isNoinline && containingDeclarationIsReal();
return isNoinline;
}
@Nullable
@@ -147,8 +147,4 @@ public class ValueParameterDescriptorImpl extends VariableDescriptorImpl impleme
}
});
}
private boolean containingDeclarationIsReal() {
return ((CallableMemberDescriptor) getContainingDeclaration()).getKind().isReal();
}
}
@@ -467,13 +467,13 @@ internal class DescriptorRendererImpl(
if (functionDescriptor.isInfix && functionDescriptor.overriddenDescriptors.none { it.isInfix }) {
builder.append("infix ")
}
if (functionDescriptor.isExternal && functionDescriptor.overriddenDescriptors.none { it.isExternal }) {
if (functionDescriptor.isExternal) {
builder.append("external ")
}
if (functionDescriptor.isInline && functionDescriptor.overriddenDescriptors.none { it.isInline }) {
if (functionDescriptor.isInline) {
builder.append("inline ")
}
if (functionDescriptor.isTailrec && functionDescriptor.overriddenDescriptors.none { it.isTailrec }) {
if (functionDescriptor.isTailrec) {
builder.append("tailrec ")
}
}
@@ -853,7 +853,7 @@ internal class DescriptorRendererImpl(
}
private fun renderAccessorModifiers(descriptor: PropertyAccessorDescriptor, builder: StringBuilder) {
if (descriptor.isExternal && descriptor.overriddenDescriptors.none { it.isExternal }) {
if (descriptor.isExternal) {
builder.append("external ")
}
}
@@ -1,6 +1,6 @@
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/inline/InlineKt.class
out/production/module/test/InlineKt.class
End of files
Compiling files:
End of files
@@ -12,4 +12,4 @@ Compiling files:
src/usage.kt
End of files
COMPILATION FAILED
Unresolved reference: inline
Unresolved reference: test
@@ -1,4 +1,4 @@
package inline
package test
inline fun f(body: () -> Unit) {
println("i'm inline function")
@@ -1,7 +1,7 @@
package usage
fun main(args: Array<String>) {
inline.f {
test.f {
println("to be inlined")
}
}