001    /*
002     * Copyright 2010-2013 JetBrains s.r.o.
003     *
004     * Licensed under the Apache License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     * http://www.apache.org/licenses/LICENSE-2.0
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    
017    package jet.runtime.typeinfo;
018    
019    
020    /**
021     * @url http://confluence.jetbrains.net/display/JET/Jet+Signatures
022     */
023    public @interface JetTypeDescriptor{
024        //
025        // case of type parameter
026        //
027        String varName() default "";
028        boolean reified () default true;
029        int [] upperBounds() default {};
030    
031        //
032        // case of real type
033        //
034        Class  javaClass() default Object.class;
035        JetTypeProjection [] projections() default {};
036    }