@@ -116,14 +116,17 @@ public function addUse(string $name, string $alias = null, string $of = self::NA
116
116
do {
117
117
$ alias = $ base . $ counter ;
118
118
$ 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
+ }
127
130
}
128
131
129
132
$ this ->aliases [$ of ][$ alias ] = $ name ;
@@ -209,7 +212,7 @@ public function add(ClassType $class): self
209
212
} elseif ($ orig = $ this ->aliases [self ::NAME_NORMAL ][$ name ] ?? null ) {
210
213
throw new Nette \InvalidStateException ("Name ' $ name' used already as alias for $ orig. " );
211
214
}
212
- $ this ->classes [$ name ] = $ class ;
215
+ $ this ->classes [strtolower ( $ name) ] = $ class ;
213
216
return $ this ;
214
217
}
215
218
@@ -241,24 +244,33 @@ public function addEnum(string $name): ClassType
241
244
242
245
public function addFunction (string $ name ): GlobalFunction
243
246
{
247
+ $ lower = strtolower ($ name );
244
248
if ($ orig = $ this ->aliases [self ::NAME_FUNCTION ][$ name ] ?? null ) {
245
249
throw new Nette \InvalidStateException ("Name ' $ name' used already as alias for $ orig. " );
246
250
}
247
- return $ this ->functions [$ name ] = new GlobalFunction ($ name );
251
+ return $ this ->functions [$ lower ] = new GlobalFunction ($ name );
248
252
}
249
253
250
254
251
255
/** @return ClassType[] */
252
256
public function getClasses (): array
253
257
{
254
- return $ this ->classes ;
258
+ $ res = [];
259
+ foreach ($ this ->classes as $ class ) {
260
+ $ res [$ class ->getName ()] = $ class ;
261
+ }
262
+ return $ res ;
255
263
}
256
264
257
265
258
266
/** @return GlobalFunction[] */
259
267
public function getFunctions (): array
260
268
{
261
- return $ this ->functions ;
269
+ $ res = [];
270
+ foreach ($ this ->functions as $ fn ) {
271
+ $ res [$ fn ->getName ()] = $ fn ;
272
+ }
273
+ return $ res ;
262
274
}
263
275
264
276
0 commit comments