SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
research:jtransformer:api:java:pefs:4.0:membervaluet [2014/07/07 15:29]
fabian.noth created
research:jtransformer:api:java:pefs:4.0:membervaluet [2018/05/09 01:59] (current)
Line 1: Line 1:
 +{{page>​prologast_bodypef_index&​fullpage&​nofooter}}
 +
 +----
 +=== memberValueT(#​id,​ #parent, #​annotationMember,​ #​valueLiteral) ===
 +++ Java 5 Syntax Element | - supported since JTransformer 2.3.  ++
 +== ==
 +Represents a member value pair in an [[annotationt|annotationT]] expression.
 +For example queries see the [[annotationt|annotationT]] description.
 +
 +=== Arguments ===
 +== ==
 +**#id:** id\\ 
 +the unique ID assigned to this fact.
 +
 +**#​parent:​** [[annotationT|annotationT]]\\ ​
 +the parent element.\\
 +Either the ID of the annotated element or [[membervaluet|memberValueT]] fact in case of a nested annotation.\\
 +e.g. ''​@Ann2''​ in  ''​ @Ann(value = 1, ann1 = @Ann2(id=1)) ''​
 +
 +**#​annotationMember :** [[annotationmembert|annotationMemberT]],​ null \\ 
 +the referenced annotation member.
 +
 +**#​valueLiteral:​** [[annotationExpressionType]],​ null
 +
 +
 +=== Sample Java Source ===
 +== ==
 +<​Code>​
 +@ThisAnnotation("​Important"​)
 +public void method(){
 +}
 +</​Code>​
 +
 +=== Its PEF Representation ===
 +== ==
 +<Code lang-prolog>​
 +annotationT(#​Annotation,​ #Annotated, #Annotated, _, [#​MemberValue]),​
 +memberValueT(#​MemberValue,​ #​Annotation,​ '​null',​ #Literal),
 +literalT(#​Literal,​ #​MemberValue,​ #Annotated, #Type, '​Important'​),​
 +annotatedT(#​Method,​ #​Annotation),​
 +methodT(#​Method,​_,'​method',​ [], #type, [], #body)
 +</​Code>​
 +
 +=== AST Specification ===
 +== ==
 +<​Code>​
 +ast_node_def('​Java',​memberValueT,​[
 +     ​ast_arg(id, ​    ​mult(1,​1,​no ), id,   ​[memberValueT]),​
 +     ​ast_arg(parent,​ mult(1,1,no ), id,   ​[annotationT]), ​
 +     ​ast_arg(ref, ​   mult(1,1,no ), id,   ​[annotationMemberT,​ nullType]),
 +     ​ast_arg(default,​mult(1,​1,​no ), id,   ​[nullType,​ annotationExpressionType])
 +]).
 +</​Code>​
 +
  

SEWiki, © 2019