Overview | Package | Class | Use | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.togethersoft.openapi.sci.visitor
Interface SciExpressionVisitor

All Known Implementing Classes:
  SciExpressionVisitorAdapter

public interface SciExpressionVisitor

Visitor design pattern implementation for `SciExpression`s.

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
`Object` | `visitAssignmentExpression(SciAssignmentExpression sciAssignmentExpression)` Performs an action upon `SciAssignmentExpression`.
`Object` | `visitConstantExpression(SciConstantExpression sciConstantExpression)` Performs an action upon `SciConstantExpression`.
`Object` | `visitExpression(SciExpression sciExpression)` Performs an action upon `SciExpression`.
`Object` | `visitFunctionCallExpression(SciFunctionCallExpression sciFunctionCallExpression)` Performs an action upon `SciFunctionCallExpression`.
`Object` | `visitMemberAccessExpression(SciMemberAccessExpression sciMemberAccessExpression)` Performs an action upon `SciMemberAccessExpression`.
`Object` | `visitNewExpression(SciNewExpression sciNewExpression)` Performs an action upon `SciNewExpression`.
`Object` | `visitReferenceExpression(SciReferenceExpression sciReferenceExpression)` Performs an action upon `SciReferenceExpression`.
`Object` | `visitTypeCastExpression(SciTypeCastExpression sciTypeCastExpression)` Performs an action upon `SciTypeCastExpression`.
`Object` | `visitTypeExpression(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

Overview | Package | Class | Use | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD