when checking class file version, consider only 'major' part

This commit is contained in:
Eugene Zhuravlev
2019-01-17 17:53:05 +01:00
parent 03270389f8
commit af552fe7f8
@@ -20,7 +20,6 @@ import com.intellij.compiler.instrumentation.InstrumentationClassFinder;
import com.intellij.compiler.notNullVerification.NotNullVerifyingInstrumenter;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.util.ArrayUtil;
import com.intellij.util.Function;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -68,7 +67,8 @@ public class NotNullInstrumentingBuilder extends BaseInstrumentingBuilder{
@Override
protected boolean canInstrument(CompiledClass compiledClass, int classFileVersion) {
return classFileVersion >= Opcodes.V1_5 && !"module-info".equals(compiledClass.getClassName());
// in the class version consider only 'major' part
return (classFileVersion & 0xFF) >= Opcodes.V1_5 && !"module-info".equals(compiledClass.getClassName());
}
// todo: probably instrument other NotNull-like annotations defined in project settings?