Merge branch 'master' into upsource-master

This commit is contained in:
Dmitry Lomov
2012-05-14 11:38:01 +02:00
492 changed files with 38232 additions and 1650 deletions
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
* Copyright 2000-2012 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -39,14 +39,20 @@ public enum LanguageLevel {
myPresentableText = presentableText;
}
/** @deprecated (to remove in IDEA 13) */
@SuppressWarnings("UnusedDeclaration")
public int getIndex() {
return ordinal() + 3; // solely for backward compatibility
}
/** @deprecated (to remove in IDEA 13) */
@SuppressWarnings("UnusedDeclaration")
public boolean hasAssertKeyword() {
return isAtLeast(JDK_1_4);
}
/** @deprecated use {@linkplain com.intellij.psi.util.PsiUtil#isLanguageLevel5OrHigher(com.intellij.psi.PsiElement)} (to remove in IDEA 13) */
@SuppressWarnings("UnusedDeclaration")
public boolean hasEnumKeywordAndAutoboxing() {
return isAtLeast(JDK_1_5);
}
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
* Copyright 2000-2012 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -87,6 +87,7 @@ public interface JavaTokenType extends TokenType{
IElementType TRY_KEYWORD = new IKeywordElementType("TRY_KEYWORD");
IElementType VOLATILE_KEYWORD = new IKeywordElementType("VOLATILE_KEYWORD");
IElementType THROWS_KEYWORD = new IKeywordElementType("THROWS_KEYWORD");
IElementType NONE_KEYWORD = new IKeywordElementType("NONE_KEYWORD");
IElementType LPARENTH = new IJavaElementType("LPARENTH");
IElementType RPARENTH = new IJavaElementType("RPARENTH");
@@ -139,6 +140,9 @@ public interface JavaTokenType extends TokenType{
IElementType GTGTEQ = new IJavaElementType("GTGTEQ");
IElementType GTGTGTEQ = new IJavaElementType("GTGTGTEQ");
IElementType DOUBLE_COLON = new IJavaElementType("DOUBLE_COLON");
IElementType ARROW = new IJavaElementType("ARROW");
TokenSet OPERATION_BIT_SET = TokenSet.create(
EQ, GT, LT, EXCL, TILDE, QUEST, COLON, PLUS, MINUS, ASTERISK, DIV, AND, OR, XOR,
PERC, EQEQ, LE, GE, NE, ANDAND, OROR, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT,
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
* Copyright 2000-2012 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -104,7 +104,7 @@ public class PsiPrimitiveType extends PsiType {
@Nullable
public static PsiPrimitiveType getUnboxedType(PsiType type) {
if (!(type instanceof PsiClassType)) return null;
if (!((PsiClassType)type).getLanguageLevel().hasEnumKeywordAndAutoboxing()) return null;
if (!((PsiClassType)type).getLanguageLevel().isAtLeast(LanguageLevel.JDK_1_5)) return null;
final PsiClass psiClass = ((PsiClassType)type).resolve();
if (psiClass == null) return null;
return ourQNameToUnboxed.get(psiClass.getQualifiedName());
@@ -124,7 +124,7 @@ public class PsiPrimitiveType extends PsiType {
@Nullable
public PsiClassType getBoxedType(PsiElement context) {
LanguageLevel languageLevel = PsiUtil.getLanguageLevel(context);
if (!languageLevel.hasEnumKeywordAndAutoboxing()) return null;
if (!languageLevel.isAtLeast(LanguageLevel.JDK_1_5)) return null;
final String boxedQName = getBoxedTypeName();
//[ven]previous call returns null for NULL, VOID
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2011 JetBrains s.r.o.
* Copyright 2000-2012 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -780,7 +780,7 @@ public class TypeConversionUtil {
private static final Key<CachedValue<Set<String>>> POSSIBLE_BOXED_HOLDER_TYPES = Key.create("Types that may be possibly assigned from primitive ones");
private static boolean isBoxable(final PsiClassType left, final PsiPrimitiveType right) {
if (!left.getLanguageLevel().hasEnumKeywordAndAutoboxing()) return false;
if (!left.getLanguageLevel().isAtLeast(LanguageLevel.JDK_1_5)) return false;
final PsiClass psiClass = left.resolve();
if (psiClass == null) return false;
@@ -1,9 +1,8 @@
psi.error.attempt.to.edit.class.file=Cannot modify compiled element
#language levels
jdk.1.3.language.level.description=1.3 - Plain old Java
jdk.1.4.language.level.description=1.4 - 'assert' keyword
jdk.1.5.language.level.description=5.0 - 'enum' keyword, autoboxing, etc.
jdk.1.5.language.level.description=5.0 - 'enum' keyword, autoboxing etc.
jdk.1.6.language.level.description=6.0 - @Override in interfaces
jdk.1.7.language.level.description=7.0 - Diamonds, ARM, multi-catch, etc.
jdk.1.8.language.level.description=8.0 - Type annotations
jdk.1.7.language.level.description=7.0 - Diamonds, ARM, multi-catch etc.
jdk.1.8.language.level.description=8.0 - Lambdas, type annotations etc.