From f5928be33ec9cab1167ea1e6a996b5db9b6b5f23 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Tue, 6 Sep 2011 11:56:20 +0400 Subject: [PATCH] Checks reordered for better performance --- .../plugin/structureView/JetStructureViewElement.java | 9 ++++----- stdlib/src/jet/typeinfo/TypeInfo.java | 8 ++++---- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/structureView/JetStructureViewElement.java b/idea/src/org/jetbrains/jet/plugin/structureView/JetStructureViewElement.java index cba16e62868..d572fcae0f6 100644 --- a/idea/src/org/jetbrains/jet/plugin/structureView/JetStructureViewElement.java +++ b/idea/src/org/jetbrains/jet/plugin/structureView/JetStructureViewElement.java @@ -3,7 +3,6 @@ package org.jetbrains.jet.plugin.structureView; import com.intellij.ide.structureView.StructureViewTreeElement; import com.intellij.ide.util.treeView.smartTree.TreeElement; import com.intellij.navigation.ItemPresentation; -import com.intellij.openapi.editor.colors.TextAttributesKey; import com.intellij.openapi.util.Iconable; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.NavigatablePsiElement; @@ -70,10 +69,10 @@ public class JetStructureViewElement implements StructureViewTreeElement { : null; } - @Override - public TextAttributesKey getTextAttributesKey() { - return null; //To change body of implemented methods use File | Settings | File Templates. - } +// @Override +// public TextAttributesKey getTextAttributesKey() { +// return null; //To change body of implemented methods use File | Settings | File Templates. +// } }; } diff --git a/stdlib/src/jet/typeinfo/TypeInfo.java b/stdlib/src/jet/typeinfo/TypeInfo.java index c22392cc6f8..f93bf29bad6 100644 --- a/stdlib/src/jet/typeinfo/TypeInfo.java +++ b/stdlib/src/jet/typeinfo/TypeInfo.java @@ -81,20 +81,20 @@ public abstract class TypeInfo implements JetObject { } public final boolean isInstance(Object obj) { + if (obj == null) return nullable; + if (obj instanceof JetObject) { return ((JetObject) obj).getTypeInfo().isSubtypeOf(this); } - if (obj == null) - return nullable; return theClass.isAssignableFrom(obj.getClass()); // TODO } public final boolean isSubtypeOf(TypeInfo superType) { - if (!superType.theClass.isAssignableFrom(theClass)) { + if (nullable && !superType.nullable) { return false; } - if (nullable && !superType.nullable) { + if (!superType.theClass.isAssignableFrom(theClass)) { return false; } if (projections != null) {