001/*
002 * Forge Mod Loader
003 * Copyright (c) 2012-2013 cpw.
004 * All rights reserved. This program and the accompanying materials
005 * are made available under the terms of the GNU Lesser Public License v2.1
006 * which accompanies this distribution, and is available at
007 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
008 * 
009 * Contributors:
010 *     cpw - implementation
011 */
012
013package cpw.mods.fml.common.discovery.asm;
014
015import org.objectweb.asm.AnnotationVisitor;
016import org.objectweb.asm.FieldVisitor;
017import org.objectweb.asm.Opcodes;
018
019public class ModFieldVisitor extends FieldVisitor
020{
021
022    private String fieldName;
023    private ASMModParser discoverer;
024
025    public ModFieldVisitor(String name, ASMModParser discoverer)
026    {
027        super(Opcodes.ASM4);
028        this.fieldName = name;
029        this.discoverer = discoverer;
030    }
031    
032    @Override
033    public AnnotationVisitor visitAnnotation(String annotationName, boolean runtimeVisible)
034    {
035        discoverer.startFieldAnnotation(fieldName, annotationName);
036        return new ModAnnotationVisitor(discoverer);
037    }
038}