annotate src/clojure/asm/FieldVisitor.java @ 10:ef7dbbd6452c

added clojure source goodness
author Robert McIntyre <rlm@mit.edu>
date Sat, 21 Aug 2010 06:25:44 -0400
parents
children
rev   line source
rlm@10 1 /***
rlm@10 2 * ASM: a very small and fast Java bytecode manipulation framework
rlm@10 3 * Copyright (c) 2000-2005 INRIA, France Telecom
rlm@10 4 * All rights reserved.
rlm@10 5 *
rlm@10 6 * Redistribution and use in source and binary forms, with or without
rlm@10 7 * modification, are permitted provided that the following conditions
rlm@10 8 * are met:
rlm@10 9 * 1. Redistributions of source code must retain the above copyright
rlm@10 10 * notice, this list of conditions and the following disclaimer.
rlm@10 11 * 2. Redistributions in binary form must reproduce the above copyright
rlm@10 12 * notice, this list of conditions and the following disclaimer in the
rlm@10 13 * documentation and/or other materials provided with the distribution.
rlm@10 14 * 3. Neither the name of the copyright holders nor the names of its
rlm@10 15 * contributors may be used to endorse or promote products derived from
rlm@10 16 * this software without specific prior written permission.
rlm@10 17 *
rlm@10 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
rlm@10 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
rlm@10 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
rlm@10 21 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
rlm@10 22 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
rlm@10 23 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
rlm@10 24 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
rlm@10 25 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
rlm@10 26 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
rlm@10 27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
rlm@10 28 * THE POSSIBILITY OF SUCH DAMAGE.
rlm@10 29 */
rlm@10 30 package clojure.asm;
rlm@10 31
rlm@10 32 /**
rlm@10 33 * A visitor to visit a Java field. The methods of this interface must be called
rlm@10 34 * in the following order: ( <tt>visitAnnotation</tt> |
rlm@10 35 * <tt>visitAttribute</tt> )* <tt>visitEnd</tt>.
rlm@10 36 *
rlm@10 37 * @author Eric Bruneton
rlm@10 38 */
rlm@10 39 public interface FieldVisitor{
rlm@10 40
rlm@10 41 /**
rlm@10 42 * Visits an annotation of the field.
rlm@10 43 *
rlm@10 44 * @param desc the class descriptor of the annotation class.
rlm@10 45 * @param visible <tt>true</tt> if the annotation is visible at runtime.
rlm@10 46 * @return a visitor to visit the annotation values, or <tt>null</tt> if
rlm@10 47 * this visitor is not interested in visiting this annotation.
rlm@10 48 */
rlm@10 49 AnnotationVisitor visitAnnotation(String desc, boolean visible);
rlm@10 50
rlm@10 51 /**
rlm@10 52 * Visits a non standard attribute of the field.
rlm@10 53 *
rlm@10 54 * @param attr an attribute.
rlm@10 55 */
rlm@10 56 void visitAttribute(Attribute attr);
rlm@10 57
rlm@10 58 /**
rlm@10 59 * Visits the end of the field. This method, which is the last one to be
rlm@10 60 * called, is used to inform the visitor that all the annotations and
rlm@10 61 * attributes of the field have been visited.
rlm@10 62 */
rlm@10 63 void visitEnd();
rlm@10 64 }