add static import of BindingContextUtils

This commit is contained in:
Alex Tkachman
2012-08-28 14:22:59 +03:00
parent b3b18d74f3
commit 164919edaa
8 changed files with 27 additions and 23 deletions
@@ -41,6 +41,8 @@ import java.lang.annotation.RetentionPolicy;
import java.util.List;
import java.util.Map;
import static org.jetbrains.jet.lang.resolve.BindingContextUtils.*;
/**
* @author alex.tkachman
*/
@@ -62,7 +64,7 @@ public abstract class AnnotationCodegen {
return;
}
PsiElement psiElement = BindingContextUtils.descriptorToDeclaration(bindingContext, (DeclarationDescriptor) annotated);
PsiElement psiElement = descriptorToDeclaration(bindingContext, (DeclarationDescriptor) annotated);
JetModifierList modifierList = null;
if (annotated instanceof ConstructorDescriptor && psiElement instanceof JetClass) {
@@ -58,7 +58,7 @@ import java.util.*;
import static org.jetbrains.jet.codegen.JetTypeMapper.*;
import static org.jetbrains.jet.codegen.context.CodegenBinding.*;
import static org.jetbrains.jet.lang.resolve.BindingContext.*;
import static org.jetbrains.jet.lang.resolve.BindingContextUtils.getNotNull;
import static org.jetbrains.jet.lang.resolve.BindingContextUtils.*;
/**
* @author max
@@ -1366,7 +1366,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
}
if (descriptor instanceof ClassDescriptor) {
PsiElement declaration = BindingContextUtils.descriptorToDeclaration(bindingContext, descriptor);
PsiElement declaration = descriptorToDeclaration(bindingContext, descriptor);
if (declaration instanceof JetClass) {
final ClassDescriptor descriptor1 = ((ClassDescriptor) descriptor).getClassObjectDescriptor();
assert descriptor1 != null;
@@ -1758,7 +1758,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
private boolean isCallAsFunctionObject(FunctionDescriptor fd) {
if (fd.getContainingDeclaration() instanceof ScriptDescriptor) {
JetNamedFunction psi = (JetNamedFunction) BindingContextUtils.descriptorToDeclaration(bindingContext, fd);
JetNamedFunction psi = (JetNamedFunction) descriptorToDeclaration(bindingContext, fd);
assert psi != null;
return !JetPsiUtil.isScriptDeclaration(psi);
}
@@ -1933,7 +1933,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
}
public StackValue generateThisOrOuter(@NotNull final ClassDescriptor calleeContainingClass) {
PsiElement psiElement = BindingContextUtils.classDescriptorToDeclaration(bindingContext, calleeContainingClass);
PsiElement psiElement = classDescriptorToDeclaration(bindingContext, calleeContainingClass);
boolean isObject = psiElement instanceof JetClassOrObject && CodegenUtil.isNonLiteralObject((JetClassOrObject) psiElement);
CodegenContext cur = context;
@@ -45,6 +45,7 @@ import java.util.*;
import static org.jetbrains.asm4.Opcodes.*;
import static org.jetbrains.jet.codegen.context.CodegenBinding.*;
import static org.jetbrains.jet.lang.resolve.BindingContextUtils.*;
/**
* @author max
@@ -555,8 +556,7 @@ public class FunctionCodegen {
Label loadArg = new Label();
iv.ifeq(loadArg);
JetParameter jetParameter =
(JetParameter) BindingContextUtils.descriptorToDeclaration(state.getBindingContext(), parameterDescriptor);
JetParameter jetParameter = (JetParameter) descriptorToDeclaration(state.getBindingContext(), parameterDescriptor);
assert jetParameter != null;
codegen.gen(jetParameter.getDefaultValue(), t);
@@ -592,8 +592,7 @@ public class FunctionCodegen {
iv.areturn(jvmSignature.getReturnType());
endVisit(mv, "default method",
BindingContextUtils.callableDescriptorToDeclaration(state.getBindingContext(), functionDescriptor));
endVisit(mv, "default method", callableDescriptorToDeclaration(state.getBindingContext(), functionDescriptor));
mv.visitEnd();
}
@@ -672,8 +671,7 @@ public class FunctionCodegen {
iv.aconst(null);
}
iv.areturn(overridden.getReturnType());
endVisit(mv, "bridge method",
BindingContextUtils.callableDescriptorToDeclaration(state.getBindingContext(), functionDescriptor));
endVisit(mv, "bridge method", callableDescriptorToDeclaration(state.getBindingContext(), functionDescriptor));
}
}
@@ -728,7 +726,7 @@ public class FunctionCodegen {
iv.invokevirtual(internalName, method.getName(), method.getDescriptor());
}
iv.areturn(method.getReturnType());
endVisit(mv, "delegate method", BindingContextUtils.descriptorToDeclaration(state.getBindingContext(), functionDescriptor));
endVisit(mv, "delegate method", descriptorToDeclaration(state.getBindingContext(), functionDescriptor));
}
}
}
@@ -50,6 +50,7 @@ import java.util.*;
import static org.jetbrains.asm4.Opcodes.*;
import static org.jetbrains.jet.codegen.JetTypeMapper.OBJECT_TYPE;
import static org.jetbrains.jet.codegen.context.CodegenBinding.*;
import static org.jetbrains.jet.lang.resolve.BindingContextUtils.*;
/**
* @author max
@@ -774,7 +775,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
StackValue field = StackValue.field(fieldType, classname, delegateField, false);
field.store(fieldType, iv);
JetClass superClass = (JetClass) BindingContextUtils.classDescriptorToDeclaration(bindingContext, superClassDescriptor);
JetClass superClass = (JetClass) classDescriptorToDeclaration(bindingContext, superClassDescriptor);
final CodegenContext delegateContext = context.intoClass(superClassDescriptor,
new OwnerKind.DelegateKind(StackValue.field(fieldType, classname,
delegateField, false),
@@ -1012,7 +1013,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
iv.checkcast(function.getReturnType());
}
iv.areturn(function.getReturnType());
FunctionCodegen.endVisit(iv, "trait method", BindingContextUtils.callableDescriptorToDeclaration(bindingContext, fun));
FunctionCodegen.endVisit(iv, "trait method", callableDescriptorToDeclaration(bindingContext, fun));
}
FunctionCodegen.generateBridgeIfNeeded(context, state, v, function, fun, kind);
@@ -44,6 +44,7 @@ import java.util.*;
import static org.jetbrains.asm4.Opcodes.*;
import static org.jetbrains.jet.codegen.context.CodegenBinding.*;
import static org.jetbrains.jet.lang.resolve.BindingContextUtils.*;
/**
* @author yole
@@ -1019,7 +1020,7 @@ public class JetTypeMapper {
.sharedTypeForType(mapType(((PropertyDescriptor) descriptor).getReceiverParameter().getType(), MapTypeMode.VALUE));
}
else if (descriptor instanceof SimpleFunctionDescriptor && descriptor.getContainingDeclaration() instanceof FunctionDescriptor) {
PsiElement psiElement = BindingContextUtils.descriptorToDeclaration(bindingContext, descriptor);
PsiElement psiElement = descriptorToDeclaration(bindingContext, descriptor);
return classNameForAnonymousClass(bindingContext, (JetElement) psiElement).getAsmType();
}
else if (descriptor instanceof FunctionDescriptor) {
@@ -40,6 +40,8 @@ import org.jetbrains.jet.lang.types.lang.JetStandardLibrary;
import java.util.BitSet;
import static org.jetbrains.jet.lang.resolve.BindingContextUtils.*;
/**
* @author max
* @author alex.tkachman
@@ -179,8 +181,7 @@ public class PropertyCodegen {
flags |= Opcodes.ACC_STATIC;
}
PsiElement psiElement =
BindingContextUtils.descriptorToDeclaration(state.getBindingContext(), propertyDescriptor.getContainingDeclaration());
PsiElement psiElement = descriptorToDeclaration(state.getBindingContext(), propertyDescriptor.getContainingDeclaration());
boolean isTrait = psiElement instanceof JetClass && ((JetClass) psiElement).isTrait();
if (isTrait && !(kind instanceof OwnerKind.DelegateKind)) {
flags |= Opcodes.ACC_ABSTRACT;
@@ -286,8 +287,7 @@ public class PropertyCodegen {
flags |= Opcodes.ACC_STATIC;
}
PsiElement psiElement =
BindingContextUtils.descriptorToDeclaration(state.getBindingContext(), propertyDescriptor.getContainingDeclaration());
PsiElement psiElement = descriptorToDeclaration(state.getBindingContext(), propertyDescriptor.getContainingDeclaration());
boolean isTrait = psiElement instanceof JetClass && ((JetClass) psiElement).isTrait();
if (isTrait && !(kind instanceof OwnerKind.DelegateKind)) {
flags |= Opcodes.ACC_ABSTRACT;
@@ -39,6 +39,7 @@ import java.util.Collections;
import java.util.HashSet;
import static org.jetbrains.jet.lang.resolve.BindingContext.*;
import static org.jetbrains.jet.lang.resolve.BindingContextUtils.*;
/**
* @author alex.tkachman
@@ -218,7 +219,7 @@ public class CodegenBinding {
}
public static boolean isObjectLiteral(BindingContext bindingContext, ClassDescriptor declaration) {
PsiElement psiElement = BindingContextUtils.descriptorToDeclaration(bindingContext, declaration);
PsiElement psiElement = descriptorToDeclaration(bindingContext, declaration);
if (psiElement instanceof JetObjectDeclaration && ((JetObjectDeclaration) psiElement).isObjectLiteral()) {
return true;
}
@@ -226,7 +227,7 @@ public class CodegenBinding {
}
public static boolean isLocalFun(BindingContext bindingContext, DeclarationDescriptor fd) {
PsiElement psiElement = BindingContextUtils.descriptorToDeclaration(bindingContext, fd);
PsiElement psiElement = descriptorToDeclaration(bindingContext, fd);
if (psiElement instanceof JetNamedFunction && psiElement.getParent() instanceof JetBlockExpression) {
return true;
}
@@ -234,7 +235,7 @@ public class CodegenBinding {
}
public static boolean isLocalNamedFun(BindingContext bindingContext, DeclarationDescriptor fd) {
PsiElement psiElement = BindingContextUtils.descriptorToDeclaration(bindingContext, fd);
PsiElement psiElement = descriptorToDeclaration(bindingContext, fd);
if (psiElement instanceof JetNamedFunction) {
final DeclarationDescriptor declaration = fd.getContainingDeclaration();
return declaration instanceof FunctionDescriptor || declaration instanceof PropertyDescriptor;
@@ -25,6 +25,7 @@ import org.jetbrains.jet.lang.resolve.java.JvmClassName;
import org.jetbrains.jet.lang.types.JetType;
import static org.jetbrains.jet.codegen.context.CodegenBinding.*;
import static org.jetbrains.jet.lang.resolve.BindingContextUtils.*;
/**
* @author alex.tkachman
@@ -75,7 +76,7 @@ public interface LocalLookup {
final boolean idx = localLookup.lookupLocal(vd);
if (!idx) return null;
JetElement expression = (JetElement) BindingContextUtils.callableDescriptorToDeclaration(state.getBindingContext(), vd);
JetElement expression = (JetElement) callableDescriptorToDeclaration(state.getBindingContext(), vd);
JvmClassName cn = classNameForAnonymousClass(state.getBindingContext(), expression);
Type localType = cn.getAsmType();