xtc.type
Class MethodT

java.lang.Object
  extended by xtc.tree.Node
      extended by xtc.type.Type
          extended by xtc.type.DerivedT
              extended by xtc.type.FunctionOrMethodT
                  extended by xtc.type.MethodT
All Implemented Interfaces:
java.lang.Iterable<java.lang.Object>, Locatable

public class MethodT
extends FunctionOrMethodT

A method type.

Version:
$Revision: 1.12 $
Author:
Robert Grimm

Nested Class Summary
 
Nested classes/interfaces inherited from class xtc.type.Type
Type.Tag
 
Field Summary
 
Fields inherited from class xtc.type.FunctionOrMethodT
exceptions, name, parameters, result, varargs
 
Constructor Summary
MethodT(Type result, java.lang.String name, java.util.List<Type> parameters, boolean varargs, java.util.List<Type> exceptions)
          Create a new method type.
MethodT(Type template, Type result, java.lang.String name, java.util.List<Type> parameters, boolean varargs, java.util.List<Type> exceptions)
          Create a new method type.
 
Method Summary
 MethodT copy()
          Create a deep copy of this type.
 boolean isMethod()
          Determine whether this type is a method.
 Type.Tag tag()
          Get this type's tag.
 MethodT toMethod()
          Get this type as a method.
 
Methods inherited from class xtc.type.FunctionOrMethodT
equals, getExceptions, getName, getParameters, getResult, hashCode, isVarArgs, seal, setExceptions, setParameters, setResult, write
 
Methods inherited from class xtc.type.DerivedT
isDerived
 
Methods inherited from class xtc.type.Type
addAttribute, annotate, attribute, attribute, attribute, attributes, cast, checkNotSealed, constant, constant, copy, deannotate, getAttribute, getAttribute, getConstant, getConstant, getLanguage, getLanguage, getLocation, getLocation, getScope, getScope, getShape, getShape, hasAlias, hasAnnotated, hasAttribute, hasAttribute, hasAttribute, hasAttribute, hasAttributes, hasConstant, hasConstant, hasEnum, hasEnumerator, hasError, hasInstantiated, hasLanguage, hasLanguage, hasLocation, hasLocation, hasParameterized, hasScope, hasScope, hasShape, hasShape, hasStructOrUnion, hasTag, hasTagged, hasVariable, hasWTag, isAlias, isAnnotated, isArray, isBoolean, isClass, isConcrete, isEnum, isEnumerator, isError, isFloat, isFunction, isInstantiated, isInteger, isInterface, isInternal, isInternalParameter, isLabel, isNamedParameter, isNumber, isPackage, isParameter, isParameterized, isPointer, isSealed, isStruct, isTuple, isUnion, isUnit, isVariable, isVariant, isVoid, isWildcard, isWrapped, language, locate, locate, mark, properties, removeAttribute, removeProperty, resolve, resolve, scope, seal, setLocation, setLocation, setProperty, shape, shape, toAlias, toAnnotated, toArray, toBoolean, toClass, toEnum, toEnumerator, toFloat, toFunction, toInstantiated, toInteger, toInterface, toInternal, toInternalParameter, toLabel, toNamedParameter, toNumber, toPackage, toParameter, toParameterized, toPointer, toStruct, toStructOrUnion, toTagged, toTuple, toUnion, toUnit, toVariable, toVariant, toVoid, toWildcard, toWrapped, trace, wtag
 
Methods inherited from class xtc.tree.Node
add, add, addAll, addAll, addAll, addAll, addAllTo, addNode, contains, get, getBoolean, getBooleanProperty, getGeneric, getList, getNode, getProperty, getString, getStringProperty, getTokenText, hasName, hasProperty, hasTraversal, indexOf, isAnnotation, isEmpty, isGeneric, isList, isToken, iterator, lastIndexOf, remove, set, size, strip, toAnnotation, toList, toString, toToken
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MethodT

public MethodT(Type result,
               java.lang.String name,
               java.util.List<Type> parameters,
               boolean varargs,
               java.util.List<Type> exceptions)
Create a new method type.

Parameters:
result - The result type.
name - The name.
parameters - The list of parameter types.
varargs - The flag for accepting a variable number of arguments.
exceptions - The list of exceptions, which must not be null

MethodT

public MethodT(Type template,
               Type result,
               java.lang.String name,
               java.util.List<Type> parameters,
               boolean varargs,
               java.util.List<Type> exceptions)
Create a new method type.

Parameters:
template - The type whose annotations to copy.
result - The result type.
name - The name.
parameters - The list of parameter types.
varargs - The flag for accepting a variable number of arguments.
exceptions - The list of exceptions, which must not be null
Method Detail

copy

public MethodT copy()
Description copied from class: Type
Create a deep copy of this type. The resulting type is not sealed.

Specified by:
copy in class Type
Returns:
A deep copy of this type.

tag

public Type.Tag tag()
Description copied from class: Type
Get this type's tag. Invocations to this method are forwarded across wrapped types.

Specified by:
tag in class Type
Returns:
This type's tag.
See Also:
Type.wtag()

isMethod

public boolean isMethod()
Description copied from class: Type
Determine whether this type is a method.

Overrides:
isMethod in class Type
Returns:
true if this type is a method.

toMethod

public MethodT toMethod()
Description copied from class: Type
Get this type as a method.

Overrides:
toMethod in class Type
Returns:
This type as a method.


Copyright © 2012. All Rights Reserved.