org.jmodelica.modelica.compiler.FArray Class Reference

Array constructor expression. More...

Inheritance diagram for org.jmodelica.modelica.compiler.FArray:

org.jmodelica.modelica.compiler.FExp org.jmodelica.modelica.compiler.BaseNode org.jmodelica.modelica.compiler.FlatLookupNode org.jmodelica.modelica.compiler.FLongArray

List of all members.

Public Member Functions

void flushCache ()
 low-level
void flushCollectionCache ()
 internal
FArray clone () throws CloneNotSupportedException
 internal
FArray copy ()
 internal
FArray fullCopy ()
 low-level
void fillArray (Array arr, Index i, int level)
 Add a copy of the expression at position i to arr.
FArray createEmptyNode ()
 method InheritedFactoryMethods /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Constructors.jrag:529
FArray createNode (List< FExp > exps)
 Create new node of same class as this, with the specified children.
FArray createNode (ArrayList< FExp > exps)
 Create new node of same class as this, with the specified children.
FExp flatten (FQName prefix)
 method FlatExpressions /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Flattening.jrag:1192
void prettyPrint (Printer p, PrintStream str, String indent)
 method FlattPrettyPrint /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/PrettyPrint.jrag:1564
void addArrayUsesToIndexMap (Map< String, FExp > indexMap, ForNames names)
 method Scalarization /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Scalarization.jrag:555
void createArrayTemporaries (List clauses, List vars, Map< String, FExp > indexMap, boolean addVar)
 method Scalarization /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Scalarization.jrag:562
FExp extractRecordFExp (String suffix)
 method TransformCanonical /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/TransformCanonical.jrag:2637
void genTempOutput_var_CAD (Printer p, PrintStream str, String indent)
 method CADCodeGen /tmp/JModelica/Compiler/ModelicaCBackEnd/src/jastadd/CADCodeGen.jrag:1006
void genTempOutput_der_CAD (Printer p, PrintStream str, String indent)
 method CADCodeGen /tmp/JModelica/Compiler/ModelicaCBackEnd/src/jastadd/CADCodeGen.jrag:1009
void genTempOutput_C (Printer p, PrintStream str, String indent)
 method CCodeGen /tmp/JModelica/Compiler/ModelicaCBackEnd/src/jastadd/CCodeGen.jrag:1148
 FArray ()
 method FlatModelica.ast:1
 FArray (List< FExp > p0)
 method FlatModelica.ast:9
boolean mayHaveRewrite ()
 internal method FlatModelica.ast:23
void setFExpList (List< FExp > list)
 Setter for FExpList high-level method FlatModelica.ast:5.
int getNumFExp ()
FExp getFExp (int i)
 Getter for child in list FExpList high-level method FlatModelica.ast:19.
void addFExp (FExp node)
 Add element to list FExpList high-level method FlatModelica.ast:27.
void addFExpNoTransform (FExp node)
 low-level method FlatModelica.ast:34
void setFExp (FExp node, int i)
 Setter for child in list FExpList high-level method FlatModelica.ast:42.
List< FExpgetFExps ()
 Getter for FExp list.
List< FExpgetFExpsNoTransform ()
 low-level method FlatModelica.ast:56
List< FExpgetFExpList ()
 Getter for list FExpList high-level method FlatModelica.ast:63.
List< FExpgetFExpListNoTransform ()
 low-level method FlatModelica.ast:72
void setArray (Array node)
 Setter for Array high-level method FlatModelica.ast:5.
Array getArrayNoTransform ()
 low-level method FlatModelica.ast:11
void setDynamicFExpList (List< FExp > list)
 Setter for DynamicFExpList high-level method FlatModelica.ast:5.
int getNumDynamicFExp ()
FExp getDynamicFExp (int i)
 Getter for child in list DynamicFExpList high-level method FlatModelica.ast:19.
void addDynamicFExp (FExp node)
 Add element to list DynamicFExpList high-level method FlatModelica.ast:27.
void addDynamicFExpNoTransform (FExp node)
 low-level method FlatModelica.ast:34
void setDynamicFExp (FExp node, int i)
 Setter for child in list DynamicFExpList high-level method FlatModelica.ast:42.
List< FExpgetDynamicFExps ()
 Getter for DynamicFExp list.
List< FExpgetDynamicFExpsNoTransform ()
 low-level method FlatModelica.ast:56
List< FExpgetDynamicFExpListNoTransform ()
 low-level method FlatModelica.ast:62
int ndims ()
 Get array dimensions.
Size size ()
 Get the array sizes.
Array getArray ()
 Computes an Array where all elements are scalar expressions.
