OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [classpath/] [tools/] [external/] [asm/] [org/] [objectweb/] [asm/] [tree/] [MemberNode.java] - Blame information for rev 779

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 779 jeremybenn
/***
2
 * ASM: a very small and fast Java bytecode manipulation framework
3
 * Copyright (c) 2000-2005 INRIA, France Telecom
4
 * All rights reserved.
5
 *
6
 * Redistribution and use in source and binary forms, with or without
7
 * modification, are permitted provided that the following conditions
8
 * are met:
9
 * 1. Redistributions of source code must retain the above copyright
10
 *    notice, this list of conditions and the following disclaimer.
11
 * 2. Redistributions in binary form must reproduce the above copyright
12
 *    notice, this list of conditions and the following disclaimer in the
13
 *    documentation and/or other materials provided with the distribution.
14
 * 3. Neither the name of the copyright holders nor the names of its
15
 *    contributors may be used to endorse or promote products derived from
16
 *    this software without specific prior written permission.
17
 *
18
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
28
 * THE POSSIBILITY OF SUCH DAMAGE.
29
 */
30
package org.objectweb.asm.tree;
31
 
32
import java.util.ArrayList;
33
import java.util.List;
34
 
35
import org.objectweb.asm.AnnotationVisitor;
36
import org.objectweb.asm.Attribute;
37
 
38
/**
39
 * An abstract class, field or method node.
40
 *
41
 * @author Eric Bruneton
42
 */
43
public abstract class MemberNode {
44
 
45
    /**
46
     * The runtime visible annotations of this class, field or method. This list
47
     * is a list of {@link AnnotationNode} objects. May be <tt>null</tt>.
48
     *
49
     * @associates org.objectweb.asm.tree.AnnotationNode
50
     * @label visible
51
     */
52
    public List visibleAnnotations;
53
 
54
    /**
55
     * The runtime invisible annotations of this class, field or method. This
56
     * list is a list of {@link AnnotationNode} objects. May be <tt>null</tt>.
57
     *
58
     * @associates org.objectweb.asm.tree.AnnotationNode
59
     * @label invisible
60
     */
61
    public List invisibleAnnotations;
62
 
63
    /**
64
     * The non standard attributes of this class, field or method. This list is
65
     * a list of {@link Attribute} objects. May be <tt>null</tt>.
66
     *
67
     * @associates org.objectweb.asm.Attribute
68
     */
69
    public List attrs;
70
 
71
    /**
72
     * Constructs a new {@link MemberNode}.
73
     */
74
    public MemberNode() {
75
    }
76
 
77
    /**
78
     * Visits an annotation of this class, field or method.
79
     *
80
     * @param desc the class descriptor of the annotation class.
81
     * @param visible <tt>true</tt> if the annotation is visible at runtime.
82
     * @return a visitor to visit the annotation values.
83
     */
84
    public AnnotationVisitor visitAnnotation(
85
        final String desc,
86
        final boolean visible)
87
    {
88
        AnnotationNode an = new AnnotationNode(desc);
89
        if (visible) {
90
            if (visibleAnnotations == null) {
91
                visibleAnnotations = new ArrayList(1);
92
            }
93
            visibleAnnotations.add(an);
94
        } else {
95
            if (invisibleAnnotations == null) {
96
                invisibleAnnotations = new ArrayList(1);
97
            }
98
            invisibleAnnotations.add(an);
99
        }
100
        return an;
101
    }
102
 
103
    /**
104
     * Visits a non standard attribute of this class, field or method.
105
     *
106
     * @param attr an attribute.
107
     */
108
    public void visitAttribute(final Attribute attr) {
109
        if (attrs == null) {
110
            attrs = new ArrayList(1);
111
        }
112
        attrs.add(attr);
113
    }
114
 
115
    /**
116
     * Visits the end of this class, field or method.
117
     */
118
    public void visitEnd() {
119
    }
120
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.