org.jmodelica.modelica.compiler.FArraySubscripts Class Reference

Array subscripts used in FQNames. More...

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

org.jmodelica.modelica.compiler.BaseNode

List of all members.

Public Member Functions

void flushCache ()
 low-level
void flushCollectionCache ()
 internal
FArraySubscripts clone () throws CloneNotSupportedException
 internal
FArraySubscripts copy ()
 internal
FArraySubscripts fullCopy ()
 low-level
Index createIndex ()
 Return an Index with these array subscripts.
FArraySubscripts expandedSubscripts ()
 Create a copy of this FArraySubscripts with all colon indices expanded.
FArraySubscripts resolveSubscripts ()
 Create a copy with all array subscripts replaced by literals.
 FArraySubscripts (Index i, int j, int n)
 Create a new FArraySubscripts n literal subscripts from i, starting at j.
void collectErrors ()
 method InstanceErrorCheck /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/ErrorCheck.jrag:784
void specifyNext (int index)
 method Flattening /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Flattening.jrag:669
FArraySubscripts flatten (FQName prefix)
 method FlatExpressions /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Flattening.jrag:1000
void prettyPrint (Printer p, PrintStream str, String indent)
 method FlattPrettyPrint /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/PrettyPrint.jrag:926
FArraySubscripts scalarize (Map< String, FExp > indexMap)
 method Scalarization /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Scalarization.jrag:1482
void prettyPrint_XML (Printer p, PrintStream str, String indent)
 method XMLCodeGen /tmp/JModelica/Compiler/ModelicaXMLBackEnd/src/jastadd/XMLCodeGen.jrag:471
String genFunctionArrayUse_var_CAD (Printer p, String name, String type)
 method CADCodeGen /tmp/JModelica/Compiler/ModelicaCBackEnd/src/jastadd/CADCodeGen.jrag:149
String genFunctionArrayUse_der_CAD (Printer p, String name, String type)
 method CADCodeGen /tmp/JModelica/Compiler/ModelicaCBackEnd/src/jastadd/CADCodeGen.jrag:168
String genFunctionArrayUse_C (Printer p, String name, String type)
 method CCodeGen /tmp/JModelica/Compiler/ModelicaCBackEnd/src/jastadd/CCodeGen.jrag:193
 FArraySubscripts ()
 method FlatModelica.ast:1
 FArraySubscripts (List< FSubscript > p0)
 method FlatModelica.ast:8
boolean mayHaveRewrite ()
 internal method FlatModelica.ast:20
void setFSubscriptList (List< FSubscript > list)
 Setter for FSubscriptList high-level method FlatModelica.ast:5.
int getNumFSubscript ()
FSubscript getFSubscript (int i)
 Getter for child in list FSubscriptList high-level method FlatModelica.ast:19.
void addFSubscript (FSubscript node)
 Add element to list FSubscriptList high-level method FlatModelica.ast:27.
void addFSubscriptNoTransform (FSubscript node)
 low-level method FlatModelica.ast:34
void setFSubscript (FSubscript node, int i)
 Setter for child in list FSubscriptList high-level method FlatModelica.ast:42.
List< FSubscriptgetFSubscripts ()
 Getter for FSubscript list.
List< FSubscriptgetFSubscriptsNoTransform ()
 low-level method FlatModelica.ast:56
List< FSubscriptgetFSubscriptList ()
 Getter for list FSubscriptList high-level method FlatModelica.ast:63.
List< FSubscriptgetFSubscriptListNoTransform ()
 low-level method FlatModelica.ast:72
Index asIndex ()
 Return an Index with these array subscripts.
int ndims ()
 Get array dimensions.
int accessNdims ()
 syn Arrays /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Arrays.jrag:143
Size declarationSize ()
 Get the array sizes.
Size accessSize ()
 Get the array sizes when the array subscripts are used in an access.
Indices indices ()
 Get the set of all array indices of an array access.
boolean isCircular ()
 syn CircularExpressions /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/ConstantEvaluation.jrag:2501
FTypePrefixVariability variability ()
 syn FlatVariability /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/FlatVariability.jrag:320
boolean hasUnknownIndices ()
 syn FlatExpressions /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Flattening.jrag:1091
String xmlTag ()
 syn XMLTagBinding /tmp/JModelica/Compiler/ModelicaXMLBackEnd/src/jastadd/XMLCodeGen.jrag:590
Size mySize ()
 inh Arrays /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Arrays.jrag:558
boolean isInstComponentSize ()
 inh FlatTypeCheck /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/FlatTypeCheck.jrag:287
FSizeExp createFSizeExp (int dim)
 inh Scalarization /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Scalarization.jrag:1649
boolean Define_boolean_inArraySubscripts (ASTNode caller, ASTNode child)
 /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Arrays.jrag:40 internal
int Define_int_myDim (ASTNode caller, ASTNode child)
 /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Arrays.jrag:527 internal
