org.mozilla.javascript

Class Decompiler


public class Decompiler
extends java.lang.Object

Field Summary

static int
CASE_GAP_PROP
Decompilation property to specify identation offset for case labels.
static int
INDENT_GAP_PROP
Decompilation property to specify default identation offset.
static int
INITIAL_INDENT_PROP
Decompilation property to specify initial ident value.
static int
ONLY_BODY_FLAG
Flag to indicate that the decompilation should omit the function header and trailing brace.
static int
TO_SOURCE_FLAG
Flag to indicate that the decompilation generates toSource result.

Method Summary

static String
compress(String encodedSource, int flags, UintMap properties, ScriptOrFnNode parseTree)
Compress the script

static String
decompile(String source, int flags, UintMap properties)
Decompile the source information associated with this js function/script back into a string.

Field Details

CASE_GAP_PROP

public static final int CASE_GAP_PROP
Decompilation property to specify identation offset for case labels.
Field Value:
3

INDENT_GAP_PROP

public static final int INDENT_GAP_PROP
Decompilation property to specify default identation offset.
Field Value:
2

INITIAL_INDENT_PROP

public static final int INITIAL_INDENT_PROP
Decompilation property to specify initial ident value.
Field Value:
1

ONLY_BODY_FLAG

public static final int ONLY_BODY_FLAG
Flag to indicate that the decompilation should omit the function header and trailing brace.
Field Value:
1

TO_SOURCE_FLAG

public static final int TO_SOURCE_FLAG
Flag to indicate that the decompilation generates toSource result.
Field Value:
2

Method Details

compress

public static String compress(String encodedSource,
                              int flags,
                              UintMap properties,
                              ScriptOrFnNode parseTree)
Compress the script

Parameters:
encodedSource - encoded source string
flags - Flags specifying format of decompilation output
properties - Decompilation properties
parseTree - Mapping for each function node and corresponding parameters & variables names
Returns:
compressed script

decompile

public static String decompile(String source,
                               int flags,
                               UintMap properties)
Decompile the source information associated with this js function/script back into a string. For the most part, this just means translating tokens back to their string representations; there's a little bit of lookahead logic to decide the proper spacing/indentation. Most of the work in mapping the original source to the prettyprinted decompiled version is done by the parser.
Parameters:
source - encoded source tree presentation
flags - flags to select output format
properties - indentation properties