@@ -116,14 +116,17 @@ public function addUse(string $name, string $alias = null, string $of = self::NA
116116 do {
117117 $ alias = $ base . $ counter ;
118118 $ counter ++;
119- } while ((isset ($ aliases [$ alias ]) && $ aliases [$ alias ] !== $ name ) || isset ($ used [$ alias ]));
120-
121- } elseif (isset ($ aliases [$ alias ]) && $ aliases [$ alias ] !== $ name ) {
122- throw new InvalidStateException (
123- "Alias ' $ alias' used already for ' {$ aliases [$ alias ]}', cannot use for ' $ name'. "
124- );
125- } elseif (isset ($ used [$ alias ])) {
126- throw new Nette \InvalidStateException ("Name ' $ alias' used already for ' $ this ->name \\{$ used [$ alias ]->getName ()}'. " );
119+ } while ((isset ($ aliases [$ alias ]) && $ aliases [$ alias ] !== $ name ) || isset ($ used [strtolower ($ alias )]));
120+
121+ } else {
122+ $ lower = strtolower ($ alias );
123+ if (isset ($ aliases [$ alias ]) && $ aliases [$ alias ] !== $ name ) {
124+ throw new InvalidStateException (
125+ "Alias ' $ alias' used already for ' {$ aliases [$ alias ]}', cannot use for ' $ name'. "
126+ );
127+ } elseif (isset ($ used [$ lower ])) {
128+ throw new Nette \InvalidStateException ("Name ' $ alias' used already for ' $ this ->name \\{$ used [$ lower ]->getName ()}'. " );
129+ }
127130 }
128131
129132 $ this ->aliases [$ of ][$ alias ] = $ name ;
@@ -209,7 +212,7 @@ public function add(ClassType $class): self
209212 } elseif ($ orig = $ this ->aliases [self ::NAME_NORMAL ][$ name ] ?? null ) {
210213 throw new Nette \InvalidStateException ("Name ' $ name' used already as alias for $ orig. " );
211214 }
212- $ this ->classes [$ name ] = $ class ;
215+ $ this ->classes [strtolower ( $ name) ] = $ class ;
213216 return $ this ;
214217 }
215218
@@ -241,24 +244,33 @@ public function addEnum(string $name): ClassType
241244
242245 public function addFunction (string $ name ): GlobalFunction
243246 {
247+ $ lower = strtolower ($ name );
244248 if ($ orig = $ this ->aliases [self ::NAME_FUNCTION ][$ name ] ?? null ) {
245249 throw new Nette \InvalidStateException ("Name ' $ name' used already as alias for $ orig. " );
246250 }
247- return $ this ->functions [$ name ] = new GlobalFunction ($ name );
251+ return $ this ->functions [$ lower ] = new GlobalFunction ($ name );
248252 }
249253
250254
251255 /** @return ClassType[] */
252256 public function getClasses (): array
253257 {
254- return $ this ->classes ;
258+ $ res = [];
259+ foreach ($ this ->classes as $ class ) {
260+ $ res [$ class ->getName ()] = $ class ;
261+ }
262+ return $ res ;
255263 }
256264
257265
258266 /** @return GlobalFunction[] */
259267 public function getFunctions (): array
260268 {
261- return $ this ->functions ;
269+ $ res = [];
270+ foreach ($ this ->functions as $ fn ) {
271+ $ res [$ fn ->getName ()] = $ fn ;
272+ }
273+ return $ res ;
262274 }
263275
264276
0 commit comments