From 9cd6bf4d3d1b7ce0adb415f320e53636f08ac691 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 31 Jan 2013 17:36:57 +0100 Subject: [PATCH] EA-43375 - CCE: CollectionBinding. --- .../src/com/intellij/util/xmlb/CollectionBinding.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/platform/util/src/com/intellij/util/xmlb/CollectionBinding.java b/platform/util/src/com/intellij/util/xmlb/CollectionBinding.java index 26d271b78248..1a06848a1ada 100644 --- a/platform/util/src/com/intellij/util/xmlb/CollectionBinding.java +++ b/platform/util/src/com/intellij/util/xmlb/CollectionBinding.java @@ -17,11 +17,20 @@ package com.intellij.util.xmlb; import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; import java.util.*; class CollectionBinding extends AbstractCollectionBinding { public CollectionBinding(ParameterizedType type, final Accessor accessor) { - super((Class)type.getActualTypeArguments()[0], Constants.COLLECTION, accessor); + super(getComponentClass(type), Constants.COLLECTION, accessor); + } + + private static Class getComponentClass(ParameterizedType type) { + Type arg = type.getActualTypeArguments()[0]; + if (arg instanceof ParameterizedType) { + return (Class)((ParameterizedType)arg).getRawType(); + } + return (Class)arg; }