Add doubtful functionality to TemporaryVariable.
Adapted from https://github.com/develar/kotlin/commit/a9e0a42fb1347fa8e21c86b5a073ef8a7c873da0.
This commit is contained in:
@@ -20,24 +20,21 @@ import com.google.dart.compiler.backend.js.ast.JsExpression;
|
||||
import com.google.dart.compiler.backend.js.ast.JsName;
|
||||
import com.google.dart.compiler.backend.js.ast.JsNameRef;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.k2js.translate.utils.JsAstUtils;
|
||||
|
||||
/**
|
||||
* @author Pavel Talanov
|
||||
*/
|
||||
public final class TemporaryVariable {
|
||||
|
||||
@NotNull
|
||||
public class TemporaryVariable {
|
||||
@Nullable
|
||||
private final JsExpression assignmentExpression;
|
||||
@NotNull
|
||||
private final JsName variableName;
|
||||
@NotNull
|
||||
private final JsExpression initExpression;
|
||||
|
||||
/*package*/ TemporaryVariable(@NotNull JsName temporaryName, @NotNull JsExpression initExpression) {
|
||||
/*package*/ TemporaryVariable(@NotNull JsName temporaryName, @Nullable JsExpression initExpression) {
|
||||
this.variableName = temporaryName;
|
||||
this.initExpression = initExpression;
|
||||
this.assignmentExpression = JsAstUtils.assignment(variableName.makeRef(), this.initExpression);
|
||||
this.assignmentExpression = initExpression == null ? null : JsAstUtils.assignment(variableName.makeRef(), initExpression);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -52,11 +49,7 @@ public final class TemporaryVariable {
|
||||
|
||||
@NotNull
|
||||
public JsExpression assignmentExpression() {
|
||||
assert assignmentExpression != null;
|
||||
return assignmentExpression;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public JsExpression initExpression() {
|
||||
return initExpression;
|
||||
}
|
||||
}
|
||||
@@ -173,8 +173,9 @@ public class TranslationContext {
|
||||
return staticContext.getQualifierForDescriptor(descriptor);
|
||||
}
|
||||
|
||||
//TODO: review all invocation with notnull parameters
|
||||
@NotNull
|
||||
public TemporaryVariable declareTemporary(@NotNull JsExpression initExpression) {
|
||||
public TemporaryVariable declareTemporary(@Nullable JsExpression initExpression) {
|
||||
return dynamicContext.declareTemporary(initExpression);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user