com.togethersoft.openapi.sci.visitor
Interface SciExpressionVisitor

All Known Implementing Classes:
SciExpressionVisitorAdapter

public interface SciExpressionVisitor

Visitor design pattern implementation for SciExpressions.

It defines defferent methods for visiting different kinds of expressions (member access expression, function call expression etc.). These methods are called up from SciExpression.accept method which determines the kind of the expression and runs this visitor's corresponding method, passing the expression as a parameter.

For example, this command

 someSciFunctionCallExpression.accept(mySciExpressionVisitor); //mySciExpressionVisitor implements SciExpressionVisitor
will call mySciExpressionVisitor.visitFunctionCallExpression(SciFunctionCallExpression) method, passing someSciFunctionCallExpression to it.

The methods of this interface can be also called from SciStatement.visitExpressions and SciScope.visitExpressions methods.

Every method returns a result of its actions. It can be null if it is not required from this visitor to return any information.

Author:
TogetherSoft
See Also: com.togethersoft.openapi.sci.SciExpression.accept(com.togethersoft.openapi.sci.visitor.SciExpressionVisitor), SciExpressionVisitorAdapter, com.togethersoft.openapi.sci.visitor

Method Summary
 ObjectvisitAssignmentExpression(SciAssignmentExpression sciAssignmentExpression)
           Performs an action upon SciAssignmentExpression.
 ObjectvisitConstantExpression(SciConstantExpression sciConstantExpression)
           Performs an action upon SciConstantExpression.
 ObjectvisitExpression(SciExpression sciExpression)
           Performs an action upon SciExpression.
 ObjectvisitFunctionCallExpression(SciFunctionCallExpression sciFunctionCallExpression)
           Performs an action upon SciFunctionCallExpression.
 ObjectvisitMemberAccessExpression(SciMemberAccessExpression sciMemberAccessExpression)
           Performs an action upon SciMemberAccessExpression.
 ObjectvisitNewExpression(SciNewExpression sciNewExpression)
           Performs an action upon SciNewExpression.
 ObjectvisitReferenceExpression(SciReferenceExpression sciReferenceExpression)
           Performs an action upon SciReferenceExpression.
 ObjectvisitTypeCastExpression(SciTypeCastExpression sciTypeCastExpression)
           Performs an action upon SciTypeCastExpression.
 ObjectvisitTypeExpression(SciTypeExpression sciTypeExpression)
           Performs an action upon SciTypeExpression.

Method Detail

visitAssignmentExpression

public Object visitAssignmentExpression(SciAssignmentExpression sciAssignmentExpression)
Performs an action upon SciAssignmentExpression.
Parameters:
sciAssignmentExpression - the SciAssignmentExpression which is the subject for the action
Returns: a visitor-specific result

visitConstantExpression

public Object visitConstantExpression(SciConstantExpression sciConstantExpression)
Performs an action upon SciConstantExpression.
Parameters:
sciConstantExpression - the SciConstantExpression which is the subject for the action
Returns: a visitor-specific result

visitExpression

public Object visitExpression(SciExpression sciExpression)
Performs an action upon SciExpression.
Parameters:
sciExpression - the SciExpression which is the subject for the action
Returns: a visitor-specific result

visitFunctionCallExpression

public Object visitFunctionCallExpression(SciFunctionCallExpression sciFunctionCallExpression)
Performs an action upon SciFunctionCallExpression.
Parameters:
sciFunctionCallExpression - the SciFunctionCallExpression which is the subject for the action
Returns: a visitor-specific result

visitMemberAccessExpression

public Object visitMemberAccessExpression(SciMemberAccessExpression sciMemberAccessExpression)
Performs an action upon SciMemberAccessExpression.
Parameters:
sciMemberAccessExpression - the SciMemberAccessExpression which is the subject for the action
Returns: a visitor-specific result

visitNewExpression

public Object visitNewExpression(SciNewExpression sciNewExpression)
Performs an action upon SciNewExpression.
Parameters:
sciNewExpression - the SciNewExpression which is the subject for the action
Returns: a visitor-specific result

visitReferenceExpression

public Object visitReferenceExpression(SciReferenceExpression sciReferenceExpression)
Performs an action upon SciReferenceExpression.
Parameters:
sciReferenceExpression - the SciReferenceExpression which is the subject for the action
Returns: a visitor-specific result

visitTypeCastExpression

public Object visitTypeCastExpression(SciTypeCastExpression sciTypeCastExpression)
Performs an action upon SciTypeCastExpression.
Parameters:
sciTypeCastExpression - the SciTypeCastExpression which is the subject for the action
Returns: a visitor-specific result

visitTypeExpression

public Object visitTypeExpression(SciTypeExpression sciTypeExpression)
Performs an action upon SciTypeExpression.
Parameters:
sciTypeExpression - the SciTypeExpression which is the subject for the action
Returns: a visitor-specific result