2
// OOLegacyScriptToJavaScriptConverter.h
5
// Created by Jens Ayton on 2007-11-24.
6
// Copyright 2007 Jens Ayton. All rights reserved.
10
#import "OOProblemReportManager.h"
13
extern NSString * const kOOScriptMetadataKeyName;
14
extern NSString * const kOOScriptMetadataKeyAuthor;
15
extern NSString * const kOOScriptMetadataKeyCopyright;
16
extern NSString * const kOOScriptMetadataKeyDescription;
17
extern NSString * const kOOScriptMetadataKeyVersion;
18
extern NSString * const kOOScriptMetadataKeyLicense;
21
@interface OOLegacyScriptToJavaScriptConverter: NSObject
23
NSDictionary *_metadata;
24
id <OOProblemReportManager> _problemReporter;
26
NSMutableString *_result;
27
NSMutableDictionary *_legalizedVariableNames;
28
NSMutableSet *_usedLocalVariableNames;
29
OOUInteger _lastVariableUniqueTag;
30
NSMutableDictionary *_initializers;
31
NSMutableDictionary *_helperFunctions;
32
OOUInteger _initializerLocation;
34
BOOL _secondaryIndent;
35
BOOL _validConversion;
38
+ (NSString *) convertScript:(NSArray *)scriptActions
39
metadata:(NSDictionary *)metadata
40
problemReporter:(id <OOProblemReportManager>)problemReporter;
42
+ (NSDictionary *) convertMultipleScripts:(NSDictionary *)scripts
43
metadata:(NSDictionary *)metadata
44
problemReporter:(id <OOProblemReportManager>)problemReporter;
49
@interface NSString (OOScriptConverterUtilities)
51
// Add escape codes for string so that it's a valid JavaScript literal (if you put "" or '' around it).
52
- (NSString *)escapedForJavaScriptLiteral;
54
// Remove occurances of */
55
- (NSString *)escapedForJavaScriptBlockComment;
60
BOOL OOScriptConverterIsNumberLiteral(NSString *string);