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
Since: Together 3.0
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.
 ObjectvisitDirectInitExpression(SciDirectInitExpression sciDirectInitExpression)
          Performs an action upon SciDirectInitExpression.
 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

visitDirectInitExpression

public Object visitDirectInitExpression(SciDirectInitExpression sciDirectInitExpression)
Performs an action upon SciDirectInitExpression.
Parameters:
sciDirectInitExpression the SciDirectInitExpression 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