C# Class DataDictionary.Interpreter.Call

Inheritance: Expression
Show file Open project: ERTMSSolutions/ERTMSFormalSpecs Class Usage Examples

Public Methods

Method Description
AddActualParameter ( Designator designator, Expression expression ) : void

Adds an expression as a parameter

AssignParameterValues ( DataDictionary.Interpreter.InterpretationContext context, ICallable callable, bool log, ExplanationPart explain ) : IValue>.Dictionary

Creates the parameter value associationg according to actual parameters

Call ( ModelElement root, ModelElement log, Expression called, DataDictionary.Interpreter.ParsingData parsingData ) : System

Constructor

CheckExpression ( ) : void

Checks the expression and appends errors to the root tree node when inconsistencies are found

CreateGraph ( DataDictionary.Interpreter.InterpretationContext context, Utils.Parameter parameter, ExplanationPart explain ) : Graph

Creates the graph associated to this expression, when the given parameter ranges over the X axis

CreateSurface ( DataDictionary.Interpreter.InterpretationContext context, Utils.Parameter xParam, Utils.Parameter yParam, ExplanationPart explain ) : Surface

Provides the surface of this function if it has been statically defined

Fill ( List retVal, DataDictionary.Interpreter.Filter.BaseFilter filter ) : void

Fills the list provided with the element matching the filter provided

GetCalled ( DataDictionary.Interpreter.InterpretationContext context, ExplanationPart explain ) : ICallable

Provides the callable that is called by this expression

GetExplain ( TextualExplanation explanation, bool explainSubElements = true ) : void

Builds the explanation of the element

GetExpressionType ( ) : Type

Provides the type of this expression

GetFunction ( DataDictionary.Interpreter.InterpretationContext context, ExplanationPart explain ) : Function

The function which is called by this call statement

GetProcedure ( DataDictionary.Interpreter.InterpretationContext context, ExplanationPart explain ) : Procedure

The procedure which is called by this call statement

GetStaticCallable ( ) : ICallable

Provides the ICallable that is statically defined

IsInstance ( ) : bool

Indicates whether this expression references an instance

Reads ( ITypedElement variable ) : bool

Indicates whether this call may read a given variable

SemanticAnalysis ( INamable instance, DataDictionary.Interpreter.Filter.BaseFilter expectation ) : bool

Performs the semantic analysis of the expression

Protected Methods

Method Description
GetValue ( DataDictionary.Interpreter.InterpretationContext context, ExplanationPart explain ) : IValue

Provides the value associated to this Expression

Private Methods

Method Description
CheckActualAgainstFormal ( Expression>.Dictionary actuals, Expression expression, Utils.Parameter parameter ) : void
CreateParameterAssociation ( ICallable callable ) : Expression>.Dictionary

Creates the association between parameter (from the called ICallable) and its associated expression

GetParameterAssociation ( ICallable callable ) : Expression>.Dictionary

Provides the parameter association according to the icallable provided. If the call is statically determined, take the cached association

GetPlaceHolders ( Function function, IValue>.Dictionary parameterValues ) : List

Provides the parameters whose value are place holders

ParameterValues ( IValue>.Dictionary parameterValues ) : string

Provides the parameter's values along with their name

SelectXandYAxis ( Utils.Parameter xParam, Utils.Parameter yParam, Function function, Utils.Parameter &xAxis, Utils.Parameter &yAxis ) : void

Selects the X and Y axis of the surface to be created according to the function for which the surface need be created and the parameters on which the surface is created

Method Details

AddActualParameter() public method

Adds an expression as a parameter
public AddActualParameter ( Designator designator, Expression expression ) : void
designator Designator the name of the actual parameter
expression Expression the actual parameter value
return void

AssignParameterValues() public method

Creates the parameter value associationg according to actual parameters
public AssignParameterValues ( DataDictionary.Interpreter.InterpretationContext context, ICallable callable, bool log, ExplanationPart explain ) : IValue>.Dictionary
context DataDictionary.Interpreter.InterpretationContext The interpretation context
callable ICallable The callable
log bool Indicates whether errors should be logged
explain ExplanationPart
return IValue>.Dictionary

