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 classTemplateMethod.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 intNO_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 booleancanBeAccessedByInstanceOf(javax.lang.model.type.TypeMirror type)intcompareBySignature(TemplateMethod compareMethod)protected static intcompareParameter(TypeSystemData data, javax.lang.model.type.TypeMirror signature1, javax.lang.model.type.TypeMirror signature2)intcompareTo(TemplateMethod o)java.util.List<Parameter>findByExecutionData(NodeExecutionData execution)protected java.util.List<MessageContainer>findChildContainers()ParameterfindParameter(java.lang.String valueName)java.util.List<Parameter>findParameters(ParameterSpec spec)java.lang.StringgetId()javax.lang.model.element.AnnotationMirrorgetMarkerAnnotation()javax.lang.model.element.AnnotationMirrorgetMessageAnnotation()javax.lang.model.element.ElementgetMessageElement()javax.lang.model.element.ExecutableElementgetMethod()java.lang.StringgetMethodName()intgetNaturalOrder()java.util.List<Parameter>getParameters()java.util.List<Parameter>getParametersAfter(Parameter genericParameter)ParametergetPreviousParam(Parameter searchParam)java.util.List<Parameter>getRequiredParameters()ParametergetReturnType()java.util.List<Parameter>getReturnTypeAndParameters()ParametergetSignatureParameter(int searchIndex)java.lang.Iterable<Parameter>getSignatureParameters()intgetSignatureSize()static java.util.List<javax.lang.model.type.TypeMirror>getSignatureTypes(TemplateMethod method)MethodSpecgetSpecification()TemplategetTemplate()TemplateMethod.TypeSignaturegetTypeSignature()voidreplaceParameter(java.lang.String localName, Parameter newParameter)voidsetId(java.lang.String id)java.lang.StringtoString()voidupdateSignature(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:
getMessageElementin classMessageContainer
-
getMessageAnnotation
public javax.lang.model.element.AnnotationMirror getMessageAnnotation()
- Overrides:
getMessageAnnotationin classMessageContainer
-
findChildContainers
protected java.util.List<MessageContainer> findChildContainers()
- Overrides:
findChildContainersin 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:
toStringin 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:
compareToin 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)
-
-