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


Method Summary
static JsBinaryOperation addAssign(JsExpression left, JsExpression right)
           
static JsBinaryOperation and(JsExpression op1, JsExpression op2)
           
static JsBinaryOperation assignment(JsExpression left, JsExpression right)
           
static JsStatement assignmentToThisField(java.lang.String fieldName, JsExpression right)
           
static JsStatement asSyntheticStatement(JsExpression expression)
           
static JsExpression boxedCharToChar(JsExpression expression)
           
static JsExpression charToBoxedChar(JsExpression expression)
           
static JsExpression charToInt(JsExpression expression)
           
static JsExpression charToString(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 kotlin.Pair<JsExpression,JsExpression> decomposeAssignment(JsExpression expr)
           
static kotlin.Pair<JsName,JsExpression> decomposeAssignmentToVariable(JsExpression expr)
           
static JsStatement defineGetter(JsProgram program, JsExpression receiver, java.lang.String name, JsExpression body)
           
static JsInvocation defineProperty(JsExpression receiver, java.lang.String name, JsExpression value, JsProgram program)
           
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 extractExpressionFromStatement(JsStatement statement)
           
static JsExpression extractToInt32Argument(JsExpression expression)
           
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 invokeBind(JsExpression receiver, JsExpression method)
           
static JsInvocation invokeKotlinFunction(java.lang.String name, JsExpression... argument)
           
static JsInvocation invokeMethod(JsExpression thisObject, java.lang.String name, JsExpression... arguments)
           
static boolean isEmptyStatement(JsStatement statement)
           
static boolean isUndefinedExpression(JsExpression expression)
           
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 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 notOptimized(JsExpression expression)
           
static JsBinaryOperation or(JsExpression op1, JsExpression op2)
           
static JsExpression primitiveCompareTo(JsExpression left, JsExpression right)
           
static JsExpression prototypeOf(JsExpression expression)
           
static JsNameRef pureFqn(JsName identifier, JsExpression qualifier)
           
static JsNameRef pureFqn(java.lang.String identifier, JsExpression qualifier)
           
static JsExpression replaceRootReference(JsNameRef fullQualifier, JsExpression newQualifier)
           
static void setParameters(JsFunction function, java.util.List<JsParameter> newParams)
           
static JsExpression stateMachineReceiver()
           
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
 

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)

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)

extractToInt32Argument

@Nullable
public static JsExpression extractToInt32Argument(@NotNull
                                                           JsExpression expression)

charToInt

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

charToString

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

charToBoxedChar

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

boxedCharToChar

@NotNull
public static JsExpression boxedCharToChar(@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)

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)

compareForObject

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

notOptimized

@NotNull
public static JsExpression notOptimized(@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)

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 JsBinaryOperation assignment(@NotNull
                                                   JsExpression left,
                                                   @NotNull
                                                   JsExpression right)

assignmentToThisField

@NotNull
public static JsStatement assignmentToThisField(@NotNull
                                                        java.lang.String fieldName,
                                                        @NotNull
                                                        JsExpression right)

asSyntheticStatement

public static JsStatement asSyntheticStatement(@NotNull
                                               JsExpression expression)

decomposeAssignment

@Nullable
public static kotlin.Pair<JsExpression,JsExpression> decomposeAssignment(@NotNull
                                                                                  JsExpression expr)

decomposeAssignmentToVariable

@Nullable
public static kotlin.Pair<JsName,JsExpression> decomposeAssignmentToVariable(@NotNull
                                                                                      JsExpression expr)

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)

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
                                                  JsExpression receiver,
                                                  @NotNull
                                                  java.lang.String name,
                                                  @NotNull
                                                  JsExpression value,
                                                  @NotNull
                                                  JsProgram program)

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)

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)

pureFqn

@NotNull
public static JsNameRef pureFqn(@NotNull
                                        java.lang.String identifier,
                                        @Nullable
                                        JsExpression qualifier)

pureFqn

@NotNull
public static JsNameRef pureFqn(@NotNull
                                        JsName identifier,
                                        @Nullable
                                        JsExpression qualifier)

invokeBind

@NotNull
public static JsInvocation invokeBind(@NotNull
                                              JsExpression receiver,
                                              @NotNull
                                              JsExpression method)

isUndefinedExpression

public static boolean isUndefinedExpression(JsExpression expression)

defineGetter

@NotNull
public static JsStatement defineGetter(@NotNull
                                               JsProgram program,
                                               @NotNull
                                               JsExpression receiver,
                                               @NotNull
                                               java.lang.String name,
                                               @NotNull
                                               JsExpression body)

prototypeOf

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

stateMachineReceiver

@NotNull
public static JsExpression stateMachineReceiver()