/** * Aptana Studio * Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the GNU Public License (GPL) v3 (with exceptions). * Please see the license.html included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ package com.aptana.ruby.core; import java.util.List; import com.aptana.parsing.ast.IParseNode; public interface IRubyElement extends IParseNode { public static final short SCRIPT = 1; public static final short TYPE = 2; public static final short METHOD = 3; public static final short BLOCK = 4; public static final short GLOBAL = 5; public static final short IMPORT_DECLARATION = 6; public static final short CONSTANT = 7; public static final short CLASS_VAR = 8; public static final short INSTANCE_VAR = 9; public static final short LOCAL_VAR = 10; public static final short DYNAMIC_VAR = 11; public static final short FIELD = 12; public static final short IMPORT_CONTAINER = 13; public static final short COMMENT = 14; public String getName(); public short getNodeType(); public IRubyElement[] getChildrenOfType(int type); public List<IRubyElement> getChildrenOfTypeRecursive(int type); }