161db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti/*
2afa8f6f583892db62572d5db3a419c98d6ad936aFederico Tomassetti * Copyright (C) 2007-2010 Júlio Vilmar Gesser.
3afa8f6f583892db62572d5db3a419c98d6ad936aFederico Tomassetti * Copyright (C) 2011, 2013-2016 The JavaParser Team.
461db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti *
5afa8f6f583892db62572d5db3a419c98d6ad936aFederico Tomassetti * This file is part of JavaParser.
661db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti *
7afa8f6f583892db62572d5db3a419c98d6ad936aFederico Tomassetti * JavaParser can be used either under the terms of
8afa8f6f583892db62572d5db3a419c98d6ad936aFederico Tomassetti * a) the GNU Lesser General Public License as published by
9afa8f6f583892db62572d5db3a419c98d6ad936aFederico Tomassetti *     the Free Software Foundation, either version 3 of the License, or
10afa8f6f583892db62572d5db3a419c98d6ad936aFederico Tomassetti *     (at your option) any later version.
11afa8f6f583892db62572d5db3a419c98d6ad936aFederico Tomassetti * b) the terms of the Apache License
1261db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti *
13afa8f6f583892db62572d5db3a419c98d6ad936aFederico Tomassetti * You should have received a copy of both licenses in LICENCE.LGPL and
14afa8f6f583892db62572d5db3a419c98d6ad936aFederico Tomassetti * LICENCE.APACHE. Please refer to those files for details.
15afa8f6f583892db62572d5db3a419c98d6ad936aFederico Tomassetti *
16afa8f6f583892db62572d5db3a419c98d6ad936aFederico Tomassetti * JavaParser is distributed in the hope that it will be useful,
17afa8f6f583892db62572d5db3a419c98d6ad936aFederico Tomassetti * but WITHOUT ANY WARRANTY; without even the implied warranty of
18afa8f6f583892db62572d5db3a419c98d6ad936aFederico Tomassetti * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19afa8f6f583892db62572d5db3a419c98d6ad936aFederico Tomassetti * GNU Lesser General Public License for more details.
2061db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti */
2161db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti
2261db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassettipackage com.github.javaparser.resolution.declarations;
2361db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti
2461db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassettiimport com.github.javaparser.resolution.types.ResolvedType;
2561db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti
2661db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti/**
2761db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti * A declaration of a method (either in an interface, a class, an enum or an annotation).
2861db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti *
2961db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti * @author Federico Tomassetti
3061db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti */
3161db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassettipublic interface ResolvedMethodDeclaration extends ResolvedMethodLikeDeclaration {
3261db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti
3361db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti    /**
3461db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti     * The type of the value returned by the current method. This method can also be invoked
3561db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti     * for methods returning void.
3661db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti     */
3761db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti    ResolvedType getReturnType();
3861db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti
3961db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti    /**
4061db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti     * Is the method abstract? All interface methods not marked as default are abstract.
4161db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti     */
4261db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti    boolean isAbstract();
4361db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti
4461db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti    /**
4561db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti     * Is this a default method?
4661db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti     */
4761db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti    boolean isDefaultMethod();
4861db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti
4961db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti    /*
5061db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti     * Is this method static?
5161db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti     */
5261db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti    boolean isStatic();
5361db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti
5461db2ec5c6d8a2146b83bc92203c844b82d6f345Federico Tomassetti}
55