/* * Copyright 2000-2014 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. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.intellij.codeInspection.bytecodeAnalysis.data; import com.intellij.codeInspection.bytecodeAnalysis.BytecodeAnalysisConverter; import com.intellij.codeInspection.bytecodeAnalysis.ExpectNoPsiKey; /** * @author lambdamix */ public class TestConverterData { public static class StaticNestedClass { public StaticNestedClass(Object o) { } public StaticNestedClass[] test01(StaticNestedClass[] ns, StaticNestedClass... ellipsis) { return ns; } } public class InnerClass { // a reference to outer class should be inserted when translating PSI -> ASM public InnerClass(Object o) {} public InnerClass[] Inner2test01(InnerClass[] tests, InnerClass... ellipsis) { return tests; } } public static class GenericStaticNestedClass<A> { public GenericStaticNestedClass(A a) { } public GenericStaticNestedClass[] test01(GenericStaticNestedClass[] ns, GenericStaticNestedClass... ellipsis) { return ns; } public GenericStaticNestedClass<A>[] test02(GenericStaticNestedClass<A>[] ns, GenericStaticNestedClass<A>... ellipsis) { return ns; } public class GenericInnerClass<B> { public GenericInnerClass(B b) {} public <C> GenericStaticNestedClass<A> test01(GenericInnerClass<C> c) { return GenericStaticNestedClass.this; } } } public TestConverterData(int x) {} // BytecodeAnalysisConverter class is not in the project path, so translation from PSI is impossible @ExpectNoPsiKey public BytecodeAnalysisConverter test01(BytecodeAnalysisConverter converter) { return converter; } @TestAnnotation public TestConverterData[] test02(@TestAnnotation TestConverterData[] tests) throws Exception { return tests; } public boolean[] test03(boolean[] b) { return b; } }