CValue extractCValue (CValue val, FVariable fv)
 Given that val is the value of this use expression, extract the part of it referring to fv, or null if none match.
boolean isIterArray ()
 Check if this FArray is on the form "{exp for i in exp}".
FType type ()
 syn FlatTypeAnalysis /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/FlatTypeAnalysis.jrag:382
FExp splitArrayExp (int index)
 Return the expression corresponding to the given index in this array expression.
boolean canExtractRecordComponents ()
 syn TransformCanonical /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/TransformCanonical.jrag:2616
int numScalarVars ()
 Get the number of scalar variables assigned by this a FFunctionCallLeft with this FExp as its expression.
String xmlTag ()
 syn XMLTagBinding /tmp/JModelica/Compiler/ModelicaXMLBackEnd/src/jastadd/XMLCodeGen.jrag:563
boolean Define_boolean_iterExpUseOK (ASTNode caller, ASTNode child)
 /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/ContentsCheck.jadd:90 internal
ASTNode rewriteTo ()
 internal

Protected Member Functions

int numChildren ()
 low-level method FlatModelica.ast:17
int getArrayChildPosition ()
 low-level method FlatModelica.ast:17
int getDynamicFExpListChildPosition ()
 low-level method FlatModelica.ast:68


Detailed Description

Array constructor expression.

node FlatModelica.ast:896


Constructor & Destructor Documentation

org.jmodelica.modelica.compiler.FArray.FArray (  ) 

method FlatModelica.ast:1

org.jmodelica.modelica.compiler.FArray.FArray ( List< FExp p0  ) 

method FlatModelica.ast:9


Member Function Documentation

void org.jmodelica.modelica.compiler.FArray.addArrayUsesToIndexMap ( Map< String, FExp indexMap,
ForNames  names 
)

method Scalarization /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Scalarization.jrag:555

void org.jmodelica.modelica.compiler.FArray.addDynamicFExp ( FExp  node  ) 

Add element to list DynamicFExpList high-level method FlatModelica.ast:27.

Reimplemented from org.jmodelica.modelica.compiler.FExp.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

void org.jmodelica.modelica.compiler.FArray.addDynamicFExpNoTransform ( FExp  node  ) 

low-level method FlatModelica.ast:34

Reimplemented from org.jmodelica.modelica.compiler.FExp.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

void org.jmodelica.modelica.compiler.FArray.addFExp ( FExp  node  ) 

Add element to list FExpList high-level method FlatModelica.ast:27.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

void org.jmodelica.modelica.compiler.FArray.addFExpNoTransform ( FExp  node  ) 

low-level method FlatModelica.ast:34

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

boolean org.jmodelica.modelica.compiler.FArray.canExtractRecordComponents (  ) 

syn TransformCanonical /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/TransformCanonical.jrag:2616

Reimplemented from org.jmodelica.modelica.compiler.FExp.

FArray org.jmodelica.modelica.compiler.FArray.clone (  )  throws CloneNotSupportedException

FArray org.jmodelica.modelica.compiler.FArray.copy (  ) 

internal

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

void org.jmodelica.modelica.compiler.FArray.createArrayTemporaries ( List  clauses,
List  vars,
Map< String, FExp indexMap,
boolean  addVar 
)

method Scalarization /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Scalarization.jrag:562

FArray org.jmodelica.modelica.compiler.FArray.createEmptyNode (  )  [virtual]

method InheritedFactoryMethods /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Constructors.jrag:529

Implements org.jmodelica.modelica.compiler.FExp.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

FArray org.jmodelica.modelica.compiler.FArray.createNode ( ArrayList< FExp exps  ) 

Create new node of same class as this, with the specified children.

method InheritedFactoryMethods /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Constructors.jrag:679

FArray org.jmodelica.modelica.compiler.FArray.createNode ( List< FExp exps  ) 

Create new node of same class as this, with the specified children.

method InheritedFactoryMethods /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Constructors.jrag:669

boolean org.jmodelica.modelica.compiler.FArray.Define_boolean_iterExpUseOK ( ASTNode  caller,
ASTNode  child 
)

/tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/ContentsCheck.jadd:90 internal

Reimplemented from org.jmodelica.modelica.compiler.FExp.

CValue org.jmodelica.modelica.compiler.FArray.extractCValue ( CValue  val,
FVariable  fv 
)

Given that val is the value of this use expression, extract the part of it referring to fv, or null if none match.

syn ConstantEvaluation /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/ConstantEvaluation.jrag:1539

Reimplemented from org.jmodelica.modelica.compiler.FExp.

FExp org.jmodelica.modelica.compiler.FArray.extractRecordFExp ( String  suffix  ) 

