View | Details | Raw Unified | Return to bug 74244
Collapse All | Expand All

(-)ClassLiteralAccess.java (-2 / +36 lines)
Lines 85-92 Link Here
85
		}
85
		}
86
		ReferenceBinding classType = scope.getJavaLangClass();
86
		ReferenceBinding classType = scope.getJavaLangClass();
87
		if (classType.isGenericType()) {
87
		if (classType.isGenericType()) {
88
		    // Integer.class is of type Class<Integer>
88
			if (targetType.isBaseType()) {
89
		    this.resolvedType = scope.createParameterizedType(classType, new TypeBinding[]{ targetType }, null);
89
				TypeBinding[] arguments = new TypeBinding[1];
90
				switch(targetType.id) {
91
					case T_byte :
92
						arguments[0] = (TypeBinding) scope.getTypeOrPackage(TypeConstants.JAVA_LANG_BYTE);
93
						break;
94
					case T_short :
95
						arguments[0] = (TypeBinding) scope.getTypeOrPackage(TypeConstants.JAVA_LANG_SHORT);
96
						break;
97
					case T_char :
98
						arguments[0] = (TypeBinding) scope.getTypeOrPackage(TypeConstants.JAVA_LANG_CHARACTER);
99
						break;
100
					case T_int :
101
						arguments[0] = (TypeBinding) scope.getTypeOrPackage(TypeConstants.JAVA_LANG_INTEGER);
102
						break;
103
					case T_long :
104
						arguments[0] = (TypeBinding) scope.getTypeOrPackage(TypeConstants.JAVA_LANG_LONG);
105
						break;
106
					case T_float :
107
						arguments[0] = (TypeBinding) scope.getTypeOrPackage(TypeConstants.JAVA_LANG_FLOAT);
108
						break;
109
					case T_double :
110
						arguments[0] = (TypeBinding) scope.getTypeOrPackage(TypeConstants.JAVA_LANG_DOUBLE);
111
						break;
112
					case T_boolean :
113
						arguments[0] = (TypeBinding) scope.getTypeOrPackage(TypeConstants.JAVA_LANG_BOOLEAN);
114
						break;
115
					case T_void :
116
						arguments[0] = (TypeBinding) scope.getTypeOrPackage(TypeConstants.JAVA_LANG_VOID);
117
						break;
118
				}
119
			    this.resolvedType = scope.createParameterizedType(classType, arguments, null);
120
			} else {
121
			    // Integer.class is of type Class<Integer>
122
			    this.resolvedType = scope.createParameterizedType(classType, new TypeBinding[]{ targetType }, null);
123
			}
90
		} else {
124
		} else {
91
		    this.resolvedType = classType;
125
		    this.resolvedType = classType;
92
		}
126
		}

Return to bug 74244