java-commons/muscript-ast/src/main/java/io/gitlab/jfronny/muscript/ast/context/Script.java

24 lines
736 B
Java
Raw Normal View History

package io.gitlab.jfronny.muscript.ast.context;
import io.gitlab.jfronny.muscript.ast.DynamicExpr;
import io.gitlab.jfronny.muscript.ast.Expr;
import io.gitlab.jfronny.muscript.ast.dynamic.ExprGroup;
import io.gitlab.jfronny.muscript.core.CodeLocation;
import java.util.List;
import java.util.stream.Stream;
public record Script(DynamicExpr content) {
public Script(List<Expr> expressions) {
this(new ExprGroup(null, expressions, null, true));
}
public Script(List<Expr> expressions, CodeLocation location) {
this(new ExprGroup(location, expressions, null, true));
}
public Stream<Expr> stream() {
return content instanceof ExprGroup group ? group.stream() : Stream.of(content);
}
}