method TransformCanonical /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/TransformCanonical.jrag:2637

Reimplemented from org.jmodelica.modelica.compiler.FExp.

void org.jmodelica.modelica.compiler.FArray.fillArray ( Array  arr,
Index  i,
int  level 
)

Add a copy of the expression at position i to arr.

Parameters:
arr the Array to add the expression to.
i the index to add at, denotes position in both Array and FArray.
level the level this FArray is at in a structure of nestled FArrays. method Arrays /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Arrays.jrag:1360

Reimplemented from org.jmodelica.modelica.compiler.FExp.

FExp org.jmodelica.modelica.compiler.FArray.flatten ( FQName  prefix  ) 

method FlatExpressions /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Flattening.jrag:1192

Reimplemented from org.jmodelica.modelica.compiler.FExp.

void org.jmodelica.modelica.compiler.FArray.flushCache (  ) 

void org.jmodelica.modelica.compiler.FArray.flushCollectionCache (  ) 

FArray org.jmodelica.modelica.compiler.FArray.fullCopy (  ) 

low-level

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

void org.jmodelica.modelica.compiler.FArray.genTempOutput_C ( Printer  p,
PrintStream  str,
String  indent 
)

method CCodeGen /tmp/JModelica/Compiler/ModelicaCBackEnd/src/jastadd/CCodeGen.jrag:1148

Reimplemented from org.jmodelica.modelica.compiler.FExp.

void org.jmodelica.modelica.compiler.FArray.genTempOutput_der_CAD ( Printer  p,
PrintStream  str,
String  indent 
)

method CADCodeGen /tmp/JModelica/Compiler/ModelicaCBackEnd/src/jastadd/CADCodeGen.jrag:1009

Reimplemented from org.jmodelica.modelica.compiler.FExp.

void org.jmodelica.modelica.compiler.FArray.genTempOutput_var_CAD ( Printer  p,
PrintStream  str,
String  indent 
)

method CADCodeGen /tmp/JModelica/Compiler/ModelicaCBackEnd/src/jastadd/CADCodeGen.jrag:1006

Reimplemented from org.jmodelica.modelica.compiler.FExp.

Array org.jmodelica.modelica.compiler.FArray.getArray (  ) 

Computes an Array where all elements are scalar expressions.

This is used mainly to scalarize array expressions.

Returns:
An Array with scalar expressions if this is an array expression, a ScalarAsArray containing this otherwise. syn nta Arrays /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Arrays.jrag:1258

Reimplemented from org.jmodelica.modelica.compiler.FExp.

int org.jmodelica.modelica.compiler.FArray.getArrayChildPosition (  )  [protected]

low-level method FlatModelica.ast:17

Reimplemented from org.jmodelica.modelica.compiler.FExp.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

Array org.jmodelica.modelica.compiler.FArray.getArrayNoTransform (  ) 

low-level method FlatModelica.ast:11

Reimplemented from org.jmodelica.modelica.compiler.FExp.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

FExp org.jmodelica.modelica.compiler.FArray.getDynamicFExp ( int  i  ) 

Getter for child in list DynamicFExpList high-level method FlatModelica.ast:19.

Reimplemented from org.jmodelica.modelica.compiler.FExp.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

int org.jmodelica.modelica.compiler.FArray.getDynamicFExpListChildPosition (  )  [protected]

low-level method FlatModelica.ast:68

Reimplemented from org.jmodelica.modelica.compiler.FExp.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

List<FExp> org.jmodelica.modelica.compiler.FArray.getDynamicFExpListNoTransform (  ) 

low-level method FlatModelica.ast:62

Reimplemented from org.jmodelica.modelica.compiler.FExp.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

List<FExp> org.jmodelica.modelica.compiler.FArray.getDynamicFExps (  ) 

Getter for DynamicFExp list.

high-level method FlatModelica.ast:50

Reimplemented from org.jmodelica.modelica.compiler.FExp.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

List<FExp> org.jmodelica.modelica.compiler.FArray.getDynamicFExpsNoTransform (  ) 

low-level method FlatModelica.ast:56

Reimplemented from org.jmodelica.modelica.compiler.FExp.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

FExp org.jmodelica.modelica.compiler.FArray.getFExp ( int  i  ) 

Getter for child in list FExpList high-level method FlatModelica.ast:19.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

List<FExp> org.jmodelica.modelica.compiler.FArray.getFExpList (  ) 

Getter for list FExpList high-level method FlatModelica.ast:63.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

List<FExp> org.jmodelica.modelica.compiler.FArray.getFExpListNoTransform (  ) 

low-level method FlatModelica.ast:72

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

List<FExp> org.jmodelica.modelica.compiler.FArray.getFExps (  ) 