Size Define_Size_mySize (ASTNode caller, ASTNode child)
 /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Arrays.jrag:568 internal
FSizeExp Define_FSizeExp_createFSizeExp (ASTNode caller, ASTNode child)
 /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Scalarization.jrag:1645 internal
ASTNode rewriteTo ()
 internal

Static Public Member Functions

static FArraySubscripts createFColonSubscripts (int n)
 Create a new FArraySubscripts containing n FColonSubscripts.
static FArraySubscripts createLiteralSubscripts (int i)
 Create a new FArraySubscripts containing an integer literal.
static FArraySubscripts createLiteralSubscripts (int[] index)
 Create a new FArraySubscripts containing integer literals.

Protected Member Functions

int numChildren ()
 low-level method FlatModelica.ast:14

Protected Attributes

boolean asIndex_computed = false
 internal
Index asIndex_value
 internal
boolean accessNdims_computed = false
 internal
int accessNdims_value
 internal
boolean declarationSize_computed = false
 internal
Size declarationSize_value
 internal
boolean accessSize_computed = false
 internal
Size accessSize_value
 internal
boolean indices_computed = false
 internal
Indices indices_value
 internal
boolean hasUnknownIndices_computed = false
 internal
boolean hasUnknownIndices_value
 internal


Detailed Description

Array subscripts used in FQNames.

node FlatModelica.ast:377


Constructor & Destructor Documentation

org.jmodelica.modelica.compiler.FArraySubscripts.FArraySubscripts ( Index  i,
int  j,
int  n 
)

Create a new FArraySubscripts n literal subscripts from i, starting at j.

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

org.jmodelica.modelica.compiler.FArraySubscripts.FArraySubscripts (  ) 

method FlatModelica.ast:1

org.jmodelica.modelica.compiler.FArraySubscripts.FArraySubscripts ( List< FSubscript p0  ) 

method FlatModelica.ast:8


Member Function Documentation

int org.jmodelica.modelica.compiler.FArraySubscripts.accessNdims (  ) 

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

Size org.jmodelica.modelica.compiler.FArraySubscripts.accessSize (  ) 

Get the array sizes when the array subscripts are used in an access.

See also documentation of accessNdims(). syn Arrays /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Arrays.jrag:533

void org.jmodelica.modelica.compiler.FArraySubscripts.addFSubscript ( FSubscript  node  ) 

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

void org.jmodelica.modelica.compiler.FArraySubscripts.addFSubscriptNoTransform ( FSubscript  node  ) 

low-level method FlatModelica.ast:34

Index org.jmodelica.modelica.compiler.FArraySubscripts.asIndex (  ) 

Return an Index with these array subscripts.

This version is cached, to avoid repeating constant evaluation.

Exceptions:
ConstantEvaluationException if the subscripts can't be evaluated to constant Integer values. syn Arrays /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Arrays.jrag:84

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

internal

Reimplemented from org.jmodelica.modelica.compiler.BaseNode.

void org.jmodelica.modelica.compiler.FArraySubscripts.collectErrors (  ) 

method InstanceErrorCheck /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/ErrorCheck.jrag:784

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

internal

static FArraySubscripts org.jmodelica.modelica.compiler.FArraySubscripts.createFColonSubscripts ( int  n  )  [static]

Create a new FArraySubscripts containing n FColonSubscripts.

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

FSizeExp org.jmodelica.modelica.compiler.FArraySubscripts.createFSizeExp ( int  dim  ) 

inh Scalarization /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Scalarization.jrag:1649

Index org.jmodelica.modelica.compiler.FArraySubscripts.createIndex (  ) 

Return an Index with these array subscripts.

This version is not cached, to allow indices to be re-evaluated at each use during function evaluation.

Exceptions:
ConstantEvaluationException if the subscripts can't be evaluated to constant Integer values. method Arrays /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Arrays.jrag:95

static FArraySubscripts org.jmodelica.modelica.compiler.FArraySubscripts.createLiteralSubscripts ( int[]  index  )  [static]

Create a new FArraySubscripts containing integer literals.

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

static FArraySubscripts org.jmodelica.modelica.compiler.FArraySubscripts.createLiteralSubscripts ( int  i  )  [static]

Create a new FArraySubscripts containing an integer literal.

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

Size org.jmodelica.modelica.compiler.FArraySubscripts.declarationSize (  ) 

Get the array sizes.

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

boolean org.jmodelica.modelica.compiler.FArraySubscripts.Define_boolean_inArraySubscripts ( ASTNode  caller,
ASTNode  child 
)

/tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Arrays.jrag:40 internal

FSizeExp org.jmodelica.modelica.compiler.FArraySubscripts.Define_FSizeExp_createFSizeExp ( ASTNode  caller,
ASTNode  child 
)

/tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Scalarization.jrag:1645 internal

