org.jetbrains.kotlin.js.translate.utils
Class JsAstUtils

java.lang.Object
  extended by org.jetbrains.kotlin.js.translate.utils.JsAstUtils

public final class JsAstUtils
extends java.lang.Object


Field Summary
static JsNameRef CREATE_OBJECT
           
static java.lang.String LENDS_JS_DOC_TAG
           
 
Method Summary
static JsBinaryOperation addAssign(JsExpression left, JsExpression right)
           
static JsBinaryOperation and(JsExpression op1, JsExpression op2)
           
static JsExpression assignment(JsExpression left, JsExpression right)
           
static JsExpression charRangeTo(JsExpression rangeStart, JsExpression rangeEnd)
           
static JsExpression charToInt(JsExpression expression)
           
static JsExpression compareForObject(JsExpression left, JsExpression right)
           
static JsExpression compareTo(JsExpression left, JsExpression right)
           
static JsBlock convertToBlock(JsNode jsNode)
           
static JsStatement convertToStatement(JsNode jsNode)
           
static JsObjectLiteral createDataDescriptor(JsExpression value, boolean writable, boolean enumerable)
           
static JsFunction createFunctionWithEmptyBody(JsScope parent)
           
static JsFunction createPackage(java.util.List<JsStatement> to, JsObjectScope scope)
           
static JsInvocation defineProperty(java.lang.String name, JsObjectLiteral value, TranslationContext context)
           
static JsStatement defineSimpleProperty(java.lang.String name, JsExpression value)
           
static JsBinaryOperation div(JsExpression left, JsExpression right)
           
static JsBinaryOperation equality(JsExpression arg1, JsExpression arg2)
           
static JsExpression equalsForObject(JsExpression left, JsExpression right)
           
static JsExpression extractExpressionFromStatement(JsStatement statement)
           
static java.util.List<JsStatement> flattenStatement(JsStatement statement)
           
static JsBinaryOperation greaterThan(JsExpression arg1, JsExpression arg2)
           
static JsBinaryOperation greaterThanEq(JsExpression arg1, JsExpression arg2)
           
static JsBinaryOperation inequality(JsExpression arg1, JsExpression arg2)
           
static JsInvocation invokeKotlinFunction(java.lang.String name, JsExpression... argument)
           
static JsInvocation invokeMethod(JsExpression thisObject, java.lang.String name, JsExpression... arguments)
           
static boolean isEmptyExpression(JsExpression expression)
           
static boolean isEmptyStatement(JsStatement statement)
           
static JsBinaryOperation lessThan(JsExpression arg1, JsExpression arg2)
           
static JsBinaryOperation lessThanEq(JsExpression arg1, JsExpression arg2)
           
static JsExpression longFromInt(JsExpression expression)
           
static JsExpression longFromNumber(JsExpression expression)
           
static JsStatement mergeStatementInBlockIfNeeded(JsStatement statement, JsBlock block)
           
static JsBinaryOperation mod(JsExpression left, JsExpression right)
           
static JsBinaryOperation mul(JsExpression left, JsExpression right)
           
static JsPrefixOperation negated(JsExpression expression)
           
static JsIf newJsIf(JsExpression ifExpression, JsStatement thenStatement)
           
static JsIf newJsIf(JsExpression ifExpression, JsStatement thenStatement, JsStatement elseStatement)
           
static JsExpression newLong(long value, TranslationContext context)
           
static JsExpression newSequence(java.util.List<JsExpression> expressions)
           
static JsVars newVar(JsName name, JsExpression expr)
           
static JsPrefixOperation not(JsExpression expression)
           
static JsExpression numberRangeTo(JsExpression rangeStart, JsExpression rangeEnd)
           
static JsBinaryOperation or(JsExpression op1, JsExpression op2)
           
static JsExpression primitiveCompareTo(JsExpression left, JsExpression right)
           
static JsExpression replaceRootReference(JsNameRef fullQualifier, JsExpression newQualifier)
           
static void setArguments(HasArguments invocation, JsExpression... arguments)
           
static void setArguments(HasArguments invocation, java.util.List<JsExpression> newArgs)
           
static void setParameters(JsFunction function, java.util.List<JsParameter> newParams)
           
static void setQualifier(JsExpression selector, JsExpression receiver)
           
static JsBinaryOperation subtract(JsExpression left, JsExpression right)
           
static JsBinaryOperation sum(JsExpression left, JsExpression right)
           
static JsExpression toByte(JsExpression expression)
           
static JsExpression toChar(JsExpression expression)
           
static JsExpression toInt32(JsExpression expression)
           
static JsExpression toLong(JsExpression expression)
           
static JsExpression toShort(JsExpression expression)
           
