Package org.codehaus.janino

# Class IClass.IInvocable

java.lang.Object
org.codehaus.janino.IClass.IInvocable

All Implemented Interfaces:
  `IClass.IMember`

Direct Known Subclasses:
  `IClass.IConstructor`, `IClass.IMethod`

Enclosing class:
  `IClass`

public abstract class IClass.IInvocable extends Object implements IClass.IMember
Base class for `IClass.IConstructor` and `IClass.IMethod`.

## Constructor Summary

Constructors
Constructor
Description
`IInvocable()`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`argsNeedAdjust()`
TODO
`IClass`
`getDeclaringIClass()`
`final MethodDescriptor`
`getDescriptor()`
Returns the method descriptor of this constructor or method.
`abstract MethodDescriptor`
`getDescriptor2()`
Uncached implementation of `getDescriptor()`.
`final IClass[]`
`getParameterTypes()`
Returns the types of the parameters of this constructor or method.
`abstract IClass[]`
`getParameterTypes2()`
Opposed to the `Constructor`, there is no magic "`this$0`" parameter.
`final IClass[]`
`getThrownExceptions()`
Returns the types thrown by this constructor or method.
`abstract IClass[]`
`getThrownExceptions2()`
`boolean`
`isLessSpecificThan(IClass.IInvocable that)`
`boolean`
`isMoreSpecificThan(IClass.IInvocable that)`
`abstract boolean`
`isVarargs()`
`void`
`setArgsNeedAdjust(boolean newVal)`
TODO
`abstract String`
`toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.codehaus.janino.IClass.IMember

`getAccess, getAnnotations`

## Constructor Details

### IInvocable

public IInvocable()

## Method Details

### setArgsNeedAdjust

public void setArgsNeedAdjust(boolean newVal)
TODO

### argsNeedAdjust

public boolean argsNeedAdjust()
TODO

### isVarargs

public abstract boolean isVarargs()

Returns:
  Whether this invocable is 'variable arity', i.e. its last parameter has an ellipsis ('...') after the type

### getDeclaringIClass

public IClass getDeclaringIClass()

Specified by:
  `getDeclaringIClass` in interface `IClass.IMember`
Returns:
  The `IClass` that declares this `IClass.IMember`

### getParameterTypes

public final IClass[] getParameterTypes() throws CompileException
Returns the types of the parameters of this constructor or method. This method is fast.

Throws:
  `CompileException`

### getParameterTypes2

public abstract IClass[] getParameterTypes2() throws CompileException
Opposed to the `Constructor`, there is no magic "`this$0`" parameter.

Opposed to the `Constructor`, `enum`s have no magic parameters "`String name`" and "`int ordinal`".

However, the "synthetic parameters" ("`val$`locvar") are included.

Throws:
  `CompileException`

### getDescriptor

public final MethodDescriptor getDescriptor() throws CompileException
Returns the method descriptor of this constructor or method. This method is fast.

Throws:
  `CompileException`

### getDescriptor2

public abstract MethodDescriptor getDescriptor2() throws CompileException
Uncached implementation of `getDescriptor()`.

Throws:
  `CompileException`

### getThrownExceptions

public final IClass[] getThrownExceptions() throws CompileException
Returns the types thrown by this constructor or method. This method is fast.

Throws:
  `CompileException`

### getThrownExceptions2

public abstract IClass[] getThrownExceptions2() throws CompileException

Returns:
  The types thrown by this constructor or method
Throws:
  `CompileException`

### isMoreSpecificThan

public boolean isMoreSpecificThan(IClass.IInvocable that) throws CompileException

Returns:
  Whether this `IClass.IInvocable` is more specific then that (in the sense of JLS7 15.12.2.5)
Throws:
  `CompileException`

### isLessSpecificThan

public boolean isLessSpecificThan(IClass.IInvocable that) throws CompileException

Returns:
  Whether this `IClass.IInvocable` is less specific then that (in the sense of JLS7 15.12.2.5)
Throws:
  `CompileException`

### toString

public abstract String toString()

Overrides:
  `toString` in class `Object`