Skip to content

Commit

Permalink
✨ feat: Add create() v3
Browse files Browse the repository at this point in the history
  • Loading branch information
caoccao committed May 29, 2024
1 parent ad5ae38 commit af12068
Show file tree
Hide file tree
Showing 7 changed files with 160 additions and 124 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ public Swc4jAstBinExpr(
setRight(right);
}

public static Swc4jAstBinExpr create(Swc4jAstBinaryOp op, ISwc4jAstExpr left, ISwc4jAstExpr right) {
return new Swc4jAstBinExpr(op, left, right, Swc4jSpan.DUMMY);
}

@Override
public Optional<ISwc4jAst> eval() {
ISwc4jAstExpr left = this.left.unParenExpr();
Expand Down
240 changes: 127 additions & 113 deletions src/main/java/com/caoccao/javet/swc4j/ast/expr/Swc4jAstCallExpr.java

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,7 @@ public Swc4jAstMemberExpr(
setProp(prop);
}

public static Swc4jAstMemberExpr create(
ISwc4jAstExpr obj,
ISwc4jAstMemberProp prop) {
public static Swc4jAstMemberExpr create(ISwc4jAstExpr obj, ISwc4jAstMemberProp prop) {
return new Swc4jAstMemberExpr(obj, prop, Swc4jSpan.DUMMY);
}

Expand Down Expand Up @@ -135,6 +133,8 @@ public Optional<ISwc4jAst> eval() {
}
break;
}
default:
break;
}
}
break;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,10 @@
import com.caoccao.javet.swc4j.span.Swc4jSpan;
import com.caoccao.javet.swc4j.utils.*;

import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;

@Jni2RustClass(filePath = Jni2RustFilePath.AstUtils)
Expand Down Expand Up @@ -112,14 +115,10 @@ public Swc4jAstArrayLit(
}

public static Swc4jAstArrayLit create() {
return new Swc4jAstArrayLit(SimpleList.of(), Swc4jSpan.DUMMY);
return create(SimpleList.of());
}

public static Swc4jAstArrayLit create(List<String> list) {
List<Swc4jAstExprOrSpread> elems = new ArrayList<>();
if (list != null && !list.isEmpty()) {
list.forEach(str -> elems.add(str == null ? null : Swc4jAstExprOrSpread.create(Swc4jAstStr.create(str))));
}
public static Swc4jAstArrayLit create(List<Swc4jAstExprOrSpread> elems) {
return new Swc4jAstArrayLit(elems, Swc4jSpan.DUMMY);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,18 @@ public Swc4jAstBigInt(
setSign(sign);
}

public static Swc4jAstBigInt create() {
return create(Swc4jAstBigIntSign.NoSign, null);
}

public static Swc4jAstBigInt create(String raw) {
return create(Swc4jAstBigIntSign.Plus, raw);
}

public static Swc4jAstBigInt create(Swc4jAstBigIntSign sign, String raw) {
return new Swc4jAstBigInt(sign, raw, Swc4jSpan.DUMMY);
}

@Override
public boolean asBoolean() {
return !BigInteger.ZERO.equals(value);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
import com.caoccao.javet.swc4j.ast.Swc4jAst;
import com.caoccao.javet.swc4j.ast.enums.Swc4jAstType;
import com.caoccao.javet.swc4j.ast.interfaces.ISwc4jAst;
import com.caoccao.javet.swc4j.ast.interfaces.ISwc4jAstLit;
import com.caoccao.javet.swc4j.ast.interfaces.ISwc4jAstCoercionPrimitive;
import com.caoccao.javet.swc4j.ast.interfaces.ISwc4jAstLit;
import com.caoccao.javet.swc4j.ast.interfaces.ISwc4jAstTsLit;
import com.caoccao.javet.swc4j.ast.visitors.ISwc4jAstVisitor;
import com.caoccao.javet.swc4j.ast.visitors.Swc4jAstVisitorResponse;
Expand All @@ -45,6 +45,10 @@ public Swc4jAstBool(
setValue(value);
}

public static Swc4jAstBool create() {
return create(false);
}

public static Swc4jAstBool create(boolean value) {
return new Swc4jAstBool(value, Swc4jSpan.DUMMY);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ public Swc4jAstVisitorResponse visitUnaryExpr(Swc4jAstUnaryExpr node) {
}
}
newNode = Optional.of(Swc4jAstNumber.create(doubleValue));
break;
default:
break;
}
Expand Down Expand Up @@ -355,6 +356,8 @@ public Swc4jAstVisitorResponse visitMemberExpr(Swc4jAstMemberExpr node) {
}
break;
}
default:
break;
}
}
break;
Expand Down

0 comments on commit af12068

Please sign in to comment.