Call() public method

Constructor
public Call ( ModelElement root, ModelElement log, Expression called, DataDictionary.Interpreter.ParsingData parsingData ) : System
root ModelElement The root element for which this element is built
log ModelElement
called Expression The called function
parsingData DataDictionary.Interpreter.ParsingData Additional information about the parsing process
return System

CheckExpression() public method

Checks the expression and appends errors to the root tree node when inconsistencies are found
public CheckExpression ( ) : void
return void

CreateGraph() public method

Creates the graph associated to this expression, when the given parameter ranges over the X axis
public CreateGraph ( DataDictionary.Interpreter.InterpretationContext context, Utils.Parameter parameter, ExplanationPart explain ) : Graph
context DataDictionary.Interpreter.InterpretationContext The interpretation context
parameter Utils.Parameter The parameters of *the enclosing function* for which the graph should be created
explain ExplanationPart
return Graph

CreateSurface() public method

Provides the surface of this function if it has been statically defined
public CreateSurface ( DataDictionary.Interpreter.InterpretationContext context, Utils.Parameter xParam, Utils.Parameter yParam, ExplanationPart explain ) : Surface
context DataDictionary.Interpreter.InterpretationContext the context used to create the surface
xParam Utils.Parameter The X axis of this surface
yParam Utils.Parameter The Y axis of this surface
explain ExplanationPart
return Surface

Fill() public method

Fills the list provided with the element matching the filter provided
public Fill ( List retVal, DataDictionary.Interpreter.Filter.BaseFilter filter ) : void
retVal List The list to be filled with the element matching the condition expressed in the filter
filter DataDictionary.Interpreter.Filter.BaseFilter The filter to apply
return void

GetCalled() public method

Provides the callable that is called by this expression
public GetCalled ( DataDictionary.Interpreter.InterpretationContext context, ExplanationPart explain ) : ICallable
context DataDictionary.Interpreter.InterpretationContext
explain ExplanationPart
return ICallable

GetExplain() public method

Builds the explanation of the element
public GetExplain ( TextualExplanation explanation, bool explainSubElements = true ) : void
explanation TextualExplanation
explainSubElements bool Precises if we need to explain the sub elements (if any)
return void

GetExpressionType() public method

Provides the type of this expression
public GetExpressionType ( ) : Type
return DataDictionary.Types.Type

GetFunction() public method

The function which is called by this call statement
public GetFunction ( DataDictionary.Interpreter.InterpretationContext context, ExplanationPart explain ) : Function
context DataDictionary.Interpreter.InterpretationContext
explain ExplanationPart
return Function

GetProcedure() public method

The procedure which is called by this call statement
public GetProcedure ( DataDictionary.Interpreter.InterpretationContext context, ExplanationPart explain ) : Procedure
context DataDictionary.Interpreter.InterpretationContext
explain ExplanationPart
return DataDictionary.Functions.Procedure

GetStaticCallable() public method

Provides the ICallable that is statically defined
public GetStaticCallable ( ) : ICallable
return ICallable

GetValue() protected method

Provides the value associated to this Expression
protected GetValue ( DataDictionary.Interpreter.InterpretationContext context, ExplanationPart explain ) : IValue
context DataDictionary.Interpreter.InterpretationContext The context on which the value must be found
explain ExplanationPart The explanation to fill, if any
return IValue

IsInstance() public method

Indicates whether this expression references an instance
public IsInstance ( ) : bool
return bool

Reads() public method

Indicates whether this call may read a given variable
public Reads ( ITypedElement variable ) : bool
variable ITypedElement
return bool

SemanticAnalysis() public method

Performs the semantic analysis of the expression
public SemanticAnalysis ( INamable instance, DataDictionary.Interpreter.Filter.BaseFilter expectation ) : bool
instance INamable the reference instance on which this element should analysed
expectation DataDictionary.Interpreter.Filter.BaseFilter Indicates the kind of element we are looking for
return bool