Changeset 5ed2c5e in OpenModelica
- Timestamp:
- 2016-04-01T19:22:48+02:00 (8 years ago)
- Branches:
- Added-citation-metadata, maintenance/v1.14, maintenance/v1.15, maintenance/v1.16, maintenance/v1.17, maintenance/v1.18, maintenance/v1.19, maintenance/v1.20, maintenance/v1.21, maintenance/v1.22, maintenance/v1.23, master, omlib-staging
- Children:
- 141c87f0
- Parents:
- c914d20
- git-author:
- Martin Sjölund <martin.sjolund@…> (04/01/16 19:22:48)
- git-committer:
- hudson <openmodelica@…> (04/01/16 19:22:48)
- Location:
- Compiler/FrontEnd
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
Compiler/FrontEnd/NFSCodeDependency.mo
rd41fb978 r5ed2c5e 278 278 input Env inEnv; 279 279 algorithm 280 _ := matchcontinue(inItem, inEnv) 280 // Check if the item is already marked as used, then we can stop here. 281 if NFSCodeEnv.isItemUsed(inItem) then 282 return; 283 end if; 284 _ := match(inItem, inEnv) 281 285 local 282 286 SCode.ClassDef cdef; … … 288 292 SCode.Comment cmt; 289 293 290 // Check if the item is already marked as used, then we can stop here.291 case (_, _)292 equation293 true = NFSCodeEnv.isItemUsed(inItem);294 then295 ();296 297 294 // A component, mark it and it's environment as used. 298 295 case (NFSCodeEnv.VAR(), env) … … 312 309 markItemAsUsed(inItem, env); 313 310 env = NFSCodeEnv.enterFrame(cls_env, env); 311 if (if cls.name=="cardinality" then match inEnv case {NFSCodeEnv.FRAME(name=NONE())} then true; else false; end match else false) then 312 System.setUsesCardinality(true); 313 end if; 314 314 analyseClassDef(cdef, res, env, false, info); 315 315 analyseMetaType(res, env, info); … … 329 329 fail(); 330 330 331 end match continue;331 end match; 332 332 end analyseItem; 333 333 -
Compiler/FrontEnd/NFSCodeFlatten.mo
redeb3209 r5ed2c5e 115 115 System.tmpTickResetIndex(0, NFSCodeEnv.tmpTickIndex); 116 116 System.tmpTickResetIndex(1, NFSCodeEnv.extendsTickIndex); 117 System.setUsesCardinality(false); 117 118 // TODO: Enable this when NFSCodeEnv.tmpTickIndex is removed. 118 119 //System.tmpTickResetIndex(0, NFSCodeEnv.tmpTickIndex); … … 123 124 124 125 (prog, env) = NFSCodeDependency.analyse(inClassName, env, prog); 125 checkForCardinality(env);126 126 (prog, env) = NFSCodeFlattenImports.flattenProgram(prog, env); 127 127 … … 143 143 end matchcontinue; 144 144 end flattenClassInProgram; 145 146 protected function checkForCardinality147 "Checks if the cardinality operator is used or not and sets the system flag,148 so that some work can be avoided in Inst if cardinality isn't used."149 input Env inEnv;150 algorithm151 _ := matchcontinue(inEnv)152 case _153 equation154 (_, _, _) = NFSCodeLookup.lookupNameSilent(Absyn.IDENT("cardinality"),155 inEnv, Absyn.dummyInfo);156 System.setUsesCardinality(true);157 then158 ();159 160 else161 equation162 System.setUsesCardinality(false);163 then164 ();165 166 end matchcontinue;167 end checkForCardinality;168 145 169 146 public function flattenCompleteProgram
Note: See TracChangeset
for help on using the changeset viewer.