Skip to content

Commit a401034

Browse files
committed
- Merged cases in lookupClass2 to make it easier to follow
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@5015 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
1 parent c380238 commit a401034

File tree

1 file changed

+5
-20
lines changed

1 file changed

+5
-20
lines changed

Compiler/Lookup.mo

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ algorithm
433433
then
434434
(cache,c,env_1);
435435

436-
// Qualified names in package
436+
// Qualified names in package and non-package
437437
case (cache,env,(p as Absyn.QUALIFIED(name = pack,path = path)),msgflag)
438438
equation
439439
(false,_) = scopePrefixOf(env,p);
@@ -445,28 +445,13 @@ algorithm
445445
cache,env2,InnerOuter.emptyInstHierarchy,
446446
DAE.NOMOD(), Prefix.NOPRE(), Connect.emptySet,
447447
ci_state, c, false, {});
448-
ClassInf.valid(cistate1, SCode.R_PACKAGE());
449-
(cache,c_1,env5) = lookupClass2(cache,env4, path, msgflag) "Has NOT to do additional check for encapsulated classes, see rule above" ;
448+
// Was 2 cases for package/non-package - all they did was fail or succeed on this
449+
// If we comment it out, we get faster code, and less of it to maintain
450+
// ClassInf.valid(cistate1, SCode.R_PACKAGE());
451+
(cache,c_1,env5) = lookupClass2(cache,env4, path, msgflag);
450452
then
451453
(cache,c_1,env5);
452454

453-
// Qualified names in non package
454-
case (cache,env,(p as Absyn.QUALIFIED(name = pack,path = path)),msgflag)
455-
equation
456-
(false,_) = scopePrefixOf(env,p);
457-
(cache,(c as SCode.CLASS(name=id,encapsulatedPrefix=encflag,restriction=restr)),env_1) = lookupClass2(cache,env, Absyn.IDENT(pack), msgflag);
458-
env2 = Env.openScope(env_1, encflag, SOME(id));
459-
ci_state = ClassInf.start(restr, Env.getEnvName(env2));
460-
(cache,env_2,_,cistate1) =
461-
Inst.partialInstClassIn(
462-
cache,env2,InnerOuter.emptyInstHierarchy,
463-
DAE.NOMOD(), Prefix.NOPRE(), Connect.emptySet,
464-
ci_state, c, false, {});
465-
failure(ClassInf.valid(cistate1, SCode.R_PACKAGE()));
466-
(cache,c_1,env_3) = lookupClass2(cache,env_2, path, msgflag) "Has to do additional check for encapsulated classes, see rule below" ;
467-
then
468-
(cache,c_1,env_3);
469-
470455
case (cache,env,path,true)
471456
equation
472457
/*s = Absyn.pathString(path) ;

0 commit comments

Comments
 (0)