static java.util.List<JsExpression> toStringLiteralList(java.util.List<java.lang.String> strings, JsProgram program)
           
static JsBinaryOperation typeOfIs(JsExpression expression, JsStringLiteral string)
           
static JsObjectLiteral wrapValue(JsExpression label, JsExpression value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CREATE_OBJECT

public static final JsNameRef CREATE_OBJECT

LENDS_JS_DOC_TAG

public static final java.lang.String LENDS_JS_DOC_TAG
See Also:
Constant Field Values
Method Detail

convertToStatement

@NotNull
public static JsStatement convertToStatement(@NotNull
                                                     JsNode jsNode)

convertToBlock

@NotNull
public static JsBlock convertToBlock(@NotNull
                                             JsNode jsNode)

newJsIf

@NotNull
public static JsIf newJsIf(@NotNull
                                   JsExpression ifExpression,
                                   @NotNull
                                   JsStatement thenStatement,
                                   @Nullable
                                   JsStatement elseStatement)

newJsIf

@NotNull
public static JsIf newJsIf(@NotNull
                                   JsExpression ifExpression,
                                   @NotNull
                                   JsStatement thenStatement)

extractExpressionFromStatement

@Nullable
public static JsExpression extractExpressionFromStatement(@Nullable
                                                                   JsStatement statement)

mergeStatementInBlockIfNeeded

@NotNull
public static JsStatement mergeStatementInBlockIfNeeded(@NotNull
                                                                JsStatement statement,
                                                                @NotNull
                                                                JsBlock block)

isEmptyStatement

public static boolean isEmptyStatement(@NotNull
                                       JsStatement statement)

isEmptyExpression

public static boolean isEmptyExpression(@NotNull
                                        JsExpression expression)

invokeKotlinFunction

@NotNull
public static JsInvocation invokeKotlinFunction(@NotNull
                                                        java.lang.String name,
                                                        @NotNull
                                                        JsExpression... argument)

invokeMethod

@NotNull
public static JsInvocation invokeMethod(@NotNull
                                                JsExpression thisObject,
                                                @NotNull
                                                java.lang.String name,
                                                @NotNull
                                                JsExpression... arguments)

toInt32

@NotNull
public static JsExpression toInt32(@NotNull
                                           JsExpression expression)

charToInt

@NotNull
public static JsExpression charToInt(@NotNull
                                             JsExpression expression)

toShort

@NotNull
public static JsExpression toShort(@NotNull
                                           JsExpression expression)

toByte

@NotNull
public static JsExpression toByte(@NotNull
                                          JsExpression expression)

toLong

@NotNull
public static JsExpression toLong(@NotNull
                                          JsExpression expression)

toChar

@NotNull
public static JsExpression toChar(@NotNull
                                          JsExpression expression)

compareTo

@NotNull
public static JsExpression compareTo(@NotNull
                                             JsExpression left,
                                             @NotNull
                                             JsExpression right)

primitiveCompareTo

@NotNull
public static JsExpression primitiveCompareTo(@NotNull
                                                      JsExpression left,
                                                      @NotNull
                                                      JsExpression right)

numberRangeTo

@NotNull
public static JsExpression numberRangeTo(@NotNull
                                                 JsExpression rangeStart,
                                                 @NotNull
                                                 JsExpression rangeEnd)

charRangeTo

@NotNull
public static JsExpression charRangeTo(@NotNull
                                               JsExpression rangeStart,
                                               @NotNull
                                               JsExpression rangeEnd)

newLong

public static JsExpression newLong(long value,
                                   @NotNull
                                   TranslationContext context)

longFromInt

@NotNull
public static JsExpression longFromInt(@NotNull
                                               JsExpression expression)

longFromNumber

@NotNull
public static JsExpression longFromNumber(@NotNull
                                                  JsExpression expression)

equalsForObject

@NotNull
public static JsExpression equalsForObject(@NotNull
                                                   JsExpression left,
                                                   @NotNull
                                                   JsExpression right)

compareForObject

@NotNull
public static JsExpression compareForObject(@NotNull
                                                    JsExpression left,
                                                    @NotNull
                                                    JsExpression right)

negated

@NotNull
public static JsPrefixOperation negated(@NotNull
                                                JsExpression expression)

and

@NotNull
public static JsBinaryOperation and(@NotNull
                                            JsExpression op1,
                                            @NotNull
                                            JsExpression op2)

or

@NotNull
public static JsBinaryOperation or(@NotNull
                                           JsExpression op1,
                                           @NotNull
                                           JsExpression op2)

setQualifier

public static void setQualifier(@NotNull
                                JsExpression selector,
                                @Nullable
                                JsExpression receiver)

equality

@NotNull
public static JsBinaryOperation equality(@NotNull
                                                 JsExpression arg1,
                                                 @NotNull
                                                 JsExpression arg2)

inequality

@NotNull
public static JsBinaryOperation inequality(@NotNull
                                                   JsExpression arg1,
                                                   @NotNull
                                                   JsExpression arg2)

lessThanEq

@NotNull
public static JsBinaryOperation lessThanEq(@NotNull
                                                   JsExpression arg1,
                                                   @NotNull
                                                   JsExpression arg2)

lessThan

@NotNull
public static JsBinaryOperation lessThan(@NotNull
                                                 JsExpression arg1,
                                                 @NotNull
                                                 JsExpression arg2)

greaterThan

@NotNull
public static JsBinaryOperation greaterThan(@NotNull
                                                    JsExpression arg1,
                                                    @NotNull
                                                    JsExpression arg2)

greaterThanEq

@NotNull
public static JsBinaryOperation greaterThanEq(@NotNull
                                                      JsExpression arg1,
                                                      @NotNull
                                                      JsExpression arg2)

assignment

@NotNull
public static JsExpression assignment(@NotNull
                                              JsExpression left,
                                              @NotNull
                                              JsExpression right)

sum

@NotNull
public static JsBinaryOperation sum(@NotNull
                                            JsExpression left,
                                            @NotNull
                                            JsExpression right)

addAssign

@NotNull
public static JsBinaryOperation addAssign(@NotNull
                                                  JsExpression left,
                                                  @NotNull
                                                  JsExpression right)

subtract

@NotNull
public static JsBinaryOperation subtract(@NotNull
                                                 JsExpression left,
                                                 @NotNull
                                                 JsExpression right)

mul

@NotNull
public static JsBinaryOperation mul(@NotNull
                                            JsExpression left,
                                            @NotNull
                                            JsExpression right)

div

@NotNull
public static JsBinaryOperation div(@NotNull
                                            JsExpression left,
                                            @NotNull
                                            JsExpression right)

mod

@NotNull
public static JsBinaryOperation mod(@NotNull
                                            JsExpression left,
                                            @NotNull
                                            JsExpression right)

not

@NotNull
public static JsPrefixOperation not(@NotNull
                                            JsExpression expression)

typeOfIs

@NotNull
public static JsBinaryOperation typeOfIs(@NotNull
                                                 JsExpression expression,
                                                 @NotNull
                                                 JsStringLiteral string)

newVar

@NotNull
public static JsVars newVar(@NotNull
                                    JsName name,
                                    @Nullable
                                    JsExpression expr)

setArguments

public static void setArguments(@NotNull
                                HasArguments invocation,
                                @NotNull
                                java.util.List<JsExpression> newArgs)

setArguments

public static void setArguments(@NotNull
                                HasArguments invocation,
                                JsExpression... arguments)

setParameters

public static void setParameters(@NotNull
                                 JsFunction function,
                                 @NotNull
                                 java.util.List<JsParameter> newParams)

newSequence

@NotNull
public static JsExpression newSequence(@NotNull
                                               java.util.List<JsExpression> expressions)

createFunctionWithEmptyBody

@NotNull
public static JsFunction createFunctionWithEmptyBody(@NotNull
                                                             JsScope parent)

toStringLiteralList

@NotNull
public static java.util.List<JsExpression> toStringLiteralList(@NotNull
                                                                       java.util.List<java.lang.String> strings,
                                                                       @NotNull
                                                                       JsProgram program)

defineProperty

@NotNull
public static JsInvocation defineProperty(@NotNull
                                                  java.lang.String name,
                                                  @NotNull
                                                  JsObjectLiteral value,
                                                  @NotNull
                                                  TranslationContext context)

defineSimpleProperty

@NotNull
public static JsStatement defineSimpleProperty(@NotNull
                                                       java.lang.String name,
                                                       @NotNull
                                                       JsExpression value)

createDataDescriptor

@NotNull
public static JsObjectLiteral createDataDescriptor(@NotNull
                                                           JsExpression value,
                                                           boolean writable,
                                                           boolean enumerable)

createPackage

@NotNull
public static JsFunction createPackage(@NotNull
                                               java.util.List<JsStatement> to,
                                               @NotNull
                                               JsObjectScope scope)

wrapValue

@NotNull
public static JsObjectLiteral wrapValue(@NotNull
                                                JsExpression label,
                                                @NotNull
                                                JsExpression value)

replaceRootReference

public static JsExpression replaceRootReference(@NotNull
                                                JsNameRef fullQualifier,
                                                @NotNull
                                                JsExpression newQualifier)

flattenStatement

@NotNull
public static java.util.List<JsStatement> flattenStatement(@NotNull
                                                                   JsStatement statement)