/* * 03/21/2010 * * Copyright (C) 2010 Robert Futrell * robert_futrell at users.sourceforge.net * http://fifesoft.com/rsyntaxtextarea * * This library is distributed under a modified BSD license. See the included * RSTALanguageSupport.License.txt file for details. */ package org.fife.rsta.ac.java.rjc.ast; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.fife.rsta.ac.java.rjc.lang.Type; import org.fife.rsta.ac.java.rjc.lexer.Scanner; /** * An interface declaration: * * <pre> * NormalInterfaceDeclaration: * 'interface' Identifier [TypeParameters] ['extends' TypeList] InterfaceBody * </pre> * * @author Robert Futrell * @version 1.0 */ public class NormalInterfaceDeclaration extends AbstractTypeDeclarationNode { private List extendedList; public NormalInterfaceDeclaration(Scanner s, int offs, String name) { super(name, s.createOffset(offs), s.createOffset(offs+name.length())); extendedList = new ArrayList(1); // Usually small } public void addExtended(Type extended) { extendedList.add(extended); } public int getExtendedCount() { return extendedList.size(); } public Iterator getExtendedIterator() { return extendedList.iterator(); } public String getTypeString() { return "interface"; } }