Class TemplateMethod
- java.lang.Object
-
- com.oracle.truffle.dsl.processor.model.MessageContainer
-
- com.oracle.truffle.dsl.processor.model.TemplateMethod
-
- All Implemented Interfaces:
java.lang.Comparable<TemplateMethod>
,java.lang.Iterable<MessageContainer>
- Direct Known Subclasses:
CreateCastData
,ExecutableTypeData
,GuardData
,ImplicitCastData
,ShortCircuitData
,SpecializationData
,TypeCastData
,TypeCheckData
public class TemplateMethod extends MessageContainer implements java.lang.Comparable<TemplateMethod>
Note: this class has a natural ordering that is inconsistent with equals.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TemplateMethod.TypeSignature
-
Nested classes/interfaces inherited from class com.oracle.truffle.dsl.processor.model.MessageContainer
MessageContainer.Message
-
-
Field Summary
Fields Modifier and Type Field Description static int
NO_NATURAL_ORDER
-
Constructor Summary
Constructors Constructor Description TemplateMethod(TemplateMethod method)
TemplateMethod(TemplateMethod method, javax.lang.model.element.ExecutableElement executable)
TemplateMethod(java.lang.String id, int naturalOrder, Template template, MethodSpec specification, javax.lang.model.element.ExecutableElement method, javax.lang.model.element.AnnotationMirror markerAnnotation, Parameter returnType, java.util.List<Parameter> parameters)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canBeAccessedByInstanceOf(javax.lang.model.type.TypeMirror type)
int
compareBySignature(TemplateMethod compareMethod)
protected static int
compareParameter(TypeSystemData data, javax.lang.model.type.TypeMirror signature1, javax.lang.model.type.TypeMirror signature2)
int
compareTo(TemplateMethod o)
java.util.List<Parameter>
findByExecutionData(NodeExecutionData execution)
protected java.util.List<MessageContainer>
findChildContainers()
Parameter
findParameter(java.lang.String valueName)
java.util.List<Parameter>
findParameters(ParameterSpec spec)
java.lang.String
getId()
javax.lang.model.element.AnnotationMirror
getMarkerAnnotation()
javax.lang.model.element.AnnotationMirror
getMessageAnnotation()
javax.lang.model.element.Element
getMessageElement()
javax.lang.model.element.ExecutableElement
getMethod()
java.lang.String
getMethodName()
int
getNaturalOrder()
java.util.List<Parameter>
getParameters()
java.util.List<Parameter>
getParametersAfter(Parameter genericParameter)
Parameter
getPreviousParam(Parameter searchParam)
java.util.List<Parameter>
getRequiredParameters()
Parameter
getReturnType()
java.util.List<Parameter>
getReturnTypeAndParameters()
Parameter
getSignatureParameter(int searchIndex)
java.lang.Iterable<Parameter>
getSignatureParameters()
int
getSignatureSize()
static java.util.List<javax.lang.model.type.TypeMirror>
getSignatureTypes(TemplateMethod method)
MethodSpec
getSpecification()
Template
getTemplate()
TemplateMethod.TypeSignature
getTypeSignature()
void
replaceParameter(java.lang.String localName, Parameter newParameter)
void
setId(java.lang.String id)
java.lang.String
toString()
void
updateSignature(TemplateMethod.TypeSignature signature)
-
Methods inherited from class com.oracle.truffle.dsl.processor.model.MessageContainer
addError, addError, addError, addWarning, addWarning, collectMessages, emitMessages, getBaseContainer, getMessageAnnotationValue, getMessages, hasErrors, iterator
-
-
-
-
Field Detail
-
NO_NATURAL_ORDER
public static final int NO_NATURAL_ORDER
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
TemplateMethod
public TemplateMethod(java.lang.String id, int naturalOrder, Template template, MethodSpec specification, javax.lang.model.element.ExecutableElement method, javax.lang.model.element.AnnotationMirror markerAnnotation, Parameter returnType, java.util.List<Parameter> parameters)
-
TemplateMethod
public TemplateMethod(TemplateMethod method)
-
TemplateMethod
public TemplateMethod(TemplateMethod method, javax.lang.model.element.ExecutableElement executable)
-
-
Method Detail
-
getNaturalOrder
public int getNaturalOrder()
-
getMessageElement
public javax.lang.model.element.Element getMessageElement()
- Specified by:
getMessageElement
in classMessageContainer
-
getMessageAnnotation
public javax.lang.model.element.AnnotationMirror getMessageAnnotation()
- Overrides:
getMessageAnnotation
in classMessageContainer
-
findChildContainers
protected java.util.List<MessageContainer> findChildContainers()
- Overrides:
findChildContainers
in classMessageContainer
-
setId
public void setId(java.lang.String id)
-
getId
public java.lang.String getId()
-
getTemplate
public Template getTemplate()
-
getSpecification
public MethodSpec getSpecification()
-
getReturnType
public Parameter getReturnType()
-
replaceParameter
public void replaceParameter(java.lang.String localName, Parameter newParameter)
-
getRequiredParameters
public java.util.List<Parameter> getRequiredParameters()
-
getSignatureParameters
public java.lang.Iterable<Parameter> getSignatureParameters()
-
getParameters
public java.util.List<Parameter> getParameters()
-
findParameters
public java.util.List<Parameter> findParameters(ParameterSpec spec)
-
findByExecutionData
public java.util.List<Parameter> findByExecutionData(NodeExecutionData execution)
-
findParameter
public Parameter findParameter(java.lang.String valueName)
-
getReturnTypeAndParameters
public java.util.List<Parameter> getReturnTypeAndParameters()
-
canBeAccessedByInstanceOf
public boolean canBeAccessedByInstanceOf(javax.lang.model.type.TypeMirror type)
-
getMethod
public javax.lang.model.element.ExecutableElement getMethod()
-
getMethodName
public java.lang.String getMethodName()
-
getMarkerAnnotation
public javax.lang.model.element.AnnotationMirror getMarkerAnnotation()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getSignatureSize
public int getSignatureSize()
-
getTypeSignature
public TemplateMethod.TypeSignature getTypeSignature()
-
getSignatureParameter
public Parameter getSignatureParameter(int searchIndex)
-
updateSignature
public void updateSignature(TemplateMethod.TypeSignature signature)
-
compareTo
public int compareTo(TemplateMethod o)
- Specified by:
compareTo
in interfacejava.lang.Comparable<TemplateMethod>
-
compareBySignature
public int compareBySignature(TemplateMethod compareMethod)
-
compareParameter
protected static int compareParameter(TypeSystemData data, javax.lang.model.type.TypeMirror signature1, javax.lang.model.type.TypeMirror signature2)
-
getSignatureTypes
public static java.util.List<javax.lang.model.type.TypeMirror> getSignatureTypes(TemplateMethod method)
-
-