isBackingFieldReference moved to JetPsiUtil
This commit is contained in:
@@ -271,7 +271,7 @@ public class JetFlowInformationProvider {
|
|||||||
@NotNull Collection<VariableDescriptor> varWithValReassignErrorGenerated
|
@NotNull Collection<VariableDescriptor> varWithValReassignErrorGenerated
|
||||||
) {
|
) {
|
||||||
VariableDescriptor variableDescriptor = ctxt.variableDescriptor;
|
VariableDescriptor variableDescriptor = ctxt.variableDescriptor;
|
||||||
if (isBackingFieldReference(expression) && variableDescriptor instanceof PropertyDescriptor) {
|
if (JetPsiUtil.isBackingFieldReference(expression) && variableDescriptor instanceof PropertyDescriptor) {
|
||||||
PropertyDescriptor propertyDescriptor = (PropertyDescriptor) variableDescriptor;
|
PropertyDescriptor propertyDescriptor = (PropertyDescriptor) variableDescriptor;
|
||||||
JetPropertyAccessor accessor = PsiTreeUtil.getParentOfType(expression, JetPropertyAccessor.class);
|
JetPropertyAccessor accessor = PsiTreeUtil.getParentOfType(expression, JetPropertyAccessor.class);
|
||||||
if (accessor != null) {
|
if (accessor != null) {
|
||||||
@@ -412,7 +412,7 @@ public class JetFlowInformationProvider {
|
|||||||
|
|
||||||
private boolean isCorrectBackingFieldReference(@Nullable JetElement element, VariableContext ctxt, boolean[] error, boolean reportError) {
|
private boolean isCorrectBackingFieldReference(@Nullable JetElement element, VariableContext ctxt, boolean[] error, boolean reportError) {
|
||||||
error[0] = false;
|
error[0] = false;
|
||||||
if (isBackingFieldReference(element)) {
|
if (JetPsiUtil.isBackingFieldReference(element)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (element instanceof JetDotQualifiedExpression && isCorrectBackingFieldReference(
|
if (element instanceof JetDotQualifiedExpression && isCorrectBackingFieldReference(
|
||||||
@@ -428,10 +428,6 @@ public class JetFlowInformationProvider {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isBackingFieldReference(@Nullable JetElement element) {
|
|
||||||
return element instanceof JetSimpleNameExpression && ((JetSimpleNameExpression) element).getReferencedNameElementType() == JetTokens.FIELD_IDENTIFIER;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void recordInitializedVariables(@NotNull Pseudocode pseudocode, @NotNull Map<Instruction, Edges<Map<VariableDescriptor,PseudocodeVariablesData.VariableInitState>>> initializersMap) {
|
private void recordInitializedVariables(@NotNull Pseudocode pseudocode, @NotNull Map<Instruction, Edges<Map<VariableDescriptor,PseudocodeVariablesData.VariableInitState>>> initializersMap) {
|
||||||
Edges<Map<VariableDescriptor, VariableInitState>> initializers = initializersMap.get(pseudocode.getExitInstruction());
|
Edges<Map<VariableDescriptor, VariableInitState>> initializers = initializersMap.get(pseudocode.getExitInstruction());
|
||||||
Set<VariableDescriptor> usedVariables = pseudocodeVariablesData.getUsedVariables(pseudocode);
|
Set<VariableDescriptor> usedVariables = pseudocodeVariablesData.getUsedVariables(pseudocode);
|
||||||
|
|||||||
@@ -462,4 +462,12 @@ public class JetPsiUtil {
|
|||||||
public static boolean isAbstract(@NotNull JetDeclarationWithBody declaration) {
|
public static boolean isAbstract(@NotNull JetDeclarationWithBody declaration) {
|
||||||
return declaration.getBodyExpression() == null;
|
return declaration.getBodyExpression() == null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isBackingFieldReference(@NotNull JetSimpleNameExpression expression) {
|
||||||
|
return expression.getReferencedNameElementType() == JetTokens.FIELD_IDENTIFIER;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isBackingFieldReference(@Nullable JetElement element) {
|
||||||
|
return element instanceof JetSimpleNameExpression && isBackingFieldReference((JetSimpleNameExpression)element);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -20,11 +20,11 @@ import com.google.dart.compiler.backend.js.ast.JsExpression;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.PropertyDescriptor;
|
import org.jetbrains.jet.lang.descriptors.PropertyDescriptor;
|
||||||
|
import org.jetbrains.jet.lang.psi.JetPsiUtil;
|
||||||
import org.jetbrains.jet.lang.psi.JetSimpleNameExpression;
|
import org.jetbrains.jet.lang.psi.JetSimpleNameExpression;
|
||||||
import org.jetbrains.k2js.translate.context.TemporaryVariable;
|
import org.jetbrains.k2js.translate.context.TemporaryVariable;
|
||||||
import org.jetbrains.k2js.translate.context.TranslationContext;
|
import org.jetbrains.k2js.translate.context.TranslationContext;
|
||||||
import org.jetbrains.k2js.translate.general.AbstractTranslator;
|
import org.jetbrains.k2js.translate.general.AbstractTranslator;
|
||||||
import org.jetbrains.k2js.translate.utils.PsiUtils;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -44,7 +44,7 @@ public final class BackingFieldAccessTranslator extends AbstractTranslator imple
|
|||||||
/*package*/
|
/*package*/
|
||||||
static BackingFieldAccessTranslator newInstance(@NotNull JetSimpleNameExpression expression,
|
static BackingFieldAccessTranslator newInstance(@NotNull JetSimpleNameExpression expression,
|
||||||
@NotNull TranslationContext context) {
|
@NotNull TranslationContext context) {
|
||||||
assert PsiUtils.isBackingFieldReference(expression);
|
assert JetPsiUtil.isBackingFieldReference(expression);
|
||||||
DeclarationDescriptor referencedProperty = getDescriptorForReferenceExpression(context.bindingContext(), expression);
|
DeclarationDescriptor referencedProperty = getDescriptorForReferenceExpression(context.bindingContext(), expression);
|
||||||
assert referencedProperty instanceof PropertyDescriptor;
|
assert referencedProperty instanceof PropertyDescriptor;
|
||||||
return new BackingFieldAccessTranslator((PropertyDescriptor) referencedProperty, context);
|
return new BackingFieldAccessTranslator((PropertyDescriptor) referencedProperty, context);
|
||||||
|
|||||||
+1
-1
@@ -32,7 +32,7 @@ import static org.jetbrains.k2js.translate.utils.AnnotationsUtils.isNativeObject
|
|||||||
import static org.jetbrains.k2js.translate.utils.BindingUtils.getDescriptorForReferenceExpression;
|
import static org.jetbrains.k2js.translate.utils.BindingUtils.getDescriptorForReferenceExpression;
|
||||||
import static org.jetbrains.k2js.translate.utils.BindingUtils.getResolvedCallForProperty;
|
import static org.jetbrains.k2js.translate.utils.BindingUtils.getResolvedCallForProperty;
|
||||||
import static org.jetbrains.k2js.translate.utils.PsiUtils.getSelectorAsSimpleName;
|
import static org.jetbrains.k2js.translate.utils.PsiUtils.getSelectorAsSimpleName;
|
||||||
import static org.jetbrains.k2js.translate.utils.PsiUtils.isBackingFieldReference;
|
import static org.jetbrains.jet.lang.psi.JetPsiUtil.isBackingFieldReference;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Pavel Talanov
|
* @author Pavel Talanov
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,7 @@ import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
|||||||
import org.jetbrains.jet.lang.psi.JetSimpleNameExpression;
|
import org.jetbrains.jet.lang.psi.JetSimpleNameExpression;
|
||||||
import org.jetbrains.k2js.translate.context.TranslationContext;
|
import org.jetbrains.k2js.translate.context.TranslationContext;
|
||||||
|
|
||||||
import static org.jetbrains.k2js.translate.utils.PsiUtils.isBackingFieldReference;
|
import static org.jetbrains.jet.lang.psi.JetPsiUtil.isBackingFieldReference;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Pavel Talanov
|
* @author Pavel Talanov
|
||||||
|
|||||||
@@ -81,10 +81,6 @@ public final class PsiUtils {
|
|||||||
return (token == JetTokens.EQ);
|
return (token == JetTokens.EQ);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isBackingFieldReference(@NotNull JetSimpleNameExpression expression) {
|
|
||||||
return expression.getReferencedNameElementType() == JetTokens.FIELD_IDENTIFIER;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isInOrNotInOperation(@NotNull JetBinaryExpression binaryExpression) {
|
public static boolean isInOrNotInOperation(@NotNull JetBinaryExpression binaryExpression) {
|
||||||
return isInOperation(binaryExpression) || isNotInOperation(binaryExpression);
|
return isInOperation(binaryExpression) || isNotInOperation(binaryExpression);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user