Eos


Home

People

Publications

Download

Documentation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Welcome to Eos at cs.virginia.edu

 

Pointcuts in Eos.
A pointcut expression in Eos can be a named pointcut expression or either of the pointcut designators. The pointcut expressions can be composed using &&, || or !. The syntax of Eos pointcuts is given below.

pointcuts:  
     pointcut 
     | ! pointcuts 
     | pointcuts && pointcut 
     | pointcuts || pointcut 
     | ( pointcuts)   


pointcut 
	 : named pointcut 
	 | execution(method-pattern) 
         | fget( field-pattern) 
	 | fset(field-pattern) 
         | pget(field-pattern) 
	 | pset(field-pattern) 
	 | initialization(constructor-pattern) 
	 | staticinitialization(name-pattern) 
         | handler(name-pattern) 
	 | within(name-pattern) 
	 | withincode(method-pattern) 
	 | this(identifier) 
	 | target(identifier) 
	 | return(identifier) 
	 | aroundptr(identifier) 
	 | joinpoint(identifier) 
	 | args(identifier) 
	 | conditional( conditional-constructs) 
	 | iteration( interation-construct)  

named pointcut: pointcut name ( optional argument list)  

conditional-construct: if | switch | any  
	 
iteration-construct: while | for | foreach | any  
	
method-pattern: optional-modifiers typeorany name-pattern(optional-parameters)  
      An unspecified modifier matches all modifiers i.e. it is equivalent to the regular expression '*'.
      A '..' in place of optional parameters matches to all parameter sequences.

constructor-pattern: optional-modifiers name-pattern(optional-parameters)  

typeorany: any | type  

field-pattern: typeorany name-pattern  

name-pattern: identifier | any | name-pattern.any | name-pattern.identifier  

Copyright © 2005, Hridesh Rajan and Kevin Sullivan, All rights reserved.