Getter for FExp list.

high-level method FlatModelica.ast:50

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

List<FExp> org.jmodelica.modelica.compiler.FArray.getFExpsNoTransform (  ) 

low-level method FlatModelica.ast:56

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

int org.jmodelica.modelica.compiler.FArray.getNumDynamicFExp (  ) 

Returns:
number of children in DynamicFExpList high-level method FlatModelica.ast:12

Reimplemented from org.jmodelica.modelica.compiler.FExp.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

int org.jmodelica.modelica.compiler.FArray.getNumFExp (  ) 

Returns:
number of children in FExpList high-level method FlatModelica.ast:12

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

boolean org.jmodelica.modelica.compiler.FArray.isIterArray (  ) 

Check if this FArray is on the form "{exp for i in exp}".

syn FlatTypeAnalysis /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/FlatTypeAnalysis.jrag:368

boolean org.jmodelica.modelica.compiler.FArray.mayHaveRewrite (  ) 

internal method FlatModelica.ast:23

Reimplemented from org.jmodelica.modelica.compiler.FExp.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

int org.jmodelica.modelica.compiler.FArray.ndims (  ) 

Get array dimensions.

A value > 0 indicates an array, 0 indicates a scalar and -1 indicates an error in computation of the array dimensions.

Returns:
Array dimension. syn Arrays /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Arrays.jrag:185

Reimplemented from org.jmodelica.modelica.compiler.FExp.

int org.jmodelica.modelica.compiler.FArray.numChildren (  )  [protected]

low-level method FlatModelica.ast:17

Reimplemented from org.jmodelica.modelica.compiler.FExp.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

int org.jmodelica.modelica.compiler.FArray.numScalarVars (  ) 

Get the number of scalar variables assigned by this a FFunctionCallLeft with this FExp as its expression.

Only valid after scalarization. syn FlatFunctionUtils /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Util.jrag:1559

Reimplemented from org.jmodelica.modelica.compiler.FExp.

void org.jmodelica.modelica.compiler.FArray.prettyPrint ( Printer  p,
PrintStream  str,
String  indent 
)

method FlattPrettyPrint /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/PrettyPrint.jrag:1564

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

ASTNode org.jmodelica.modelica.compiler.FArray.rewriteTo (  ) 

void org.jmodelica.modelica.compiler.FArray.setArray ( Array  node  ) 

Setter for Array high-level method FlatModelica.ast:5.

Reimplemented from org.jmodelica.modelica.compiler.FExp.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

void org.jmodelica.modelica.compiler.FArray.setDynamicFExp ( FExp  node,
int  i 
)

Setter for child in list DynamicFExpList high-level method FlatModelica.ast:42.

Reimplemented from org.jmodelica.modelica.compiler.FExp.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

void org.jmodelica.modelica.compiler.FArray.setDynamicFExpList ( List< FExp list  ) 

Setter for DynamicFExpList high-level method FlatModelica.ast:5.

Reimplemented from org.jmodelica.modelica.compiler.FExp.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

void org.jmodelica.modelica.compiler.FArray.setFExp ( FExp  node,
int  i 
)

Setter for child in list FExpList high-level method FlatModelica.ast:42.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

void org.jmodelica.modelica.compiler.FArray.setFExpList ( List< FExp list  ) 

Setter for FExpList high-level method FlatModelica.ast:5.

Reimplemented in org.jmodelica.modelica.compiler.FLongArray.

Size org.jmodelica.modelica.compiler.FArray.size (  ) 

Get the array sizes.

syn Arrays /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Arrays.jrag:659

Reimplemented from org.jmodelica.modelica.compiler.FExp.

FExp org.jmodelica.modelica.compiler.FArray.splitArrayExp ( int  index  ) 

Return the expression corresponding to the given index in this array expression.

Will not create new nodes unless necessary. syn Flattening /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Flattening.jrag:615

Reimplemented from org.jmodelica.modelica.compiler.FExp.

FType org.jmodelica.modelica.compiler.FArray.type (  ) 

syn FlatTypeAnalysis /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/FlatTypeAnalysis.jrag:382

Reimplemented from org.jmodelica.modelica.compiler.FExp.

String org.jmodelica.modelica.compiler.FArray.xmlTag (  ) 

syn XMLTagBinding /tmp/JModelica/Compiler/ModelicaXMLBackEnd/src/jastadd/XMLCodeGen.jrag:563

Reimplemented from org.jmodelica.modelica.compiler.FExp.


The documentation for this class was generated from the following file:

Generated on Fri Oct 7 14:49:46 2011 for JModelica.org by  doxygen 1.5.8