int org.jmodelica.modelica.compiler.FArraySubscripts.Define_int_myDim ( ASTNode  caller,
ASTNode  child 
)

/tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Arrays.jrag:527 internal

Size org.jmodelica.modelica.compiler.FArraySubscripts.Define_Size_mySize ( ASTNode  caller,
ASTNode  child 
)

/tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Arrays.jrag:568 internal

FArraySubscripts org.jmodelica.modelica.compiler.FArraySubscripts.expandedSubscripts (  ) 

Create a copy of this FArraySubscripts with all colon indices expanded.

method Arrays /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Arrays.jrag:378

FArraySubscripts org.jmodelica.modelica.compiler.FArraySubscripts.flatten ( FQName  prefix  ) 

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

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

low-level

Reimplemented from org.jmodelica.modelica.compiler.BaseNode.

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

internal

Reimplemented from org.jmodelica.modelica.compiler.BaseNode.

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

low-level

String org.jmodelica.modelica.compiler.FArraySubscripts.genFunctionArrayUse_C ( Printer  p,
String  name,
String  type 
)

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

String org.jmodelica.modelica.compiler.FArraySubscripts.genFunctionArrayUse_der_CAD ( Printer  p,
String  name,
String  type 
)

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

String org.jmodelica.modelica.compiler.FArraySubscripts.genFunctionArrayUse_var_CAD ( Printer  p,
String  name,
String  type 
)

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

FSubscript org.jmodelica.modelica.compiler.FArraySubscripts.getFSubscript ( int  i  ) 

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

List<FSubscript> org.jmodelica.modelica.compiler.FArraySubscripts.getFSubscriptList (  ) 

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

List<FSubscript> org.jmodelica.modelica.compiler.FArraySubscripts.getFSubscriptListNoTransform (  ) 

low-level method FlatModelica.ast:72

List<FSubscript> org.jmodelica.modelica.compiler.FArraySubscripts.getFSubscripts (  ) 

Getter for FSubscript list.

high-level method FlatModelica.ast:50

List<FSubscript> org.jmodelica.modelica.compiler.FArraySubscripts.getFSubscriptsNoTransform (  ) 

low-level method FlatModelica.ast:56

int org.jmodelica.modelica.compiler.FArraySubscripts.getNumFSubscript (  ) 

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

boolean org.jmodelica.modelica.compiler.FArraySubscripts.hasUnknownIndices (  ) 

syn FlatExpressions /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Flattening.jrag:1091

Indices org.jmodelica.modelica.compiler.FArraySubscripts.indices (  ) 

Get the set of all array indices of an array access.

Returns:
An Indices object containing all indices in each array dimension. syn Arrays /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Arrays.jrag:1622

boolean org.jmodelica.modelica.compiler.FArraySubscripts.isCircular (  ) 

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

boolean org.jmodelica.modelica.compiler.FArraySubscripts.isInstComponentSize (  ) 

inh FlatTypeCheck /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/FlatTypeCheck.jrag:287

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

internal method FlatModelica.ast:20

Reimplemented from org.jmodelica.modelica.compiler.BaseNode.

Size org.jmodelica.modelica.compiler.FArraySubscripts.mySize (  ) 

inh Arrays /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/Arrays.jrag:558

int org.jmodelica.modelica.compiler.FArraySubscripts.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:127

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

low-level method FlatModelica.ast:14

Reimplemented from org.jmodelica.modelica.compiler.BaseNode.

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

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

void org.jmodelica.modelica.compiler.FArraySubscripts.prettyPrint_XML ( Printer  p,
PrintStream  str,
String  indent 
)

method XMLCodeGen /tmp/JModelica/Compiler/ModelicaXMLBackEnd/src/jastadd/XMLCodeGen.jrag:471

FArraySubscripts org.jmodelica.modelica.compiler.FArraySubscripts.resolveSubscripts (  ) 

Create a copy with all array subscripts replaced by literals.

method ConstantEvaluation /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/ConstantEvaluation.jrag:1243

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

internal

Reimplemented from org.jmodelica.modelica.compiler.BaseNode.

FArraySubscripts org.jmodelica.modelica.compiler.FArraySubscripts.scalarize ( Map< String, FExp indexMap  ) 

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

void org.jmodelica.modelica.compiler.FArraySubscripts.setFSubscript ( FSubscript  node,
int  i 
)

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

void org.jmodelica.modelica.compiler.FArraySubscripts.setFSubscriptList ( List< FSubscript list  ) 

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

void org.jmodelica.modelica.compiler.FArraySubscripts.specifyNext ( int  index  ) 

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

FTypePrefixVariability org.jmodelica.modelica.compiler.FArraySubscripts.variability (  ) 

syn FlatVariability /tmp/JModelica/Compiler/ModelicaFrontEnd/src/jastadd/FlatVariability.jrag:320

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

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


Member Data Documentation

internal

internal

internal

internal

internal

internal

internal

internal

internal

internal

internal

internal


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