Repackage
ci/woodpecker/push/woodpecker Pipeline failed Details

This commit is contained in:
Johannes Frohnmeyer 2023-01-20 18:52:57 +01:00
parent 4512d8741d
commit c8f6b0b6c4
Signed by: Johannes
GPG Key ID: E76429612C2929F4
58 changed files with 219 additions and 204 deletions

View File

@ -10,5 +10,5 @@ repositories {
dependencies {
implementation("org.gradle.kotlin:gradle-kotlin-dsl-plugins:2.3.3")
implementation("io.gitlab.jfronny:convention:1.2-SNAPSHOT")
implementation("io.gitlab.jfronny:convention:1.3-SNAPSHOT")
}

View File

@ -1,13 +1,14 @@
package io.gitlab.jfronny.muscript;
import io.gitlab.jfronny.commons.data.dynamic.DList;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.data.dynamic.DList;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.data.ExpressionParameter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
import static io.gitlab.jfronny.commons.data.dynamic.DFinal.of;
import static io.gitlab.jfronny.muscript.data.dynamic.DFinal.of;
public class StandardLib {
private static final Random rnd = new Random();

View File

@ -1,6 +1,7 @@
package io.gitlab.jfronny.muscript.compiler.expr.annotations;
package io.gitlab.jfronny.muscript.annotations;
import java.lang.annotation.*;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
/**
* Annotation for expressions that may throw exceptions

View File

@ -1,4 +1,4 @@
package io.gitlab.jfronny.muscript.compiler.expr.annotations;
package io.gitlab.jfronny.muscript.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.muscript.compiler.expr;
package io.gitlab.jfronny.muscript.ast;
import io.gitlab.jfronny.muscript.ast.dynamic.DynamicCoerce;
import io.gitlab.jfronny.muscript.compiler.Type;
import io.gitlab.jfronny.muscript.compiler.expr.dynamic.DynamicCoerce;
public abstract non-sealed class BoolExpr extends Expr<Boolean> {
protected BoolExpr(int chStart, int chEnd) {

View File

@ -1,8 +1,8 @@
package io.gitlab.jfronny.muscript.compiler.expr;
package io.gitlab.jfronny.muscript.ast;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.dynamic.unpack.*;
import io.gitlab.jfronny.muscript.compiler.Type;
import io.gitlab.jfronny.muscript.compiler.expr.dynamic.unpack.*;
public abstract non-sealed class DynamicExpr extends Expr<Dynamic<?>> {
protected DynamicExpr(int chStart, int chEnd) {

View File

@ -1,10 +1,10 @@
package io.gitlab.jfronny.muscript.compiler.expr;
package io.gitlab.jfronny.muscript.ast;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.annotations.CanThrow;
import io.gitlab.jfronny.muscript.ast.literal.*;
import io.gitlab.jfronny.muscript.ast.string.StringCoerce;
import io.gitlab.jfronny.muscript.compiler.Type;
import io.gitlab.jfronny.muscript.compiler.expr.annotations.CanThrow;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.*;
import io.gitlab.jfronny.muscript.compiler.expr.string.StringCoerce;
import io.gitlab.jfronny.muscript.error.TypeMismatchException;
@CanThrow

View File

@ -1,10 +1,10 @@
package io.gitlab.jfronny.muscript.compiler.expr;
package io.gitlab.jfronny.muscript.ast;
import io.gitlab.jfronny.commons.data.dynamic.DNull;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.data.dynamic.DNull;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.annotations.CanThrow;
import io.gitlab.jfronny.muscript.ast.literal.DynamicLiteral;
import io.gitlab.jfronny.muscript.compiler.Type;
import io.gitlab.jfronny.muscript.compiler.expr.annotations.CanThrow;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.DynamicLiteral;
import io.gitlab.jfronny.muscript.error.LocationalException;
@CanThrow
@ -40,7 +40,7 @@ public final class NullLiteral extends Expr<Object> {
@Override
public StringExpr asStringExpr() {
return Expr.literal(chStart, chEnd, "null");
return literal(chStart, chEnd, "null");
}
@Override

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.muscript.compiler.expr;
package io.gitlab.jfronny.muscript.ast;
import io.gitlab.jfronny.muscript.ast.dynamic.DynamicCoerce;
import io.gitlab.jfronny.muscript.compiler.Type;
import io.gitlab.jfronny.muscript.compiler.expr.dynamic.DynamicCoerce;
public abstract non-sealed class NumberExpr extends Expr<Double> {
protected NumberExpr(int chStart, int chEnd) {

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.muscript.compiler.expr;
package io.gitlab.jfronny.muscript.ast;
import io.gitlab.jfronny.muscript.ast.dynamic.DynamicCoerce;
import io.gitlab.jfronny.muscript.compiler.Type;
import io.gitlab.jfronny.muscript.compiler.expr.dynamic.DynamicCoerce;
public abstract non-sealed class StringExpr extends Expr<String> {
protected StringExpr(int chStart, int chEnd) {

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.muscript.compiler.expr.bool;
package io.gitlab.jfronny.muscript.ast.bool;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.BoolExpr;
import io.gitlab.jfronny.muscript.compiler.expr.Expr;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.BoolLiteral;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.BoolExpr;
import io.gitlab.jfronny.muscript.ast.Expr;
import io.gitlab.jfronny.muscript.ast.literal.BoolLiteral;
public class And extends BoolExpr {
private final BoolExpr left;

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.muscript.compiler.expr.bool;
package io.gitlab.jfronny.muscript.ast.bool;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.BoolExpr;
import io.gitlab.jfronny.muscript.compiler.expr.Expr;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.BoolLiteral;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.BoolExpr;
import io.gitlab.jfronny.muscript.ast.Expr;
import io.gitlab.jfronny.muscript.ast.literal.BoolLiteral;
public class Not extends BoolExpr {
private final BoolExpr inner;

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.muscript.compiler.expr.bool;
package io.gitlab.jfronny.muscript.ast.bool;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.BoolExpr;
import io.gitlab.jfronny.muscript.compiler.expr.Expr;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.BoolLiteral;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.BoolExpr;
import io.gitlab.jfronny.muscript.ast.Expr;
import io.gitlab.jfronny.muscript.ast.literal.BoolLiteral;
public class Or extends BoolExpr {
private final BoolExpr left;

View File

@ -1,8 +1,8 @@
package io.gitlab.jfronny.muscript.compiler.expr.common;
package io.gitlab.jfronny.muscript.ast.compare;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.BoolExpr;
import io.gitlab.jfronny.muscript.compiler.expr.Expr;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.BoolExpr;
import io.gitlab.jfronny.muscript.ast.Expr;
import java.util.Objects;

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.muscript.compiler.expr.number.compare;
package io.gitlab.jfronny.muscript.ast.compare;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.*;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.NumberLiteral;
import io.gitlab.jfronny.muscript.compiler.expr.number.math.*;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.*;
import io.gitlab.jfronny.muscript.ast.literal.NumberLiteral;
import io.gitlab.jfronny.muscript.ast.math.*;
public class Greater extends BoolExpr {
private final NumberExpr left;

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.muscript.compiler.expr.number.compare;
package io.gitlab.jfronny.muscript.ast.compare;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.*;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.NumberLiteral;
import io.gitlab.jfronny.muscript.compiler.expr.number.math.*;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.*;
import io.gitlab.jfronny.muscript.ast.literal.NumberLiteral;
import io.gitlab.jfronny.muscript.ast.math.*;
public class Less extends BoolExpr {
private final NumberExpr left;

View File

@ -1,8 +1,8 @@
package io.gitlab.jfronny.muscript.compiler.expr.common.conditional;
package io.gitlab.jfronny.muscript.ast.conditional;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.BoolExpr;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.BoolLiteral;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.BoolExpr;
import io.gitlab.jfronny.muscript.ast.literal.BoolLiteral;
public class BoolConditional extends BoolExpr {
public final BoolExpr condition;

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.muscript.compiler.expr.common.conditional;
package io.gitlab.jfronny.muscript.ast.conditional;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.BoolExpr;
import io.gitlab.jfronny.muscript.compiler.expr.DynamicExpr;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.BoolLiteral;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.BoolExpr;
import io.gitlab.jfronny.muscript.ast.DynamicExpr;
import io.gitlab.jfronny.muscript.ast.literal.BoolLiteral;
public class DynamicConditional extends DynamicExpr {
public final BoolExpr condition;

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.muscript.compiler.expr.common.conditional;
package io.gitlab.jfronny.muscript.ast.conditional;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.BoolExpr;
import io.gitlab.jfronny.muscript.compiler.expr.NumberExpr;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.BoolLiteral;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.BoolExpr;
import io.gitlab.jfronny.muscript.ast.NumberExpr;
import io.gitlab.jfronny.muscript.ast.literal.BoolLiteral;
public class NumberConditional extends NumberExpr {
public final BoolExpr condition;

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.muscript.compiler.expr.common.conditional;
package io.gitlab.jfronny.muscript.ast.conditional;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.BoolExpr;
import io.gitlab.jfronny.muscript.compiler.expr.StringExpr;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.BoolLiteral;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.BoolExpr;
import io.gitlab.jfronny.muscript.ast.StringExpr;
import io.gitlab.jfronny.muscript.ast.literal.BoolLiteral;
public class StringConditional extends StringExpr {
public final BoolExpr condition;

View File

@ -1,11 +1,10 @@
package io.gitlab.jfronny.muscript.compiler.expr.unresolved;
package io.gitlab.jfronny.muscript.ast.conditional;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.*;
import io.gitlab.jfronny.muscript.annotations.CanThrow;
import io.gitlab.jfronny.muscript.ast.literal.BoolLiteral;
import io.gitlab.jfronny.muscript.compiler.Type;
import io.gitlab.jfronny.muscript.compiler.expr.*;
import io.gitlab.jfronny.muscript.compiler.expr.annotations.CanThrow;
import io.gitlab.jfronny.muscript.compiler.expr.common.conditional.*;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.BoolLiteral;
@CanThrow
public class UnresolvedConditional extends DynamicExpr {

View File

@ -1,10 +1,12 @@
package io.gitlab.jfronny.muscript.compiler.expr.dynamic;
package io.gitlab.jfronny.muscript.ast.dynamic;
import io.gitlab.jfronny.commons.data.dynamic.*;
import io.gitlab.jfronny.muscript.compiler.expr.*;
import io.gitlab.jfronny.muscript.compiler.expr.annotations.*;
import io.gitlab.jfronny.muscript.ast.DynamicExpr;
import io.gitlab.jfronny.muscript.annotations.CanThrow;
import io.gitlab.jfronny.muscript.annotations.UncheckedDynamic;
import io.gitlab.jfronny.muscript.data.dynamic.*;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
@CanThrow
@UncheckedDynamic

View File

@ -1,8 +1,8 @@
package io.gitlab.jfronny.muscript.compiler.expr.dynamic;
package io.gitlab.jfronny.muscript.ast.dynamic;
import io.gitlab.jfronny.commons.data.dynamic.*;
import io.gitlab.jfronny.muscript.compiler.expr.*;
import io.gitlab.jfronny.muscript.compiler.expr.dynamic.unpack.*;
import io.gitlab.jfronny.muscript.ast.*;
import io.gitlab.jfronny.muscript.ast.dynamic.unpack.*;
import io.gitlab.jfronny.muscript.data.dynamic.*;
public class DynamicCoerce extends DynamicExpr {
public final Expr<?> inner;

View File

@ -1,10 +1,11 @@
package io.gitlab.jfronny.muscript.compiler.expr.dynamic;
package io.gitlab.jfronny.muscript.ast.dynamic;
import io.gitlab.jfronny.commons.data.dynamic.*;
import io.gitlab.jfronny.muscript.ast.DynamicExpr;
import io.gitlab.jfronny.muscript.ast.Expr;
import io.gitlab.jfronny.muscript.annotations.CanThrow;
import io.gitlab.jfronny.muscript.annotations.UncheckedDynamic;
import io.gitlab.jfronny.muscript.compiler.Type;
import io.gitlab.jfronny.muscript.compiler.expr.DynamicExpr;
import io.gitlab.jfronny.muscript.compiler.expr.Expr;
import io.gitlab.jfronny.muscript.compiler.expr.annotations.*;
import io.gitlab.jfronny.muscript.data.dynamic.*;
import io.gitlab.jfronny.muscript.error.TypeMismatchException;
@CanThrow

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.muscript.compiler.expr.dynamic;
package io.gitlab.jfronny.muscript.ast.dynamic;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.DynamicExpr;
import io.gitlab.jfronny.muscript.compiler.expr.annotations.CanThrow;
import io.gitlab.jfronny.muscript.compiler.expr.annotations.UncheckedDynamic;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.DynamicExpr;
import io.gitlab.jfronny.muscript.annotations.CanThrow;
import io.gitlab.jfronny.muscript.annotations.UncheckedDynamic;
import io.gitlab.jfronny.muscript.error.LocationalException;
@CanThrow

View File

@ -1,9 +1,12 @@
package io.gitlab.jfronny.muscript.compiler.expr.dynamic.unpack;
package io.gitlab.jfronny.muscript.ast.dynamic.unpack;
import io.gitlab.jfronny.commons.data.dynamic.*;
import io.gitlab.jfronny.muscript.compiler.expr.*;
import io.gitlab.jfronny.muscript.compiler.expr.annotations.*;
import io.gitlab.jfronny.muscript.compiler.expr.dynamic.DynamicCoerce;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.data.dynamic.DynamicTypeConversionException;
import io.gitlab.jfronny.muscript.ast.BoolExpr;
import io.gitlab.jfronny.muscript.ast.DynamicExpr;
import io.gitlab.jfronny.muscript.annotations.CanThrow;
import io.gitlab.jfronny.muscript.annotations.UncheckedDynamic;
import io.gitlab.jfronny.muscript.ast.dynamic.DynamicCoerce;
@CanThrow
@UncheckedDynamic

View File

@ -1,11 +1,12 @@
package io.gitlab.jfronny.muscript.compiler.expr.dynamic.unpack;
package io.gitlab.jfronny.muscript.ast.dynamic.unpack;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.commons.data.dynamic.DynamicTypeConversionException;
import io.gitlab.jfronny.muscript.compiler.expr.DynamicExpr;
import io.gitlab.jfronny.muscript.compiler.expr.NumberExpr;
import io.gitlab.jfronny.muscript.compiler.expr.annotations.*;
import io.gitlab.jfronny.muscript.compiler.expr.dynamic.DynamicCoerce;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.data.dynamic.DynamicTypeConversionException;
import io.gitlab.jfronny.muscript.ast.DynamicExpr;
import io.gitlab.jfronny.muscript.ast.NumberExpr;
import io.gitlab.jfronny.muscript.annotations.CanThrow;
import io.gitlab.jfronny.muscript.annotations.UncheckedDynamic;
import io.gitlab.jfronny.muscript.ast.dynamic.DynamicCoerce;
@CanThrow
@UncheckedDynamic

View File

@ -1,12 +1,12 @@
package io.gitlab.jfronny.muscript.compiler.expr.dynamic.unpack;
package io.gitlab.jfronny.muscript.ast.dynamic.unpack;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.commons.data.dynamic.DynamicTypeConversionException;
import io.gitlab.jfronny.muscript.compiler.expr.DynamicExpr;
import io.gitlab.jfronny.muscript.compiler.expr.StringExpr;
import io.gitlab.jfronny.muscript.compiler.expr.annotations.CanThrow;
import io.gitlab.jfronny.muscript.compiler.expr.annotations.UncheckedDynamic;
import io.gitlab.jfronny.muscript.compiler.expr.dynamic.DynamicCoerce;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.data.dynamic.DynamicTypeConversionException;
import io.gitlab.jfronny.muscript.ast.DynamicExpr;
import io.gitlab.jfronny.muscript.ast.StringExpr;
import io.gitlab.jfronny.muscript.annotations.CanThrow;
import io.gitlab.jfronny.muscript.annotations.UncheckedDynamic;
import io.gitlab.jfronny.muscript.ast.dynamic.DynamicCoerce;
@CanThrow
@UncheckedDynamic

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.muscript.compiler.expr.common.literal;
package io.gitlab.jfronny.muscript.ast.literal;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.BoolExpr;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.BoolExpr;
public final class BoolLiteral extends BoolExpr {
public final boolean value;

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.muscript.compiler.expr.common.literal;
package io.gitlab.jfronny.muscript.ast.literal;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.DynamicExpr;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.DynamicExpr;
public final class DynamicLiteral<T> extends DynamicExpr {
public final Dynamic<T> value;

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.muscript.compiler.expr.common.literal;
package io.gitlab.jfronny.muscript.ast.literal;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.NumberExpr;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.NumberExpr;
public final class NumberLiteral extends NumberExpr {
public final double value;

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.muscript.compiler.expr.common.literal;
package io.gitlab.jfronny.muscript.ast.literal;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.StringExpr;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.StringExpr;
public final class StringLiteral extends StringExpr {
public final String value;

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.muscript.compiler.expr.number.math;
package io.gitlab.jfronny.muscript.ast.math;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.Expr;
import io.gitlab.jfronny.muscript.compiler.expr.NumberExpr;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.NumberLiteral;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.Expr;
import io.gitlab.jfronny.muscript.ast.NumberExpr;
import io.gitlab.jfronny.muscript.ast.literal.NumberLiteral;
public class Divide extends NumberExpr {
public final NumberExpr dividend;

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.muscript.compiler.expr.number.math;
package io.gitlab.jfronny.muscript.ast.math;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.Expr;
import io.gitlab.jfronny.muscript.compiler.expr.NumberExpr;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.NumberLiteral;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.Expr;
import io.gitlab.jfronny.muscript.ast.NumberExpr;
import io.gitlab.jfronny.muscript.ast.literal.NumberLiteral;
public class Invert extends NumberExpr {
public final NumberExpr inner;

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.muscript.compiler.expr.number.math;
package io.gitlab.jfronny.muscript.ast.math;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.Expr;
import io.gitlab.jfronny.muscript.compiler.expr.NumberExpr;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.NumberLiteral;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.Expr;
import io.gitlab.jfronny.muscript.ast.NumberExpr;
import io.gitlab.jfronny.muscript.ast.literal.NumberLiteral;
public class Minus extends NumberExpr {
public final NumberExpr minuend;

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.muscript.compiler.expr.number.math;
package io.gitlab.jfronny.muscript.ast.math;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.Expr;
import io.gitlab.jfronny.muscript.compiler.expr.NumberExpr;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.NumberLiteral;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.Expr;
import io.gitlab.jfronny.muscript.ast.NumberExpr;
import io.gitlab.jfronny.muscript.ast.literal.NumberLiteral;
public class Modulo extends NumberExpr {
private final NumberExpr dividend;

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.muscript.compiler.expr.number.math;
package io.gitlab.jfronny.muscript.ast.math;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.Expr;
import io.gitlab.jfronny.muscript.compiler.expr.NumberExpr;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.NumberLiteral;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.Expr;
import io.gitlab.jfronny.muscript.ast.NumberExpr;
import io.gitlab.jfronny.muscript.ast.literal.NumberLiteral;
public class Multiply extends NumberExpr {
public final NumberExpr multiplier;

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.muscript.compiler.expr.number.math;
package io.gitlab.jfronny.muscript.ast.math;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.Expr;
import io.gitlab.jfronny.muscript.compiler.expr.NumberExpr;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.NumberLiteral;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.Expr;
import io.gitlab.jfronny.muscript.ast.NumberExpr;
import io.gitlab.jfronny.muscript.ast.literal.NumberLiteral;
public class Plus extends NumberExpr {
public final NumberExpr augend;

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.muscript.compiler.expr.number.math;
package io.gitlab.jfronny.muscript.ast.math;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.Expr;
import io.gitlab.jfronny.muscript.compiler.expr.NumberExpr;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.NumberLiteral;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.Expr;
import io.gitlab.jfronny.muscript.ast.NumberExpr;
import io.gitlab.jfronny.muscript.ast.literal.NumberLiteral;
public class Power extends NumberExpr {
private final NumberExpr base;

View File

@ -1,8 +1,9 @@
package io.gitlab.jfronny.muscript.compiler.expr.string;
package io.gitlab.jfronny.muscript.ast.string;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.*;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.StringLiteral;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.Expr;
import io.gitlab.jfronny.muscript.ast.StringExpr;
import io.gitlab.jfronny.muscript.ast.literal.StringLiteral;
public class Concatenate extends StringExpr {
private final StringExpr left;

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.muscript.compiler.expr.string;
package io.gitlab.jfronny.muscript.ast.string;
import io.gitlab.jfronny.commons.StringFormatter;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.expr.*;
import io.gitlab.jfronny.muscript.compiler.expr.common.literal.*;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.ast.*;
import io.gitlab.jfronny.muscript.ast.literal.*;
public class StringCoerce extends StringExpr {
private final Expr<?> inner;

View File

@ -1,14 +1,12 @@
package io.gitlab.jfronny.muscript.compiler;
import io.gitlab.jfronny.muscript.compiler.expr.*;
import io.gitlab.jfronny.muscript.compiler.expr.bool.*;
import io.gitlab.jfronny.muscript.compiler.expr.common.Equal;
import io.gitlab.jfronny.muscript.compiler.expr.dynamic.*;
import io.gitlab.jfronny.muscript.compiler.expr.number.compare.Greater;
import io.gitlab.jfronny.muscript.compiler.expr.number.compare.Less;
import io.gitlab.jfronny.muscript.compiler.expr.number.math.*;
import io.gitlab.jfronny.muscript.compiler.expr.string.Concatenate;
import io.gitlab.jfronny.muscript.compiler.expr.unresolved.UnresolvedConditional;
import io.gitlab.jfronny.muscript.ast.*;
import io.gitlab.jfronny.muscript.ast.bool.*;
import io.gitlab.jfronny.muscript.ast.compare.*;
import io.gitlab.jfronny.muscript.ast.conditional.UnresolvedConditional;
import io.gitlab.jfronny.muscript.ast.dynamic.*;
import io.gitlab.jfronny.muscript.ast.math.*;
import io.gitlab.jfronny.muscript.ast.string.Concatenate;
import io.gitlab.jfronny.muscript.error.*;
import java.util.ArrayList;
@ -28,6 +26,12 @@ public class Parser {
this.lexer = lexer;
}
/**
* Generate a single expression.
* Must exhaust the source!
*
* @return the resulting expression
*/
public Expr<?> parse() {
advance();
Expr<?> expr = expression();

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.muscript;
package io.gitlab.jfronny.muscript.data;
import io.gitlab.jfronny.commons.data.dynamic.DObject;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.data.dynamic.DObject;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import java.util.HashMap;
import java.util.Map;

View File

@ -1,4 +1,4 @@
package io.gitlab.jfronny.commons.data.dynamic;
package io.gitlab.jfronny.muscript.data.dynamic;
public interface DBool extends Dynamic<Boolean> {
}

View File

@ -1,4 +1,4 @@
package io.gitlab.jfronny.commons.data.dynamic;
package io.gitlab.jfronny.muscript.data.dynamic;
import java.util.function.Function;

View File

@ -1,4 +1,4 @@
package io.gitlab.jfronny.commons.data.dynamic;
package io.gitlab.jfronny.muscript.data.dynamic;
import io.gitlab.jfronny.commons.StringFormatter;

View File

@ -1,4 +1,4 @@
package io.gitlab.jfronny.commons.data.dynamic;
package io.gitlab.jfronny.muscript.data.dynamic;
import java.util.*;

View File

@ -1,4 +1,4 @@
package io.gitlab.jfronny.commons.data.dynamic;
package io.gitlab.jfronny.muscript.data.dynamic;
import io.gitlab.jfronny.commons.StringFormatter;

View File

@ -1,4 +1,4 @@
package io.gitlab.jfronny.commons.data.dynamic;
package io.gitlab.jfronny.muscript.data.dynamic;
import java.util.List;

View File

@ -1,4 +1,4 @@
package io.gitlab.jfronny.commons.data.dynamic;
package io.gitlab.jfronny.muscript.data.dynamic;
public final class DNull implements Dynamic<Object> {
@Override

View File

@ -1,4 +1,4 @@
package io.gitlab.jfronny.commons.data.dynamic;
package io.gitlab.jfronny.muscript.data.dynamic;
public interface DNumber extends Dynamic<Double> {
}

View File

@ -1,4 +1,4 @@
package io.gitlab.jfronny.commons.data.dynamic;
package io.gitlab.jfronny.muscript.data.dynamic;
import java.util.Map;

View File

@ -1,4 +1,4 @@
package io.gitlab.jfronny.commons.data.dynamic;
package io.gitlab.jfronny.muscript.data.dynamic;
public interface DString extends Dynamic<String> {
}

View File

@ -1,4 +1,4 @@
package io.gitlab.jfronny.commons.data.dynamic;
package io.gitlab.jfronny.muscript.data.dynamic;
import io.gitlab.jfronny.commons.StringFormatter;

View File

@ -1,4 +1,4 @@
package io.gitlab.jfronny.commons.data.dynamic;
package io.gitlab.jfronny.muscript.data.dynamic;
import io.gitlab.jfronny.muscript.error.LocationalException;

View File

@ -1,6 +1,6 @@
package io.gitlab.jfronny.muscript.debug;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;

View File

@ -1,9 +1,11 @@
module io.gitlab.jfronny.commons.muscript {
requires io.gitlab.jfronny.commons;
requires static org.jetbrains.annotations;
exports io.gitlab.jfronny.commons.data.dynamic;
exports io.gitlab.jfronny.muscript;
exports io.gitlab.jfronny.muscript.compiler;
exports io.gitlab.jfronny.muscript.ast; // General purpose expressions (needed to properly interact with parsed)
exports io.gitlab.jfronny.muscript.debug;
exports io.gitlab.jfronny.muscript.error;
exports io.gitlab.jfronny.muscript.data;
exports io.gitlab.jfronny.muscript.data.dynamic;
}

View File

@ -1,13 +1,13 @@
package io.gitlab.jfronny.muscript.test;
import io.gitlab.jfronny.commons.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
import io.gitlab.jfronny.muscript.compiler.Parser;
import io.gitlab.jfronny.muscript.compiler.expr.Expr;
import io.gitlab.jfronny.muscript.ast.Expr;
import io.gitlab.jfronny.muscript.debug.ObjectGraphPrinter;
import java.util.Map;
import static io.gitlab.jfronny.commons.data.dynamic.DFinal.of;
import static io.gitlab.jfronny.muscript.data.dynamic.DFinal.of;
public class MuTestUtil {
public static double number(String source) {