/*
* Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package com.sun.source.tree;
import java.util.List;
import javax.lang.model.element.Name;
/**
* A tree node for a method or annotation type element declaration.
*
* For example:
* <pre>
* <em>modifiers</em> <em>typeParameters</em> <em>type</em> <em>name</em>
* ( <em>parameters</em> )
* <em>body</em>
*
* <em>modifiers</em> <em>type</em> <em>name</em> () default <em>defaultValue</em>
* </pre>
*
* @jls sections 8.4, 8.6, 8.7, 9.4, and 9.6
*
* @author Peter von der Ahé
* @author Jonathan Gibbons
* @since 1.6
*/
public interface MethodTree extends Tree {
ModifiersTree getModifiers();
Name getName();
Tree getReturnType();
List<? extends TypeParameterTree> getTypeParameters();
List<? extends VariableTree> getParameters();
List<? extends ExpressionTree> getThrows();
BlockTree getBody();
Tree getDefaultValue(); // for annotation types
}