String expander JS warnings are now suppressed when the corresponding log message class is disabled. Oolite-defined JS warnings no longer have 'error' in their log message class.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@5399 127b21dd-08f5-0310-b4b7-95ae10353056
master
Jens Ayton 2012-10-06 18:04:11 +00:00
parent 546ac08df5
commit 4f80e846f1
4 changed files with 30 additions and 24 deletions

View File

@ -1,4 +1,4 @@
// Identifiers for JavaScript error codes
// Identifiers for JavaScript error and warning codes
// Automatically generated by JSErrorMunger.m
{
@ -208,7 +208,7 @@
"203" = "badSurrogateChar";
"204" = "UTF8CharTooLarge";
"205" = "malformedUTF8Char";
"206" = "ooliteDefinedError";
"206" = "ooliteDefined";
"207" = "wrongConstructor";
"208" = "badGeneratorReturn";
"209" = "badAnonGeneratorReturn";

View File

@ -847,19 +847,19 @@ static void SyntaxIssue(OOStringExpansionContext *context, const char *function,
va_list args;
va_start(args, format);
if (context->isJavaScript)
if (OOLogWillDisplayMessagesInClass(logMessageClass))
{
/* NOTE: syntax errors are reported as warnings when called from JS
because we don't want to start throwing exceptions when the old
expander didn't.
*/
JSContext *jsc = OOJSAcquireContext();
OOJSReportWarningWithArguments(jsc, format, args);
OOJSRelinquishContext(jsc);
}
else
{
if (OOLogWillDisplayMessagesInClass(logMessageClass))
if (context->isJavaScript)
{
/* NOTE: syntax errors are reported as warnings when called from JS
because we don't want to start throwing exceptions when the old
expander didn't.
*/
JSContext *jsc = OOJSAcquireContext();
OOJSReportWarningWithArguments(jsc, format, args);
OOJSRelinquishContext(jsc);
}
else
{
format = [prefix stringByAppendingString:format];
OOLogWithFunctionFileAndLineAndArguments(logMessageClass, function, fileName, line, format, args);

View File

@ -46,7 +46,7 @@ int main (int argc, const char * argv[])
return EXIT_FAILURE;
}
printf("// Identifiers for JavaScript error codes\n// Automatically generated by JSErrorMunger.m\n\n{\n");
printf("// Identifiers for JavaScript error and warning codes\n// Automatically generated by JSErrorMunger.m\n\n{\n");
for (NSArray *spec in errors)
{
Handle1Spec(spec);
@ -72,6 +72,12 @@ void Handle1Spec(NSArray *spec)
NSString *ConvertName(NSString *name)
{
if ([name isEqualToString:@"JSMSG_USER_DEFINED_ERROR"])
{
// Don't want "Error" here because it's also used for warnings.
return @"ooliteDefined";
}
NSArray *components = [[name substringFromIndex:6] componentsSeparatedByString:@"_"];
NSMutableString *result = [NSMutableString string];

View File

@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
@ -101,9 +101,16 @@
/* Begin PBXProject section */
08FB7793FE84155DC02AAC07 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0450;
};
buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "JSErrorMunger" */;
compatibilityVersion = "Xcode 3.1";
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
en,
);
mainGroup = 08FB7794FE84155DC02AAC07 /* errorMungler */;
projectDirPath = "";
projectRoot = "";
@ -131,7 +138,6 @@
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = 0;
INSTALL_PATH = /usr/local/bin;
@ -153,26 +159,20 @@
1DEB927908733DD40010E9CD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
ONLY_ACTIVE_ARCH = YES;
PREBINDING = NO;
SDKROOT = macosx10.5;
};
name = Debug;
};
1DEB927A08733DD40010E9CD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PREBINDING = NO;
SDKROOT = macosx10.5;
};
name = Release;
};