-
Notifications
You must be signed in to change notification settings - Fork 110
Expand file tree
/
Copy pathlocalize.ts
More file actions
1734 lines (1695 loc) · 122 KB
/
localize.ts
File metadata and controls
1734 lines (1695 loc) · 122 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/*
* localize.ts
* Copyright (c) Microsoft Corporation.
* Licensed under the MIT license.
* Author: Eric Traut
*
* Code that localizes user-visible strings.
*/
import { fail } from '../common/debug';
import csStrings = require('./package.nls.cs.json');
import deStrings = require('./package.nls.de.json');
import enUsStrings = require('./package.nls.en-us.json');
import esStrings = require('./package.nls.es.json');
import frStrings = require('./package.nls.fr.json');
import itStrings = require('./package.nls.it.json');
import jaStrings = require('./package.nls.ja.json');
import koStrings = require('./package.nls.ko.json');
import plStrings = require('./package.nls.pl.json');
import ptBrStrings = require('./package.nls.pt-br.json');
import qpsPlocStrings = require('./package.nls.qps-ploc.json');
import ruStrings = require('./package.nls.ru.json');
import trStrings = require('./package.nls.tr.json');
import zhCnStrings = require('./package.nls.zh-cn.json');
import zhTwStrings = require('./package.nls.zh-tw.json');
export class ParameterizedString<T extends {}> {
constructor(private _formatString: string) {}
format(params: T): string {
let str = this._formatString;
Object.keys(params).forEach((key) => {
str = str.replace(new RegExp(`{${key}}`, 'g'), (params as any)[key].toString());
});
return str;
}
getFormatString() {
return this._formatString;
}
}
const defaultLocale = 'en-us';
const stringMapsByLocale: Map<string, StringLookupMap> = new Map([
['cs', csStrings as StringLookupMap],
['de', deStrings],
['en-us', enUsStrings],
['en', enUsStrings],
['es', esStrings],
['fr', frStrings],
['it', itStrings],
['ja', jaStrings],
['ko', koStrings],
['pl', plStrings],
['pt-br', ptBrStrings],
['qps-ploc', qpsPlocStrings],
['ru', ruStrings],
['tr', trStrings],
['zh-cn', zhCnStrings],
['zh-tw', zhTwStrings],
]);
type CommentedStringValue = {
message: string;
comment: string[];
};
export type StringLookupMap = { [key: string]: string | CommentedStringValue | StringLookupMap };
let localizedStrings: StringLookupMap | undefined = undefined;
let defaultStrings: StringLookupMap = {};
function getRawStringDefault(key: string): string {
if (localizedStrings === undefined) {
localizedStrings = initialize();
}
const keyParts = key.split('.');
const isDiagnostic = keyParts[0] === 'Diagnostic' || keyParts[0] === 'DiagnosticAddendum';
const str =
isDiagnostic && forceEnglishDiagnostics
? getRawStringFromMap(defaultStrings, keyParts)
: getRawStringFromMap(localizedStrings, keyParts) || getRawStringFromMap(defaultStrings, keyParts);
if (str) {
return str;
}
fail(`Missing localized string for key "${key}"`);
}
let getRawString = getRawStringDefault;
// Function allowing different strings to be used for messages.
// Returns the previous function used for getting messages.
export function setGetRawString(func: (key: string) => string): (key: string) => string {
const oldLookup = getRawString;
getRawString = func;
return oldLookup;
}
export function getRawStringFromMap(map: StringLookupMap, keyParts: string[]): string | undefined {
let curObj: any = map;
for (const keyPart of keyParts) {
if (!curObj[keyPart]) {
return undefined;
}
curObj = curObj[keyPart];
}
return typeof curObj === 'string' ? curObj : curObj.message;
}
function initialize(): StringLookupMap {
defaultStrings = loadDefaultStrings();
const currentLocale = getLocaleFromEnv();
return loadStringsForLocale(currentLocale, stringMapsByLocale);
}
let localeOverride: string | undefined;
let forceEnglishDiagnostics = false;
export function setLocaleOverride(locale: string) {
// Force a reload of the localized strings.
localizedStrings = undefined;
localeOverride = locale.toLowerCase();
}
export function setForceEnglishDiagnostics(force: boolean) {
forceEnglishDiagnostics = force;
}
export function getLocaleFromEnv(): string {
if (localeOverride) {
return localeOverride;
}
try {
const env = process?.env;
// Start with the VSCode environment variables.
const vscodeConfigString = env?.VSCODE_NLS_CONFIG;
if (vscodeConfigString) {
try {
return JSON.parse(vscodeConfigString).locale || defaultLocale;
} catch {
// Fall through
}
}
// See if there is a language env variable.
const localeString = env?.LC_ALL || env?.LC_MESSAGES || env?.LANG || env?.LANGUAGE;
if (localeString) {
// This string may contain a local followed by an encoding (e.g. "en_US.UTF-8").
const localeStringSplit = localeString.split('.');
if (localeStringSplit.length > 0 && localeStringSplit[0]) {
// en_US -> en-us
const normalizedLocaleString = localeStringSplit[0].replace('_', '-').toLowerCase();
return normalizedLocaleString || defaultLocale;
}
}
} catch {
// Just use the default locale
}
// Fall back to the default locale.
return defaultLocale;
}
function loadDefaultStrings(): StringLookupMap {
const defaultStrings = stringMapsByLocale.get(defaultLocale);
if (defaultStrings) {
return defaultStrings;
}
console.error('Could not load default strings');
return {};
}
export function loadStringsForLocale(locale: string, localeMap: Map<string, StringLookupMap>): StringLookupMap {
if (locale === defaultLocale) {
// No need to load override if we're using the default.
return {};
}
let override = localeMap.get(locale);
if (override !== undefined) {
return override;
}
// If we couldn't find the requested locale, try to fall back on a more
// general version.
const localeSplit = locale.split('-');
if (localeSplit.length > 0 && localeSplit[0]) {
override = localeMap.get(localeSplit[0]);
if (override !== undefined) {
return override;
}
}
return {};
}
export namespace Localizer {
export namespace Diagnostic {
export const annotatedMetadataInconsistent = () =>
new ParameterizedString<{ type: string; metadataType: string }>(
getRawString('Diagnostic.annotatedMetadataInconsistent')
);
export const abstractMethodInvocation = () =>
new ParameterizedString<{ method: string }>(getRawString('Diagnostic.abstractMethodInvocation'));
export const annotatedParamCountMismatch = () =>
new ParameterizedString<{ expected: number; received: number }>(
getRawString('Diagnostic.annotatedParamCountMismatch')
);
export const annotatedTypeArgMissing = () => getRawString('Diagnostic.annotatedTypeArgMissing');
export const annotationBytesString = () => getRawString('Diagnostic.annotationBytesString');
export const annotationFormatString = () => getRawString('Diagnostic.annotationFormatString');
export const annotationNotSupported = () => getRawString('Diagnostic.annotationNotSupported');
export const annotationRawString = () => getRawString('Diagnostic.annotationRawString');
export const annotationSpansStrings = () => getRawString('Diagnostic.annotationSpansStrings');
export const annotationStringEscape = () => getRawString('Diagnostic.annotationStringEscape');
export const annotationTemplateString = () => getRawString('Diagnostic.annotationTemplateString');
export const argAssignment = () =>
new ParameterizedString<{ argType: string; paramType: string }>(getRawString('Diagnostic.argAssignment'));
export const argAssignmentFunction = () =>
new ParameterizedString<{ argType: string; paramType: string; functionName: string }>(
getRawString('Diagnostic.argAssignmentFunction')
);
export const argAssignmentParam = () =>
new ParameterizedString<{ argType: string; paramType: string; paramName: string }>(
getRawString('Diagnostic.argAssignmentParam')
);
export const argAssignmentParamFunction = () =>
new ParameterizedString<{ argType: string; paramType: string; paramName: string; functionName: string }>(
getRawString('Diagnostic.argAssignmentParamFunction')
);
export const argMissingForParam = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.argMissingForParam'));
export const argMissingForParams = () =>
new ParameterizedString<{ names: string }>(getRawString('Diagnostic.argMissingForParams'));
export const argMorePositionalExpectedCount = () =>
new ParameterizedString<{ expected: number }>(getRawString('Diagnostic.argMorePositionalExpectedCount'));
export const argMorePositionalExpectedOne = () => getRawString('Diagnostic.argMorePositionalExpectedOne');
export const argPositional = () => getRawString('Diagnostic.argPositional');
export const argPositionalExpectedCount = () =>
new ParameterizedString<{ expected: number }>(getRawString('Diagnostic.argPositionalExpectedCount'));
export const argPositionalExpectedOne = () => getRawString('Diagnostic.argPositionalExpectedOne');
export const argTypePartiallyUnknown = () => getRawString('Diagnostic.argTypePartiallyUnknown');
export const argTypeUnknown = () => getRawString('Diagnostic.argTypeUnknown');
export const argTypeAny = () => getRawString('Diagnostic.argTypeAny');
export const assertAlwaysTrue = () => getRawString('Diagnostic.assertAlwaysTrue');
export const assertTypeArgs = () => getRawString('Diagnostic.assertTypeArgs');
export const assertTypeTypeMismatch = () =>
new ParameterizedString<{ expected: string; received: string }>(
getRawString('Diagnostic.assertTypeTypeMismatch')
);
export const assignmentExprContext = () => getRawString('Diagnostic.assignmentExprContext');
export const assignmentExprComprehension = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.assignmentExprComprehension'));
export const assignmentExprInSubscript = () => getRawString('Diagnostic.assignmentExprInSubscript');
export const assignmentInProtocol = () => getRawString('Diagnostic.assignmentInProtocol');
export const assignmentTargetExpr = () => getRawString('Diagnostic.assignmentTargetExpr');
export const asyncNotInAsyncFunction = () => getRawString('Diagnostic.asyncNotInAsyncFunction');
export const awaitIllegal = () => getRawString('Diagnostic.awaitIllegal');
export const awaitNotAllowed = () => getRawString('Diagnostic.awaitNotAllowed');
export const awaitNotInAsync = () => getRawString('Diagnostic.awaitNotInAsync');
export const backticksIllegal = () => getRawString('Diagnostic.backticksIllegal');
export const baseClassCircular = () => getRawString('Diagnostic.baseClassCircular');
export const baseClassFinal = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.baseClassFinal'));
export const baseClassIncompatible = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.baseClassIncompatible'));
export const baseClassInvalid = () => getRawString('Diagnostic.baseClassInvalid');
export const baseClassMethodTypeIncompatible = () =>
new ParameterizedString<{ classType: string; name: string }>(
getRawString('Diagnostic.baseClassMethodTypeIncompatible')
);
export const baseClassVariableTypeIncompatible = () =>
new ParameterizedString<{ classType: string; name: string }>(
getRawString('Diagnostic.baseClassVariableTypeIncompatible')
);
export const baseClassUnknown = () => getRawString('Diagnostic.baseClassUnknown');
export const baseClassAny = () => getRawString('Diagnostic.baseClassAny');
export const binaryOperationNotAllowed = () => getRawString('Diagnostic.binaryOperationNotAllowed');
export const bindParamMissing = () =>
new ParameterizedString<{ methodName: string }>(getRawString('Diagnostic.bindParamMissing'));
export const bindTypeMismatch = () =>
new ParameterizedString<{ type: string; methodName: string; paramName: string }>(
getRawString('Diagnostic.bindTypeMismatch')
);
export const breakInExceptionGroup = () => getRawString('Diagnostic.breakInExceptionGroup');
export const breakOutsideLoop = () => getRawString('Diagnostic.breakOutsideLoop');
export const bytesUnsupportedEscape = () => getRawString('Diagnostic.bytesUnsupportedEscape');
export const callableExtraArgs = () => getRawString('Diagnostic.callableExtraArgs');
export const callableFirstArg = () => getRawString('Diagnostic.callableFirstArg');
export const callableNotInstantiable = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.callableNotInstantiable'));
export const callableSecondArg = () => getRawString('Diagnostic.callableSecondArg');
export const casePatternIsIrrefutable = () => getRawString('Diagnostic.casePatternIsIrrefutable');
export const classAlreadySpecialized = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.classAlreadySpecialized'));
export const classDecoratorTypeUnknown = () => getRawString('Diagnostic.classDecoratorTypeUnknown');
export const classDecoratorTypeAny = () => getRawString('Diagnostic.classDecoratorTypeAny');
export const classDefinitionCycle = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.classDefinitionCycle'));
export const classGetItemClsParam = () => getRawString('Diagnostic.classGetItemClsParam');
export const classMethodClsParam = () => getRawString('Diagnostic.classMethodClsParam');
export const classNotRuntimeSubscriptable = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.classNotRuntimeSubscriptable'));
export const classPatternBuiltInArgPositional = () =>
getRawString('Diagnostic.classPatternBuiltInArgPositional');
export const classPatternNewType = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.classPatternNewType'));
export const classPatternPositionalArgCount = () =>
new ParameterizedString<{ type: string; expected: number; received: number }>(
getRawString('Diagnostic.classPatternPositionalArgCount')
);
export const classPatternTypeAlias = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.classPatternTypeAlias'));
export const classPropertyDeprecated = () => getRawString('Diagnostic.classPropertyDeprecated');
export const classTypeParametersIllegal = () => getRawString('Diagnostic.classTypeParametersIllegal');
export const classVarNotAllowed = () => getRawString('Diagnostic.classVarNotAllowed');
export const classVarFirstArgMissing = () => getRawString('Diagnostic.classVarFirstArgMissing');
export const classVarOverridesInstanceVar = () =>
new ParameterizedString<{ name: string; className: string }>(
getRawString('Diagnostic.classVarOverridesInstanceVar')
);
export const classVarTooManyArgs = () => getRawString('Diagnostic.classVarTooManyArgs');
export const classVarWithTypeVar = () => getRawString('Diagnostic.classVarWithTypeVar');
export const clsSelfParamTypeMismatch = () =>
new ParameterizedString<{ name: string; classType: string }>(
getRawString('Diagnostic.clsSelfParamTypeMismatch')
);
export const reportSelfClsDefault = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.reportSelfClsDefault'));
export const codeTooComplexToAnalyze = () => getRawString('Diagnostic.codeTooComplexToAnalyze');
export const collectionAliasInstantiation = () =>
new ParameterizedString<{ type: string; alias: string }>(
getRawString('Diagnostic.collectionAliasInstantiation')
);
export const comparisonAlwaysFalse = () =>
new ParameterizedString<{ leftType: string; rightType: string }>(
getRawString('Diagnostic.comparisonAlwaysFalse')
);
export const comparisonAlwaysTrue = () =>
new ParameterizedString<{ leftType: string; rightType: string }>(
getRawString('Diagnostic.comparisonAlwaysTrue')
);
export const comprehensionInDict = () => getRawString('Diagnostic.comprehensionInDict');
export const comprehensionInSet = () => getRawString('Diagnostic.comprehensionInSet');
export const concatenateContext = () => getRawString('Diagnostic.concatenateContext');
export const concatenateParamSpecMissing = () => getRawString('Diagnostic.concatenateParamSpecMissing');
export const concatenateTypeArgsMissing = () => getRawString('Diagnostic.concatenateTypeArgsMissing');
export const conditionalOperandInvalid = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.conditionalOperandInvalid'));
export const constantRedefinition = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.constantRedefinition'));
export const coroutineInConditionalExpression = () =>
getRawString('Diagnostic.coroutineInConditionalExpression');
export const constructorParametersMismatch = () =>
new ParameterizedString<{ classType: string }>(getRawString('Diagnostic.constructorParametersMismatch'));
export const containmentAlwaysFalse = () =>
new ParameterizedString<{ leftType: string; rightType: string }>(
getRawString('Diagnostic.containmentAlwaysFalse')
);
export const containmentAlwaysTrue = () =>
new ParameterizedString<{ leftType: string; rightType: string }>(
getRawString('Diagnostic.containmentAlwaysTrue')
);
export const continueInExceptionGroup = () => getRawString('Diagnostic.continueInExceptionGroup');
export const continueOutsideLoop = () => getRawString('Diagnostic.continueOutsideLoop');
export const dataClassBaseClassFrozen = () => getRawString('Diagnostic.dataClassBaseClassFrozen');
export const dataClassBaseClassNotFrozen = () => getRawString('Diagnostic.dataClassBaseClassNotFrozen');
export const dataClassConverterFunction = () =>
new ParameterizedString<{ argType: string; fieldType: string; fieldName: string }>(
getRawString('Diagnostic.dataClassConverterFunction')
);
export const dataClassConverterOverloads = () =>
new ParameterizedString<{ funcName: string; fieldType: string; fieldName: string }>(
getRawString('Diagnostic.dataClassConverterOverloads')
);
export const dataClassFieldInheritedDefault = () =>
new ParameterizedString<{ fieldName: string }>(getRawString('Diagnostic.dataClassFieldInheritedDefault'));
export const dataClassFieldWithDefault = () => getRawString('Diagnostic.dataClassFieldWithDefault');
export const dataClassFieldWithoutAnnotation = () => getRawString('Diagnostic.dataClassFieldWithoutAnnotation');
export const dataClassFieldWithPrivateName = () => getRawString('Diagnostic.dataClassFieldWithPrivateName');
export const dataClassPostInitParamCount = () =>
new ParameterizedString<{ expected: number }>(getRawString('Diagnostic.dataClassPostInitParamCount'));
export const dataClassPostInitType = () =>
new ParameterizedString<{ fieldName: string }>(getRawString('Diagnostic.dataClassPostInitType'));
export const dataClassSlotsOverwrite = () => getRawString('Diagnostic.dataClassSlotsOverwrite');
export const dataClassTransformExpectedBoolLiteral = () =>
getRawString('Diagnostic.dataClassTransformExpectedBoolLiteral');
export const dataClassTransformFieldSpecifier = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.dataClassTransformFieldSpecifier'));
export const dataClassTransformPositionalParam = () =>
getRawString('Diagnostic.dataClassTransformPositionalParam');
export const dataClassTransformUnknownArgument = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.dataClassTransformUnknownArgument'));
export const dataProtocolInSubclassCheck = () => getRawString('Diagnostic.dataProtocolInSubclassCheck');
export const declaredReturnTypePartiallyUnknown = () =>
new ParameterizedString<{ returnType: string }>(
getRawString('Diagnostic.declaredReturnTypePartiallyUnknown')
);
export const declaredReturnTypeUnknown = () => getRawString('Diagnostic.declaredReturnTypeUnknown');
export const defaultValueContainsCall = () => getRawString('Diagnostic.defaultValueContainsCall');
export const defaultValueNotAllowed = () => getRawString('Diagnostic.defaultValueNotAllowed');
export const deprecatedClass = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.deprecatedClass'));
export const deprecatedConstructor = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.deprecatedConstructor'));
export const deprecatedDescriptorDeleter = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.deprecatedDescriptorDeleter'));
export const deprecatedDescriptorGetter = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.deprecatedDescriptorGetter'));
export const deprecatedDescriptorSetter = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.deprecatedDescriptorSetter'));
export const deprecatedFunction = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.deprecatedFunction'));
export const deprecatedMethod = () =>
new ParameterizedString<{ name: string; className: string }>(getRawString('Diagnostic.deprecatedMethod'));
export const deprecatedPropertyDeleter = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.deprecatedPropertyDeleter'));
export const deprecatedPropertyGetter = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.deprecatedPropertyGetter'));
export const deprecatedPropertySetter = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.deprecatedPropertySetter'));
export const deprecatedType = () =>
new ParameterizedString<{ version: string; replacement: string }>(
getRawString('Diagnostic.deprecatedType')
);
export const dictExpandIllegalInComprehension = () =>
getRawString('Diagnostic.dictExpandIllegalInComprehension');
export const dictInAnnotation = () => getRawString('Diagnostic.dictInAnnotation');
export const dictKeyValuePairs = () => getRawString('Diagnostic.dictKeyValuePairs');
export const dictUnpackIsNotMapping = () => getRawString('Diagnostic.dictUnpackIsNotMapping');
export const delTargetExpr = () => getRawString('Diagnostic.delTargetExpr');
export const dunderAllSymbolNotPresent = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.dunderAllSymbolNotPresent'));
export const duplicateArgsParam = () => getRawString('Diagnostic.duplicateArgsParam');
export const duplicateBaseClass = () => getRawString('Diagnostic.duplicateBaseClass');
export const duplicateCatchAll = () => getRawString('Diagnostic.duplicateCatchAll');
export const duplicateEnumMember = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.duplicateEnumMember'));
export const duplicateGenericAndProtocolBase = () => getRawString('Diagnostic.duplicateGenericAndProtocolBase');
export const duplicateImport = () =>
new ParameterizedString<{ importName: string }>(getRawString('Diagnostic.duplicateImport'));
export const duplicateKwargsParam = () => getRawString('Diagnostic.duplicateKwargsParam');
export const duplicateKeywordOnly = () => getRawString('Diagnostic.duplicateKeywordOnly');
export const duplicateParam = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.duplicateParam'));
export const duplicateCapturePatternTarget = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.duplicateCapturePatternTarget'));
export const duplicateStarPattern = () => getRawString('Diagnostic.duplicateStarPattern');
export const duplicateStarStarPattern = () => getRawString('Diagnostic.duplicateStarStarPattern');
export const duplicatePositionOnly = () => getRawString('Diagnostic.duplicatePositionOnly');
export const duplicateUnpack = () => getRawString('Diagnostic.duplicateUnpack');
export const ellipsisAfterUnpacked = () => getRawString('Diagnostic.ellipsisAfterUnpacked');
export const ellipsisContext = () => getRawString('Diagnostic.ellipsisContext');
export const ellipsisSecondArg = () => getRawString('Diagnostic.ellipsisSecondArg');
export const enumClassOverride = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.enumClassOverride'));
export const enumMemberDelete = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.enumMemberDelete'));
export const enumMemberSet = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.enumMemberSet'));
export const enumMemberTypeAnnotation = () => getRawString('Diagnostic.enumMemberTypeAnnotation');
export const exceptionGroupIncompatible = () => getRawString('Diagnostic.exceptionGroupIncompatible');
export const exceptGroupMismatch = () => getRawString('Diagnostic.exceptGroupMismatch');
export const exceptGroupRequiresType = () => getRawString('Diagnostic.exceptGroupRequiresType');
export const exceptionGroupTypeIncorrect = () => getRawString('Diagnostic.exceptionGroupTypeIncorrect');
export const exceptionTypeIncorrect = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.exceptionTypeIncorrect'));
export const exceptionTypeNotClass = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.exceptionTypeNotClass'));
export const exceptionTypeNotInstantiable = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.exceptionTypeNotInstantiable'));
export const exceptRequiresParens = () => getRawString('Diagnostic.exceptRequiresParens');
export const exceptWithAsRequiresParens = () => getRawString('Diagnostic.exceptWithAsRequiresParens');
export const expectedAfterDecorator = () => getRawString('Diagnostic.expectedAfterDecorator');
export const expectedArrow = () => getRawString('Diagnostic.expectedArrow');
export const expectedAsAfterException = () => getRawString('Diagnostic.expectedAsAfterException');
export const expectedAssignRightHandExpr = () => getRawString('Diagnostic.expectedAssignRightHandExpr');
export const expectedBinaryRightHandExpr = () => getRawString('Diagnostic.expectedBinaryRightHandExpr');
export const expectedBoolLiteral = () => getRawString('Diagnostic.expectedBoolLiteral');
export const expectedCase = () => getRawString('Diagnostic.expectedCase');
export const expectedClassName = () => getRawString('Diagnostic.expectedClassName');
export const expectedCloseBrace = () => getRawString('Diagnostic.expectedCloseBrace');
export const expectedCloseBracket = () => getRawString('Diagnostic.expectedCloseBracket');
export const expectedCloseParen = () => getRawString('Diagnostic.expectedCloseParen');
export const expectedColon = () => getRawString('Diagnostic.expectedColon');
export const expectedComplexNumberLiteral = () => getRawString('Diagnostic.expectedComplexNumberLiteral');
export const expectedDecoratorExpr = () => getRawString('Diagnostic.expectedDecoratorExpr');
export const expectedDecoratorName = () => getRawString('Diagnostic.expectedDecoratorName');
export const expectedDecoratorNewline = () => getRawString('Diagnostic.expectedDecoratorNewline');
export const expectedDelExpr = () => getRawString('Diagnostic.expectedDelExpr');
export const expectedElse = () => getRawString('Diagnostic.expectedElse');
export const expectedEquals = () => getRawString('Diagnostic.expectedEquals');
export const expectedExceptionClass = () => getRawString('Diagnostic.expectedExceptionClass');
export const expectedExceptionObj = () => getRawString('Diagnostic.expectedExceptionObj');
export const expectedExpr = () => getRawString('Diagnostic.expectedExpr');
export const expectedIdentifier = () => getRawString('Diagnostic.expectedIdentifier');
export const expectedImport = () => getRawString('Diagnostic.expectedImport');
export const expectedImportAlias = () => getRawString('Diagnostic.expectedImportAlias');
export const expectedImportSymbols = () => getRawString('Diagnostic.expectedImportSymbols');
export const expectedIndentedBlock = () => getRawString('Diagnostic.expectedIndentedBlock');
export const expectedIn = () => getRawString('Diagnostic.expectedIn');
export const expectedInExpr = () => getRawString('Diagnostic.expectedInExpr');
export const expectedFunctionAfterAsync = () => getRawString('Diagnostic.expectedFunctionAfterAsync');
export const expectedFunctionName = () => getRawString('Diagnostic.expectedFunctionName');
export const expectedMemberName = () => getRawString('Diagnostic.expectedMemberName');
export const expectedModuleName = () => getRawString('Diagnostic.expectedModuleName');
export const expectedNameAfterAs = () => getRawString('Diagnostic.expectedNameAfterAs');
export const expectedNamedParameter = () => getRawString('Diagnostic.expectedNamedParameter');
export const expectedNewline = () => getRawString('Diagnostic.expectedNewline');
export const expectedNewlineOrSemicolon = () => getRawString('Diagnostic.expectedNewlineOrSemicolon');
export const expectedOpenParen = () => getRawString('Diagnostic.expectedOpenParen');
export const expectedParamName = () => getRawString('Diagnostic.expectedParamName');
export const expectedPatternExpr = () => getRawString('Diagnostic.expectedPatternExpr');
export const expectedPatternSubjectExpr = () => getRawString('Diagnostic.expectedPatternSubjectExpr');
export const expectedPatternValue = () => getRawString('Diagnostic.expectedPatternValue');
export const expectedReturnExpr = () => getRawString('Diagnostic.expectedReturnExpr');
export const expectedSliceIndex = () => getRawString('Diagnostic.expectedSliceIndex');
export const expectedTypeNotString = () => getRawString('Diagnostic.expectedTypeNotString');
export const expectedTypeParameterName = () => getRawString('Diagnostic.expectedTypeParameterName');
export const expectedYieldExpr = () => getRawString('Diagnostic.expectedYieldExpr');
export const finalClassIsAbstract = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.finalClassIsAbstract'));
export const classImplicitlyAbstract = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.classImplicitlyAbstract'));
export const classImplicitlyProtocol = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.classImplicitlyProtocol'));
export const finalContext = () => getRawString('Diagnostic.finalContext');
export const finalInLoop = () => getRawString('Diagnostic.finalInLoop');
export const finallyBreak = () => getRawString('Diagnostic.finallyBreak');
export const finallyContinue = () => getRawString('Diagnostic.finallyContinue');
export const finallyReturn = () => getRawString('Diagnostic.finallyReturn');
export const finalMethodOverride = () =>
new ParameterizedString<{ name: string; className: string }>(
getRawString('Diagnostic.finalMethodOverride')
);
export const finalNonMethod = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.finalNonMethod'));
export const finalReassigned = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.finalReassigned'));
export const finalRedeclaration = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.finalRedeclaration'));
export const finalRedeclarationBySubclass = () =>
new ParameterizedString<{ name: string; className: string }>(
getRawString('Diagnostic.finalRedeclarationBySubclass')
);
export const finalTooManyArgs = () => getRawString('Diagnostic.finalTooManyArgs');
export const finalUnassigned = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.finalUnassigned'));
export const formatStringBrace = () => getRawString('Diagnostic.formatStringBrace');
export const formatStringBytes = () => getRawString('Diagnostic.formatStringBytes');
export const formatStringDebuggingIllegal = () => getRawString('Diagnostic.formatStringDebuggingIllegal');
export const formatStringEscape = () => getRawString('Diagnostic.formatStringEscape');
export const formatStringExpectedConversion = () => getRawString('Diagnostic.formatStringExpectedConversion');
export const formatStringInPattern = () => getRawString('Diagnostic.formatStringInPattern');
export const formatStringIllegal = () => getRawString('Diagnostic.formatStringIllegal');
export const formatStringNestedFormatSpecifier = () =>
getRawString('Diagnostic.formatStringNestedFormatSpecifier');
export const formatStringNestedQuote = () => getRawString('Diagnostic.formatStringNestedQuote');
export const formatStringTemplate = () => getRawString('Diagnostic.formatStringTemplate');
export const formatStringUnicode = () => getRawString('Diagnostic.formatStringUnicode');
export const formatStringUnterminated = () => getRawString('Diagnostic.formatStringUnterminated');
export const functionDecoratorTypeUnknown = () => getRawString('Diagnostic.functionDecoratorTypeUnknown');
export const functionDecoratorTypeAny = () => getRawString('Diagnostic.functionDecoratorTypeAny');
export const functionInConditionalExpression = () => getRawString('Diagnostic.functionInConditionalExpression');
export const functionTypeParametersIllegal = () => getRawString('Diagnostic.functionTypeParametersIllegal');
export const futureImportLocationNotAllowed = () => getRawString('Diagnostic.futureImportLocationNotAllowed');
export const generatorAsyncReturnType = () =>
new ParameterizedString<{ yieldType: string }>(getRawString('Diagnostic.generatorAsyncReturnType'));
export const generatorNotParenthesized = () => getRawString('Diagnostic.generatorNotParenthesized');
export const generatorSyncReturnType = () =>
new ParameterizedString<{ yieldType: string }>(getRawString('Diagnostic.generatorSyncReturnType'));
export const genericBaseClassNotAllowed = () => getRawString('Diagnostic.genericBaseClassNotAllowed');
export const genericClassAssigned = () => getRawString('Diagnostic.genericClassAssigned');
export const genericClassDeleted = () => getRawString('Diagnostic.genericClassDeleted');
export const genericInstanceVariableAccess = () => getRawString('Diagnostic.genericInstanceVariableAccess');
export const genericNotAllowed = () => getRawString('Diagnostic.genericNotAllowed');
export const genericTypeAliasBoundTypeVar = () =>
new ParameterizedString<{ names: string }>(getRawString('Diagnostic.genericTypeAliasBoundTypeVar'));
export const genericTypeArgMissing = () => getRawString('Diagnostic.genericTypeArgMissing');
export const genericTypeArgTypeVar = () => getRawString('Diagnostic.genericTypeArgTypeVar');
export const genericTypeArgUnique = () => getRawString('Diagnostic.genericTypeArgUnique');
export const globalReassignment = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.globalReassignment'));
export const globalRedefinition = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.globalRedefinition'));
export const implicitStringConcat = () => getRawString('Diagnostic.implicitStringConcat');
export const importCycleDetected = () => getRawString('Diagnostic.importCycleDetected');
export const importDepthExceeded = () =>
new ParameterizedString<{ depth: number }>(getRawString('Diagnostic.importDepthExceeded'));
export const importResolveFailure = () =>
new ParameterizedString<{ importName: string; venv: string }>(
getRawString('Diagnostic.importResolveFailure')
);
export const importSourceResolveFailure = () =>
new ParameterizedString<{ importName: string; venv: string }>(
getRawString('Diagnostic.importSourceResolveFailure')
);
export const importSymbolUnknown = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.importSymbolUnknown'));
export const incompatibleMethodOverride = () =>
new ParameterizedString<{ name: string; className: string }>(
getRawString('Diagnostic.incompatibleMethodOverride')
);
export const inconsistentIndent = () => getRawString('Diagnostic.inconsistentIndent');
export const inconsistentTabs = () => getRawString('Diagnostic.inconsistentTabs');
export const initMethodSelfParamTypeVar = () => getRawString('Diagnostic.initMethodSelfParamTypeVar');
export const initMustReturnNone = () => getRawString('Diagnostic.initMustReturnNone');
export const initSubclassClsParam = () => getRawString('Diagnostic.initSubclassClsParam');
export const initSubclassCallFailed = () => getRawString('Diagnostic.initSubclassCallFailed');
export const initVarNotAllowed = () => getRawString('Diagnostic.initVarNotAllowed');
export const instanceMethodSelfParam = () => getRawString('Diagnostic.instanceMethodSelfParam');
export const instanceVarOverridesClassVar = () =>
new ParameterizedString<{ name: string; className: string }>(
getRawString('Diagnostic.instanceVarOverridesClassVar')
);
export const instantiateAbstract = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.instantiateAbstract'));
export const instantiateProtocol = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.instantiateProtocol'));
export const internalBindError = () =>
new ParameterizedString<{ file: string; message: string }>(getRawString('Diagnostic.internalBindError'));
export const internalParseError = () =>
new ParameterizedString<{ file: string; message: string }>(getRawString('Diagnostic.internalParseError'));
export const internalTypeCheckingError = () =>
new ParameterizedString<{ file: string; message: string }>(
getRawString('Diagnostic.internalTypeCheckingError')
);
export const invalidIdentifierChar = () => getRawString('Diagnostic.invalidIdentifierChar');
export const invalidStubStatement = () => getRawString('Diagnostic.invalidStubStatement');
export const invalidTokenChars = () =>
new ParameterizedString<{ text: string }>(getRawString('Diagnostic.invalidTokenChars'));
export const isInstanceInvalidType = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.isInstanceInvalidType'));
export const isSubclassInvalidType = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.isSubclassInvalidType'));
export const keyValueInSet = () => getRawString('Diagnostic.keyValueInSet');
export const keywordArgInTypeArgument = () => getRawString('Diagnostic.keywordArgInTypeArgument');
export const keywordOnlyAfterArgs = () => getRawString('Diagnostic.keywordOnlyAfterArgs');
export const keywordParameterMissing = () => getRawString('Diagnostic.keywordParameterMissing');
export const keywordSubscriptIllegal = () => getRawString('Diagnostic.keywordSubscriptIllegal');
export const lambdaReturnTypeUnknown = () => getRawString('Diagnostic.lambdaReturnTypeUnknown');
export const lambdaReturnTypeAny = () => getRawString('Diagnostic.lambdaReturnTypeAny');
export const lambdaReturnTypePartiallyUnknown = () =>
new ParameterizedString<{ returnType: string }>(
getRawString('Diagnostic.lambdaReturnTypePartiallyUnknown')
);
export const listAssignmentMismatch = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.listAssignmentMismatch'));
export const listInAnnotation = () => getRawString('Diagnostic.listInAnnotation');
export const literalNamedUnicodeEscape = () => getRawString('Diagnostic.literalNamedUnicodeEscape');
export const literalUnsupportedType = () => getRawString('Diagnostic.literalUnsupportedType');
export const literalEmptyArgs = () => getRawString('Diagnostic.literalEmptyArgs');
export const literalNotAllowed = () => getRawString('Diagnostic.literalNotAllowed');
export const literalNotCallable = () => getRawString('Diagnostic.literalNotCallable');
export const matchIncompatible = () => getRawString('Diagnostic.matchIncompatible');
export const matchIsNotExhaustive = () => getRawString('Diagnostic.matchIsNotExhaustive');
export const maxParseDepthExceeded = () => getRawString('Diagnostic.maxParseDepthExceeded');
export const memberAccess = () =>
new ParameterizedString<{ name: string; type: string }>(getRawString('Diagnostic.memberAccess'));
export const memberDelete = () =>
new ParameterizedString<{ name: string; type: string }>(getRawString('Diagnostic.memberDelete'));
export const memberSet = () =>
new ParameterizedString<{ name: string; type: string }>(getRawString('Diagnostic.memberSet'));
export const metaclassConflict = () => getRawString('Diagnostic.metaclassConflict');
export const metaclassDuplicate = () => getRawString('Diagnostic.metaclassDuplicate');
export const metaclassIsGeneric = () => getRawString('Diagnostic.metaclassIsGeneric');
export const methodNotDefined = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.methodNotDefined'));
export const methodNotDefinedOnType = () =>
new ParameterizedString<{ name: string; type: string }>(getRawString('Diagnostic.methodNotDefinedOnType'));
export const methodOrdering = () => getRawString('Diagnostic.methodOrdering');
export const methodOverridden = () =>
new ParameterizedString<{ name: string; className: string; type: string }>(
getRawString('Diagnostic.methodOverridden')
);
export const methodReturnsNonObject = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.methodReturnsNonObject'));
export const missingSuperCall = () =>
new ParameterizedString<{ methodName: string }>(getRawString('Diagnostic.missingSuperCall'));
export const mixingBytesAndStr = () => getRawString('Diagnostic.mixingBytesAndStr');
export const moduleAsType = () => getRawString('Diagnostic.moduleAsType');
export const moduleNotCallable = () => getRawString('Diagnostic.moduleNotCallable');
export const moduleUnknownMember = () =>
new ParameterizedString<{ memberName: string; moduleName: string }>(
getRawString('Diagnostic.moduleUnknownMember')
);
export const namedExceptAfterCatchAll = () => getRawString('Diagnostic.namedExceptAfterCatchAll');
export const namedParamAfterParamSpecArgs = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.namedParamAfterParamSpecArgs'));
export const namedTupleEmptyName = () => getRawString('Diagnostic.namedTupleEmptyName');
export const namedTupleEntryRedeclared = () =>
new ParameterizedString<{ name: string; className: string }>(
getRawString('Diagnostic.namedTupleEntryRedeclared')
);
export const namedTupleFieldUnderscore = () => getRawString('Diagnostic.namedTupleFieldUnderscore');
export const namedTupleFirstArg = () => getRawString('Diagnostic.namedTupleFirstArg');
export const namedTupleMultipleInheritance = () => getRawString('Diagnostic.namedTupleMultipleInheritance');
export const namedTupleNameKeyword = () => getRawString('Diagnostic.namedTupleNameKeyword');
export const namedTupleNameType = () => getRawString('Diagnostic.namedTupleNameType');
export const namedTupleNameUnique = () => getRawString('Diagnostic.namedTupleNameUnique');
export const namedTupleNoTypes = () => getRawString('Diagnostic.namedTupleNoTypes');
export const namedTupleSecondArg = () => getRawString('Diagnostic.namedTupleSecondArg');
export const newClsParam = () => getRawString('Diagnostic.newClsParam');
export const newTypeAnyOrUnknown = () => getRawString('Diagnostic.newTypeAnyOrUnknown');
export const newTypeBadName = () => getRawString('Diagnostic.newTypeBadName');
export const newTypeLiteral = () => getRawString('Diagnostic.newTypeLiteral');
export const newTypeNameMismatch = () => getRawString('Diagnostic.newTypeNameMismatch');
export const newTypeNotAClass = () => getRawString('Diagnostic.newTypeNotAClass');
export const newTypeParamCount = () => getRawString('Diagnostic.newTypeParamCount');
export const newTypeProtocolClass = () => getRawString('Diagnostic.newTypeProtocolClass');
export const nonDefaultAfterDefault = () => getRawString('Diagnostic.nonDefaultAfterDefault');
export const noneNotCallable = () => getRawString('Diagnostic.noneNotCallable');
export const noneNotIterable = () => getRawString('Diagnostic.noneNotIterable');
export const noneNotSubscriptable = () => getRawString('Diagnostic.noneNotSubscriptable');
export const noneNotUsableWith = () => getRawString('Diagnostic.noneNotUsableWith');
export const noneNotUsableWithAsync = () => getRawString('Diagnostic.noneNotUsableWithAsync');
export const noneOperator = () =>
new ParameterizedString<{ operator: string }>(getRawString('Diagnostic.noneOperator'));
export const noneUnknownMember = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.noneUnknownMember'));
export const nonLocalInModule = () => getRawString('Diagnostic.nonLocalInModule');
export const nonLocalNoBinding = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.nonLocalNoBinding'));
export const nonLocalReassignment = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.nonLocalReassignment'));
export const nonLocalRedefinition = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.nonLocalRedefinition'));
export const noOverload = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.noOverload'));
export const nonlocalTypeParam = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.nonlocalTypeParam'));
export const noReturnContainsReturn = () => getRawString('Diagnostic.noReturnContainsReturn');
export const noReturnContainsYield = () => getRawString('Diagnostic.noReturnContainsYield');
export const noReturnReturnsNone = () => getRawString('Diagnostic.noReturnReturnsNone');
export const notRequiredArgCount = () => getRawString('Diagnostic.notRequiredArgCount');
export const notRequiredNotInTypedDict = () => getRawString('Diagnostic.notRequiredNotInTypedDict');
export const objectNotCallable = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.objectNotCallable'));
export const obscuredClassDeclaration = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.obscuredClassDeclaration'));
export const obscuredFunctionDeclaration = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.obscuredFunctionDeclaration'));
export const obscuredMethodDeclaration = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.obscuredMethodDeclaration'));
export const obscuredParameterDeclaration = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.obscuredParameterDeclaration'));
export const obscuredTypeAliasDeclaration = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.obscuredTypeAliasDeclaration'));
export const obscuredVariableDeclaration = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.obscuredVariableDeclaration'));
export const operatorLessOrGreaterDeprecated = () => getRawString('Diagnostic.operatorLessOrGreaterDeprecated');
export const optionalExtraArgs = () => getRawString('Diagnostic.optionalExtraArgs');
export const orPatternIrrefutable = () => getRawString('Diagnostic.orPatternIrrefutable');
export const orPatternMissingName = () => getRawString('Diagnostic.orPatternMissingName');
export const overlappingKeywordArgs = () =>
new ParameterizedString<{ names: string }>(getRawString('Diagnostic.overlappingKeywordArgs'));
export const overlappingOverload = () =>
new ParameterizedString<{ name: string; obscured: number; obscuredBy: number }>(
getRawString('Diagnostic.overlappingOverload')
);
export const overloadAbstractMismatch = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.overloadAbstractMismatch'));
export const overloadAbstractImplMismatch = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.overloadAbstractImplMismatch'));
export const overloadClassMethodInconsistent = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.overloadClassMethodInconsistent'));
export const overloadFinalImpl = () => getRawString('Diagnostic.overloadFinalImpl');
export const overloadFinalNoImpl = () => getRawString('Diagnostic.overloadFinalNoImpl');
export const overloadImplementationMismatch = () =>
new ParameterizedString<{ name: string; index: number }>(
getRawString('Diagnostic.overloadImplementationMismatch')
);
export const overloadOverrideImpl = () => getRawString('Diagnostic.overloadOverrideImpl');
export const overloadOverrideNoImpl = () => getRawString('Diagnostic.overloadOverrideNoImpl');
export const overloadReturnTypeMismatch = () =>
new ParameterizedString<{ name: string; newIndex: number; prevIndex: number }>(
getRawString('Diagnostic.overloadReturnTypeMismatch')
);
export const overloadStaticMethodInconsistent = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.overloadStaticMethodInconsistent'));
export const overloadWithoutImplementation = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.overloadWithoutImplementation'));
export const overriddenMethodNotFound = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.overriddenMethodNotFound'));
export const overrideDecoratorMissing = () =>
new ParameterizedString<{ name: string; className: string }>(
getRawString('Diagnostic.overrideDecoratorMissing')
);
export const paramAfterKwargsParam = () => getRawString('Diagnostic.paramAfterKwargsParam');
export const paramAlreadyAssigned = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.paramAlreadyAssigned'));
export const paramAnnotationMissing = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.paramAnnotationMissing'));
export const paramNameMissing = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.paramNameMissing'));
export const paramSpecArgsKwargsDuplicate = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.paramSpecArgsKwargsDuplicate'));
export const paramSpecArgsKwargsUsage = () => getRawString('Diagnostic.paramSpecArgsKwargsUsage');
export const paramSpecArgsMissing = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.paramSpecArgsMissing'));
export const paramSpecArgsUsage = () => getRawString('Diagnostic.paramSpecArgsUsage');
export const paramSpecAssignedName = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.paramSpecAssignedName'));
export const paramSpecContext = () => getRawString('Diagnostic.paramSpecContext');
export const paramSpecDefaultNotTuple = () => getRawString('Diagnostic.paramSpecDefaultNotTuple');
export const paramSpecFirstArg = () => getRawString('Diagnostic.paramSpecFirstArg');
export const paramSpecKwargsUsage = () => getRawString('Diagnostic.paramSpecKwargsUsage');
export const paramSpecNotUsedByOuterScope = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.paramSpecNotUsedByOuterScope'));
export const paramSpecUnknownArg = () => getRawString('Diagnostic.paramSpecUnknownArg');
export const paramSpecUnknownMember = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.paramSpecUnknownMember'));
export const paramSpecUnknownParam = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.paramSpecUnknownParam'));
export const paramTypeCovariant = () => getRawString('Diagnostic.paramTypeCovariant');
export const paramTypeUnknown = () =>
new ParameterizedString<{ paramName: string }>(getRawString('Diagnostic.paramTypeUnknown'));
export const paramTypeAny = () =>
new ParameterizedString<{ paramName: string }>(getRawString('Diagnostic.paramTypeAny'));
export const paramAssignmentMismatch = () =>
new ParameterizedString<{ sourceType: string; paramType: string }>(
getRawString('Diagnostic.paramAssignmentMismatch')
);
export const paramTypePartiallyUnknown = () =>
new ParameterizedString<{ paramName: string }>(getRawString('Diagnostic.paramTypePartiallyUnknown'));
export const parenthesizedContextManagerIllegal = () =>
getRawString('Diagnostic.parenthesizedContextManagerIllegal');
export const patternNeverMatches = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.patternNeverMatches'));
export const positionArgAfterNamedArg = () => getRawString('Diagnostic.positionArgAfterNamedArg');
export const positionArgAfterUnpackedDictArg = () => getRawString('Diagnostic.positionArgAfterUnpackedDictArg');
export const privateImportFromPyTypedModule = () =>
new ParameterizedString<{ name: string; module: string }>(
getRawString('Diagnostic.privateImportFromPyTypedModule')
);
export const positionOnlyAfterArgs = () => getRawString('Diagnostic.positionOnlyAfterArgs');
export const positionOnlyAfterKeywordOnly = () => getRawString('Diagnostic.positionOnlyAfterKeywordOnly');
export const positionOnlyAfterNon = () => getRawString('Diagnostic.positionOnlyAfterNon');
export const positionOnlyIncompatible = () => getRawString('Diagnostic.positionOnlyIncompatible');
export const positionOnlyFirstParam = () => getRawString('Diagnostic.positionOnlyFirstParam');
export const privateUsedOutsideOfClass = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.privateUsedOutsideOfClass'));
export const privateUsedOutsideOfModule = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.privateUsedOutsideOfModule'));
export const propertyOverridden = () =>
new ParameterizedString<{ name: string; className: string }>(getRawString('Diagnostic.propertyOverridden'));
export const propertyStaticMethod = () => getRawString('Diagnostic.propertyStaticMethod');
export const protectedUsedOutsideOfClass = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.protectedUsedOutsideOfClass'));
export const protocolBaseClass = () =>
new ParameterizedString<{ classType: string; baseType: string }>(
getRawString('Diagnostic.protocolBaseClass')
);
export const protocolBaseClassWithTypeArgs = () => getRawString('Diagnostic.protocolBaseClassWithTypeArgs');
export const protocolIllegal = () => getRawString('Diagnostic.protocolIllegal');
export const protocolNotAllowed = () => getRawString('Diagnostic.protocolNotAllowed');
export const protocolTypeArgMustBeTypeParam = () => getRawString('Diagnostic.protocolTypeArgMustBeTypeParam');
export const protocolUnsafeOverlap = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.protocolUnsafeOverlap'));
export const protocolVarianceContravariant = () =>
new ParameterizedString<{ variable: string; class: string }>(
getRawString('Diagnostic.protocolVarianceContravariant')
);
export const protocolVarianceCovariant = () =>
new ParameterizedString<{ variable: string; class: string }>(
getRawString('Diagnostic.protocolVarianceCovariant')
);
export const protocolVarianceInvariant = () =>
new ParameterizedString<{ variable: string; class: string }>(
getRawString('Diagnostic.protocolVarianceInvariant')
);
export const pyrightCommentInvalidDiagnosticBoolValue = () =>
getRawString('Diagnostic.pyrightCommentInvalidDiagnosticBoolValue');
export const pyrightCommentInvalidDiagnosticSeverityValue = () =>
getRawString('Diagnostic.pyrightCommentInvalidDiagnosticSeverityValue');
export const pyrightCommentMissingDirective = () => getRawString('Diagnostic.pyrightCommentMissingDirective');
export const pyrightCommentNotOnOwnLine = () => getRawString('Diagnostic.pyrightCommentNotOnOwnLine');
export const pyrightCommentUnknownDirective = () =>
new ParameterizedString<{ directive: string }>(getRawString('Diagnostic.pyrightCommentUnknownDirective'));
export const pyrightCommentUnknownDiagnosticRule = () =>
new ParameterizedString<{ rule: string }>(getRawString('Diagnostic.pyrightCommentUnknownDiagnosticRule'));
export const readOnlyArgCount = () => getRawString('Diagnostic.readOnlyArgCount');
export const readOnlyNotInTypedDict = () => getRawString('Diagnostic.readOnlyNotInTypedDict');
export const recursiveDefinition = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.recursiveDefinition'));
export const relativeImportNotAllowed = () => getRawString('Diagnostic.relativeImportNotAllowed');
export const requiredArgCount = () => getRawString('Diagnostic.requiredArgCount');
export const requiredNotInTypedDict = () => getRawString('Diagnostic.requiredNotInTypedDict');
export const returnInAsyncGenerator = () => getRawString('Diagnostic.returnInAsyncGenerator');
export const returnMissing = () =>
new ParameterizedString<{ returnType: string }>(getRawString('Diagnostic.returnMissing'));
export const returnInExceptionGroup = () => getRawString('Diagnostic.returnInExceptionGroup');
export const returnOutsideFunction = () => getRawString('Diagnostic.returnOutsideFunction');
export const returnTypeContravariant = () => getRawString('Diagnostic.returnTypeContravariant');
export const returnTypeMismatch = () =>
new ParameterizedString<{ exprType: string; returnType: string }>(
getRawString('Diagnostic.returnTypeMismatch')
);
export const returnTypeUnknown = () => getRawString('Diagnostic.returnTypeUnknown');
export const returnTypeAny = () => getRawString('Diagnostic.returnTypeAny');
export const returnTypePartiallyUnknown = () =>
new ParameterizedString<{ returnType: string }>(getRawString('Diagnostic.returnTypePartiallyUnknown'));
export const revealLocalsArgs = () => getRawString('Diagnostic.revealLocalsArgs');
export const revealLocalsNone = () => getRawString('Diagnostic.revealLocalsNone');
export const revealTypeArgs = () => getRawString('Diagnostic.revealTypeArgs');
export const revealTypeExpectedTextArg = () => getRawString('Diagnostic.revealTypeExpectedTextArg');
export const revealTypeExpectedTextMismatch = () =>
new ParameterizedString<{ expected: string; received: string }>(
getRawString('Diagnostic.revealTypeExpectedTextMismatch')
);
export const revealTypeExpectedTypeMismatch = () =>
new ParameterizedString<{ expected: string; received: string }>(
getRawString('Diagnostic.revealTypeExpectedTypeMismatch')
);
export const selfTypeContext = () => getRawString('Diagnostic.selfTypeContext');
export const selfTypeMetaclass = () => getRawString('Diagnostic.selfTypeMetaclass');
export const selfTypeWithTypedSelfOrCls = () => getRawString('Diagnostic.selfTypeWithTypedSelfOrCls');
export const sentinelBadName = () => getRawString('Diagnostic.sentinelBadName');
export const sentinelNameMismatch = () => getRawString('Diagnostic.sentinelNameMismatch');
export const sentinelParamCount = () => getRawString('Diagnostic.sentinelParamCount');
export const setterGetterTypeMismatch = () => getRawString('Diagnostic.setterGetterTypeMismatch');
export const starPatternInAsPattern = () => getRawString('Diagnostic.starPatternInAsPattern');
export const starPatternInOrPattern = () => getRawString('Diagnostic.starPatternInOrPattern');
export const singleOverload = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.singleOverload'));
export const slotsAttributeError = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.slotsAttributeError'));
export const slotsClassVarConflict = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.slotsClassVarConflict'));
export const starStarWildcardNotAllowed = () => getRawString('Diagnostic.starStarWildcardNotAllowed');
export const staticClsSelfParam = () => getRawString('Diagnostic.staticClsSelfParam');
export const stringNonAsciiBytes = () => getRawString('Diagnostic.stringNonAsciiBytes');
export const stringNotSubscriptable = () => getRawString('Diagnostic.stringNotSubscriptable');
export const stringUnsupportedEscape = () => getRawString('Diagnostic.stringUnsupportedEscape');
export const stringUnterminated = () => getRawString('Diagnostic.stringUnterminated');
export const stubFileMissing = () =>
new ParameterizedString<{ importName: string }>(getRawString('Diagnostic.stubFileMissing'));
export const stubUsesGetAttr = () => getRawString('Diagnostic.stubUsesGetAttr');
export const sublistParamsIncompatible = () => getRawString('Diagnostic.sublistParamsIncompatible');
export const superCallArgCount = () => getRawString('Diagnostic.superCallArgCount');
export const superCallFirstArg = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.superCallFirstArg'));
export const superCallSecondArg = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.superCallSecondArg'));
export const superCallZeroArgForm = () => getRawString('Diagnostic.superCallZeroArgForm');
export const superCallZeroArgFormStaticMethod = () =>
getRawString('Diagnostic.superCallZeroArgFormStaticMethod');
export const symbolIsUnbound = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.symbolIsUnbound'));
export const symbolIsUndefined = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.symbolIsUndefined'));
export const symbolIsPossiblyUnbound = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.symbolIsPossiblyUnbound'));
export const symbolOverridden = () =>
new ParameterizedString<{ name: string; className: string }>(getRawString('Diagnostic.symbolOverridden'));
export const templateStringBytes = () => getRawString('Diagnostic.templateStringBytes');
export const templateStringIllegal = () => getRawString('Diagnostic.templateStringIllegal');
export const templateStringUnicode = () => getRawString('Diagnostic.templateStringUnicode');
export const ternaryNotAllowed = () => getRawString('Diagnostic.ternaryNotAllowed');
export const totalOrderingMissingMethod = () => getRawString('Diagnostic.totalOrderingMissingMethod');
export const trailingCommaInFromImport = () => getRawString('Diagnostic.trailingCommaInFromImport');
export const tryWithoutExcept = () => getRawString('Diagnostic.tryWithoutExcept');
export const tupleAssignmentMismatch = () =>
new ParameterizedString<{ type: string }>(getRawString('Diagnostic.tupleAssignmentMismatch'));
export const tupleInAnnotation = () => getRawString('Diagnostic.tupleInAnnotation');
export const tupleIndexOutOfRange = () =>
new ParameterizedString<{ type: string; index: number }>(getRawString('Diagnostic.tupleIndexOutOfRange'));
export const typeAliasIllegalExpressionForm = () => getRawString('Diagnostic.typeAliasIllegalExpressionForm');
export const typeAliasIsRecursiveDirect = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.typeAliasIsRecursiveDirect'));
export const typeAliasNotInModuleOrClass = () => getRawString('Diagnostic.typeAliasNotInModuleOrClass');
export const typeAliasRedeclared = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.typeAliasRedeclared'));
export const typeAliasStatementIllegal = () => getRawString('Diagnostic.typeAliasStatementIllegal');
export const typeAliasStatementBadScope = () => getRawString('Diagnostic.typeAliasStatementBadScope');
export const typeAliasTypeBadScope = () => getRawString('Diagnostic.typeAliasTypeBadScope');
export const typeAliasTypeBaseClass = () => getRawString('Diagnostic.typeAliasTypeBaseClass');
export const typeAliasTypeMustBeAssigned = () => getRawString('Diagnostic.typeAliasTypeMustBeAssigned');
export const typeAliasTypeNameArg = () => getRawString('Diagnostic.typeAliasTypeNameArg');
export const typeAliasTypeNameMismatch = () => getRawString('Diagnostic.typeAliasTypeNameMismatch');
export const typeAliasTypeParamInvalid = () => getRawString('Diagnostic.typeAliasTypeParamInvalid');
export const typeAnnotationCall = () => getRawString('Diagnostic.typeAnnotationCall');
export const typeAnnotationVariable = () => getRawString('Diagnostic.typeAnnotationVariable');
export const typeAnnotationWithCallable = () => getRawString('Diagnostic.typeAnnotationWithCallable');
export const typeArgListExpected = () => getRawString('Diagnostic.typeArgListExpected');
export const typeArgListNotAllowed = () => getRawString('Diagnostic.typeArgListNotAllowed');
export const typeArgsExpectingNone = () =>
new ParameterizedString<{ name: string }>(getRawString('Diagnostic.typeArgsExpectingNone'));
export const typeArgsMismatchOne = () =>
new ParameterizedString<{ received: number }>(getRawString('Diagnostic.typeArgsMismatchOne'));
export const typeArgsMissingForAlias = () =>