update copyright
[fedora-idea.git] / java / java-impl / src / com / intellij / refactoring / typeCook / deductive / PsiExtendedTypeVisitor.java
blobe9f7f4d77a71fd74aa08ced4007322d0fd5f58d5
1 /*
2 * Copyright 2000-2009 JetBrains s.r.o.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package com.intellij.refactoring.typeCook.deductive;
18 import com.intellij.psi.PsiClassType;
19 import com.intellij.psi.PsiType;
20 import com.intellij.psi.PsiTypeVisitorEx;
22 /**
23 * Created by IntelliJ IDEA.
24 * User: db
25 * Date: Dec 27, 2004
26 * Time: 7:20:09 PM
27 * To change this template use File | Settings | File Templates.
29 public abstract class PsiExtendedTypeVisitor <X> extends PsiTypeVisitorEx<X> {
30 public X visitClassType(final PsiClassType classType) {
31 super.visitClassType(classType);
32 final PsiClassType.ClassResolveResult result = classType.resolveGenerics();
34 if (result.getElement() != null) {
35 for (final PsiType type : result.getSubstitutor().getSubstitutionMap().values()) {
36 if (type != null) {
37 type.accept(this);
42 return null;