check flags:
-
building check-recursive
-
Making check in .
-
make[1]: Entering directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316'
-
building all-local
-
/...-strategoxt-0.17pre18269-a0f0wy0j/bin/xtc -r /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/BUILDTIME_XTC import /...-java-front-0.9pre1823618236-frb8zh7m/share/java-front/XTC
-
/...-strategoxt-0.17pre18269-a0f0wy0j/bin/xtc -r /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/BUILDTIME_XTC import /...-dryad-0.2pre1835518355-1ydq94zz/share/dryad/XTC
-
Tools registered in repository /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/BUILDTIME_XTC:
-
Data registered in repository /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/BUILDTIME_XTC: dryad-compiler.m4
-
make[1]: Leaving directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316'
-
Making check in syntax
-
make[1]: Entering directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/syntax'
-
building all-local
-
Tools registered in repository /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/BUILDTIME_XTC:
-
Data registered in repository /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/BUILDTIME_XTC: Bytecode.def Bytecode.tbl Java-Bytecode.def Java-Bytecode.tbl Stratego-Java-Bytecode.def Stratego-Java-Bytecode.tbl Bytecode.str Bytecode.rtree Java-Bytecode.str Java-Bytecode.rtree Bytecode.def Bytecode.tbl Java-Bytecode.def Java-Bytecode.tbl Stratego-Java-Bytecode.def Stratego-Java-Bytecode.tbl Bytecode-Classes.sdf Bytecode-Constants.sdf Bytecode-Flags.sdf Bytecode-Identifiers.sdf Bytecode-Instructions.sdf Bytecode-Members.sdf Bytecode-Signatures.sdf Bytecode-Tags.sdf Bytecode-Types.sdf Bytecode.sdf Compatible-Bytecode.sdf Java-Bytecode.sdf Stratego-Java-Bytecode.sdf
-
make[1]: Leaving directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/syntax'
-
Making check in lib
-
make[1]: Entering directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/lib'
-
building all-local
-
Tools registered in repository /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/BUILDTIME_XTC:
-
Data registered in repository /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/BUILDTIME_XTC: dryad-compiler.rtree dryad-compiler/backend/asm.rtree dryad-compiler/backend/emit.rtree dryad-compiler/backend/optimize.rtree dryad-compiler/backend/unasm.rtree dryad-compiler/backend/verify.rtree dryad-compiler/backend/asm/catch-wraps.rtree dryad-compiler/backend/asm/common.rtree dryad-compiler/backend/asm/debug-info.rtree dryad-compiler/backend/asm/jump-labels.rtree dryad-compiler/backend/asm/matching.rtree dryad-compiler/backend/asm/method-body.rtree dryad-compiler/backend/asm/register-locals.rtree dryad-compiler/backend/asm/type-check.rtree dryad-compiler/backend/asm/verify-locals.rtree dryad-compiler/backend/asm/optimize/dead-code.rtree dryad-compiler/backend/asm/optimize/patterns.rtree dryad-compiler/backend/asm/transform/flatten.rtree dryad-compiler/backend/asm/transform/flow-state.rtree dryad-compiler/backend/asm/transform/traverse.rtree dryad-compiler/backend/asm/instructions/common.rtree dryad-compiler/backend/asm/instructions/invokes.rtree dryad-compiler/backend/asm/instructions/simple.rtree dryad-compiler/backend/asm/instructions/specialized.rtree dryad-compiler/backend/emit/arrays.rtree dryad-compiler/backend/emit/assertions.rtree dryad-compiler/backend/emit/bytecode.rtree dryad-compiler/backend/emit/common.rtree dryad-compiler/backend/emit/conversions.rtree dryad-compiler/backend/emit/exceptions.rtree dryad-compiler/backend/emit/fields.rtree dryad-compiler/backend/emit/initializers.rtree dryad-compiler/backend/emit/inner-classes.rtree dryad-compiler/backend/emit/invokes.rtree dryad-compiler/backend/emit/literals.rtree dryad-compiler/backend/emit/locals.rtree dryad-compiler/backend/emit/methods.rtree dryad-compiler/backend/emit/modules.rtree dryad-compiler/backend/emit/operators.rtree dryad-compiler/backend/emit/statements.rtree dryad-compiler/backend/emit/this.rtree dryad-compiler/backend/emit/types.rtree dryad-compiler/backend/unasm/instructions.rtree dryad-compiler/backend/unasm/jump-labels.rtree dryad-compiler/backend/unasm/locals.rtree dryad-compiler/backend/unasm/signatures.rtree dryad-compiler/frontend/errors.rtree dryad-compiler/frontend/expand.rtree dryad-compiler/frontend/front.rtree dryad-compiler/frontend/parse.rtree dryad-compiler/frontend/type-checker.rtree dryad-compiler/util/errors.rtree dryad-compiler/util/eval.rtree dryad-compiler/util/io.rtree dryad-compiler/util/options.rtree dryad-compiler/util/pretty-print.rtree dryad-compiler/util/trace/flatten.rtree dryad-compiler/util/trace/rewrite.rtree dryad-compiler/util/trace/traverse.rtree dryad-compiler/lib-ext/common.rtree dryad-compiler/lib-ext/debug.rtree dryad-compiler/lib-ext/java.rtree dryad-compiler/lib-ext/list.rtree dryad-compiler/lib-ext/tests.rtree dryad-compiler/lib-ext/xtc.rtree libdryad-compiler.rtree
-
make[1]: Leaving directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/lib'
-
Making check in xtc
-
make[1]: Entering directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/xtc'
-
building all-local
-
Tools registered in repository /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/BUILDTIME_XTC: dryad-compiler dryad-back javac-pp auto-dryad-compiler dryad-compiler-pp
-
Data registered in repository /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/BUILDTIME_XTC:
-
make[1]: Leaving directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/xtc'
-
Making check in tests
-
make[1]: Entering directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/tests'
-
building all-local
-
/...-strategoxt-0.17pre18269-a0f0wy0j/bin/xtc -r /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/BUILDTIME_XTC import /...-dryad-0.2pre1835518355-1ydq94zz/share/dryad/XTC
-
Tools registered in repository /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/BUILDTIME_XTC: test-main
-
Data registered in repository /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/BUILDTIME_XTC:
-
building check-am
-
make check-TESTS
-
make[2]: Entering directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/tests'
-
building check-TESTS
-
test suite: All tests
-
=======================================================================
-
Utility strategies
-
strc scoping
-
strip-bytecode-tags (1)
-
strip-bytecode-tags (2)
-
strip-bytecode-tags (3)
-
strip-trace-tags (1)
-
strip-trace-tags (2)
-
strip-trace-tags (3)
-
strip-bytecode-tags (label)
-
flatten-bytecode
-
flatten-bytecode (label)
-
bc-maybe-apply-to-wrap (list)
-
bc-maybe-apply-to-wrap (single item)
-
bc-number-wrapped ignores empty list
-
bc-number-wrapped does not count labels
-
bc-number-wrapped includes wraps in traversal (but does not count them)
-
bc-number-wrapped does post-order traversal for wraps
-
add-bytecode-embedding-tag: expression
-
add-bytecode-embedding-tag: expression with return
-
add-bytecode-embedding-tag: statement
-
add-bytecode-embedding-tag: statement with return
-
add-bytecode-embedding-tag: input returns value
-
add-bytecode-embedding-tag: input causes stack underflow
-
if-switch-on - on by default
-
if-switch-on - on by user
-
if-switch-on - off by user
-
bc-unify-types - string is object
-
bc-unify-types - string with charsequence = object
-
bc-unify-types - charsequence is charsequence
-
bc-unify-types - charsequence is object
-
bc-unify-types - object is object
-
bc-unify-types - reader is common supertype
-
bc-unify-types - reader is common supertype (2)
-
bc-unify-types - object is common supertype
-
bc-unify-types - Int is Int
-
bc-unify-types - Int is Byte
-
bc-unify-types - Int is not Long
-
bc-unify-types - Int is not an object
-
bc-unify-types - null is String
-
bc-unify-types - null is Object
-
bc-unify-types - null is Reader
-
bc-unify-types - null is not Int
-
is-bc-subtype - null is String
-
is-bc-subtype - String is not null
-
is-bc-subtype - null is not Int
-
is-bc-subtype - int is not null
-
-
=======================================================================
-
Frontend
-
Simple Java integer expression (dryad-front library)
-
Simple Java integer expression (integrated frontend)
-
Simple bytecode integer expression
-
Integer expression with if
-
Integer with bad stack depth/type
-
Unreachable expression push
-
Unreachable statement
-
Bytecode expression using Java local
-
Bytecode expression using unexisting Java local
-
Bytecode expression using out-of-scope Java local
-
Bytecode expression using renamed Java local
-
Typing Java local in Java-in-bytecode-in-Java
-
Typing Java-in-bytecode local in bytecode
-
Typing bytecode-in-Java local in Java
-
Typing bytecode-in-Java-in-... local in Java
-
Typing bytecode-in-Java local in Java-in-bytecode-in-Java
-
'As' operator as Java-in-bytecode-in-Java
-
Typing of inner Java in outer bytecode
-
Variable type determined after jump (front)
-
Typing of inner Java in class file
-
Typing of bytecode method in Java class
-
No typing occurs in traced code
-
No complaints about lack of typing in traced code
-
Frontend error for: int i = `pop
-
Frontend error for: int i = `nop
-
Frontend error for: int i = `push `undeclared;
-
No frontend error for: int i = `push `1;
-
-
=======================================================================
-
Analysis
-
Pop empty stack
-
Empty bytecode statement
-
If with empty condition
-
If with condition on stack
-
If with required push in one arm
-
If with required push both arms
-
Argument that implements two interfaces
-
Local that implements two interfaces
-
Invoke on unimplemented interface
-
Invoke with unimplemented interface on argument
-
Method does not return a value.
-
ADD does not work on strings
-
Bytecode expression using multiply defined Java local
-
Bytecode expression using 2 multiply defined Java locals
-
Bytecode local with same name as scoped Java local
-
Bytecode local with same name as scoped Java local (2)
-
Bytecode can use Java parameter
-
Bytecode can use Java parameter (2)
-
No warning for nameless parameter when emitting
-
Warning for nameless for parameter when verifying rich bytecode
-
'As' operator as Java-in-bytecode-in-Java
-
Variable type determined after jump (analysis)
-
Bytecode expression using undeclared Java local
-
Assigned in one arm of if
-
Assigned in both arms of if
-
Assigned after jumps
-
Final assigned for second time in if
-
Final assigned for second time after if
-
Final assigned for unreachable second time
-
Final parameter assigned for second time
-
Exception handler gets exception on stack
-
Exception handler requires exception on stack
-
Variable not definitely assigned in try block
-
Nested exception handlers are treated equally
-
Variable not definitely assigned in Java try block
-
Fail gracefully on malformed class
-
Emit errors don't affect container construct
-
-
=======================================================================
-
Optimization
-
Superfluous dup/pop in assignment
-
Superfluous dup/pop in field assignment
-
Superfluous jumps
-
No pattern optimization for unreachable jump
-
No pattern optimization for load with two incoming paths
-
-
=======================================================================
-
Assembly
-
Int: ADD -> IADD
-
Double: LDC -> LDC2_W; REM -> DREM
-
Int: X2I -> removed
-
NEWARRAY(string), ALOAD -> ANEWARRAY, AALOAD
-
NEWARRAY(int), ALOAD -> NEWARRAY, IALOAD
-
NEWARRAY(double), ALOAD -> NEWARRAY, DALOAD
-
NEWARRAY(string), ASTORE -> ANEWARRAY, AASTORE
-
NEWARRAY(object), ASTORE(string)
-
-
=======================================================================
-
Debug info
-
Three lines of code
-
Three lines of code (optimizations enabled)
-
Three lines of code, with a catch
-
Three lines of code, many instructions, and a catch
-
-
=======================================================================
-
Unassembly
-
Name local variables
-
Integer increment
-
Name local variables
-
Name overlapping local variables
-
'this' is always named 'this'
-
If with labels
-
Web of jump statements; asm->unasm->asm
-
Unasm class signature
-
Unasm class signature without supertype
-
Unasm method signature without named param
-
Unasm complete method
-
Unasm succeeds for Java class
-
Emit activates unasm
-
Unasm succeeds for already unassembled class
-
Unasm succeeds for already unassembled instructions
-
Unasm of class not previously loaded with define-compilation-unit
-
-
=======================================================================
-
Emit modules
-
Empty class
-
Empty class with supers
-
Empty interface with supers
-
Class with empty if
-
Class with vars in initializers
-
Class with instance field
-
Class with static field
-
Classes with super field
-
Class with assignments in (field) initializers
-
Class with assignments in (field) initializers
-
-
=======================================================================
-
Emit methods
-
Empty Java method
-
Bytecode method returning null
-
Java method with exceptions
-
Java method with unthrowable exceptions
-
-
=======================================================================
-
Emit operators
-
Complement int
-
Complement long
-
Add ints
-
Add int and byte
-
Add bytes
-
[ lt-test-main | warning ] Incompatible types.
-
[ lt-test-main | warning ] b = 1
-
1 + "string"
-
new Integer(1) + "string"
-
Primitive cast to long
-
Primitive cast to byte
-
Post-increment int
-
Pre-increment long
-
Pre-increment long field
-
Post-increment int field
-
Pre-decrement long
-
Post-increment byte (with truncation)
-
[ lt-test-main | warning ] Incompatible types.
-
[ lt-test-main | warning ] b = 0
-
Integer equality
-
Smaller-than
-
Greater-than
-
Greater-equals (long)
-
Add-assign int
-
XOR-assign byte
-
[ lt-test-main | warning ] Incompatible types.
-
[ lt-test-main | warning ] b = 0
-
Add-assign byte
-
[ lt-test-main | warning ] Incompatible types.
-
[ lt-test-main | warning ] b = 0
-
Add-assign field
-
Declaration and primitive cast
-
Declaration and boxing conversion
-
Reference cast
-
instanceof String[]
-
instanceof Iterable never applies to an array
-
instanceof Iterable applies to an object
-
Equality to null
-
Iterable.class
-
void.class
-
int.class
-
-
=======================================================================
-
Emit arrays
-
new int[3];
-
new int[5][]
-
new int[3][4][5];
-
new int[] { 1,2,3 };
-
args[0] = null;
-
array[g][h] = null
-
disallow: args[0l]
-
-
=======================================================================
-
Emit statements
-
Null declaration
-
String declaration, null assignment
-
Char declaration
-
[ lt-test-main | warning ] Incompatible types.
-
[ lt-test-main | warning ] c = 666
-
Final declaration
-
If with ==
-
If with == for a long
-
If with >
-
Simple for loop
-
For loop with void counting expression
-
Empty for loop
-
Simple while loop
-
Simple do-while loop
-
Web of jump statements
-
Break to label
-
Assign object to 'this'
-
Foreach loop with autocasting
-
Foreach loop with autoboxing
-
Dead jump in left arm of if is eliminated.
-
Assert statement
-
Assert statement with message
-
Assert statement generates new field
-
Assert statement generates new initializer
-
Assert statement does not conflict with existing static initializer
-
-
=======================================================================
-
Emit inner classes
-
Member class calling static outer method
-
No inner classes attribute for static inner class
-
Attributes of nested static classes
-
No fields set in nested static classes
-
Inner classes are well-formatted
-
Inner class gets a this$N field
-
Inner class invokes outer method using this$N
-
Inner class invokes outer method using outer class
-
Attributes of nested instance classes
-
Fields of nested instance classes
-
Fields set in nested instance classes
-
Member class instantiated from other sibling class
-
-
=======================================================================
-
Emit invocations
-
Simple println
-
Static invoke
-
Invoke with boxing conversion
-
Invoke with operator
-
Simple constructor invoke
-
super.toString()
-
Qualified.super.toString() in static inner class
-
Qualified.super.toString() in instance inner class
-
super(1)
-
this(1)
-
-
=======================================================================
-
Emit try/catch
-
Empty try/catch block
-
try/catch block with exception thrown
-
Nested try/catch block
-
try/multi-catch block
-
try/catch/finally block
-
try/finally block with return in both blocks
-
try/finally block with conditional jump
-
-
=======================================================================
-
Eval
-
"foo" + "bar"
-
1 + 2
-
1.0 : float + 2.0 : float
-
1 < 2
-
2 >= 2
-
null
-
2 <= 1
-
Invoke(Method(Lit(Class(ClassOrInterfaceType(TypeName(Id("Object")),None))),None,Id("getName")),[])
-
ldc "foo"
-
xreturn
-
ldc 1 : int
-
xreturn
-
{
-
trace (int a = 4;) [
-
int a = 5;
-
]
-
return a;
-
}
-
int c = 5;
-
return c;
-
{
-
int c;
-
for(c = 0; c < 5; c++)
-
;
-
return c;
-
}
-
{
-
int c = 0;
-
while(c < 5)
-
c++;
-
return c;
-
}
-
{
-
int c = 0;
-
do
-
c++;
-
while(c < 5);
-
return c;
-
}
-
Evaluate an already-compiled expression
-
Count number of compile/evaluations per second
-
total: 35
-
-
successes: 265
-
failures: 0
-
PASS: test-main
-
==================
-
All 1 tests passed
-
==================
-
make[2]: Leaving directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/tests'
-
building Bytecode-Classes.runtestsuite
-
/...-strategoxt-0.17pre18269-a0f0wy0j/bin/parse-unit --no-heuristic-filters -i Bytecode-Classes.testsuite -p "`XTC_REPOSITORY="/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/BUILDTIME_XTC" /...-strategoxt-0.17pre18269-a0f0wy0j/bin/xtc get Java-Bytecode.tbl`"
-
-----------------------------------------------------------------------
-
executing testsuite Bytecode-Classes with 15 tests
-
-----------------------------------------------------------------------
-
* OK : test 1 (Empty class)
-
* OK : test 2 (Class with extends)
-
* OK : test 3 (Class with extends and implements)
-
* OK : test 4 (Class with extends and methods)
-
* OK : test 5 (Class with implements and empty method)
-
* OK : test 6 (Class with implements and undefined method)
-
* OK : test 7 (Type void[] doesn't exist)
-
* OK : test 8 (Class with implements and fields)
-
* OK : test 9 (Class with implements and attributes)
-
* OK : test 10 (Class with embedded Java)
-
* OK : test 11 (Class with insane embedded Java and bytecode)
-
* OK : test 12 (Class with embedded Java method)
-
* OK : test 13 (Class with inner classes)
-
* OK : test 14 (Java class with trace tags)
-
* OK : test 15 (Java class with end trace tags)
-
-----------------------------------------------------------------------
-
results testsuite Bytecode-Classes
-
successes : 15
-
failures : 0
-
-----------------------------------------------------------------------
-
building check-nutshell
-
sh test-nutshell.sh
-
***************************************************************
-
Warning: nutshell test suite not found; skipping optional tests
-
***************************************************************
-
make[1]: Leaving directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/tests'
-
Making check in samples
-
make[1]: Entering directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples'
-
building check-recursive
-
Making check in syntax
-
make[2]: Entering directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/syntax'
-
building all-local
-
Tools registered in repository /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/BUILDTIME_XTC:
-
Data registered in repository /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/BUILDTIME_XTC: Java-Traits.def Java-Traits.tbl Stratego-Java-Traits.def Stratego-Java-Traits.tbl Mini-Java-CSharp.def Mini-Java-CSharp.tbl Stratego-Mini-Java-CSharp.def Stratego-Mini-Java-CSharp.tbl Java-Traits.str Java-Traits.rtree Mini-Java-CSharp.str Mini-Java-CSharp.rtree Java-Traits.def Java-Traits.tbl Stratego-Java-Traits.def Stratego-Java-Traits.tbl Mini-Java-CSharp.def Mini-Java-CSharp.tbl Stratego-Mini-Java-CSharp.def Stratego-Mini-Java-CSharp.tbl Java-Traits.sdf Mini-Java-CSharp-Mix.sdf Mini-Java-CSharp.sdf Stratego-Java-Traits.sdf Stratego-Mini-Java-CSharp.sdf
-
make[2]: Leaving directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/syntax'
-
Making check in trans
-
make[2]: Entering directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/trans'
-
building all-local
-
/...-strategoxt-0.17pre18269-a0f0wy0j/bin/xtc -r /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/BUILDTIME_XTC import /...-dryad-0.2pre1835518355-1ydq94zz/share/dryad/XTC
-
/...-strategoxt-0.17pre18269-a0f0wy0j/bin/xtc -r /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/BUILDTIME_XTC import /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316//BUILDTIME_XTC
-
Tools registered in repository /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/BUILDTIME_XTC: java-traits mini-java-csharp
-
Data registered in repository /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/BUILDTIME_XTC:
-
make[2]: Leaving directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/trans'
-
Making check in tests
-
make[2]: Entering directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/tests'
-
building all-local
-
/...-strategoxt-0.17pre18269-a0f0wy0j/bin/xtc -r /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/BUILDTIME_XTC import /...-dryad-0.2pre1835518355-1ydq94zz/share/dryad/XTC
-
/...-strategoxt-0.17pre18269-a0f0wy0j/bin/xtc -r /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/BUILDTIME_XTC import /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316//BUILDTIME_XTC
-
Tools registered in repository /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/BUILDTIME_XTC: test-java-traits test-mini-java-csharp
-
Data registered in repository /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/BUILDTIME_XTC:
-
building check-am
-
make check-TESTS
-
make[3]: Entering directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/tests'
-
building check-TESTS
-
test suite: Java trait tests
-
=======================================================================
-
Rewrite to Java
-
class Foo with Bar {} trait Bar { void bar() {} }
-
class Foo with Bar {} trait Bar with Baz {} trait Baz { void baz() {} }
-
class Foo with Bar minus Baz {} trait Bar with Baz {} trait Baz { void baz() {} }
-
class Foo with Bar { void required() {} } trait Bar { void required(); }
-
-
=======================================================================
-
Rewrite to classes
-
class Foo with Bar {} trait Bar { void bar() {} }
-
-
=======================================================================
-
Traits from classfiles
-
["class Foo with Bar {}",FILE("$Trait_Bar.class")]
-
-
=======================================================================
-
Error reporting
-
class Foo with Undeclared {}
-
class Foo with Bar {} trait Bar { void required(); }
-
trait Loop1 with Loop2 {} trait Loop2 with Loop1 {}
-
-
successes: 9
-
failures: 0
-
PASS: test-java-traits
-
test suite: mini-java-csharp tests
-
=======================================================================
-
as operator
-
"a" as String
-
"a" as Integer
-
[ lt-test-mini-java-csharp | warning ] Input can never be of type: java.lang.Integer
-
[ lt-test-mini-java-csharp | warning ] return "\"" + `[ `[
-
java.lang.Object r_53 = "a";
-
] push `r_53 instanceof java.lang.Integer ? (java.lang.Integer)r_53 : null ] + "\"";
-
[ lt-test-mini-java-csharp | warning ] Input can never be of type: java.lang.Integer
-
[ lt-test-mini-java-csharp | warning ] return "\"" + `[ `[
-
java.lang.Object r_53 = "a";
-
] push `r_53 instanceof java.lang.Integer ? (java.lang.Integer)r_53 : null ] + "\"";
-
1 as Object.toString()
-
1 as Integer.intValue()
-
(Object)"a" as String
-
-
=======================================================================
-
var
-
var v = 1;
-
return v;
-
var v = 1;
-
return v + "2";
-
var v = 1.0 : float;
-
while(v < 4.0 : float)
-
v++;
-
return v;
-
-
=======================================================================
-
?? operator
-
"a" ?? "b"
-
"a" ?? null
-
null ?? "b"
-
String a = "a";
-
return a ?? "b";
-
String a = null;
-
return a ?? "b";
-
-
=======================================================================
-
error reporting
-
undeclared ?? "b"
-
"string" as int
-
-
successes: 15
-
failures: 0
-
PASS: test-mini-java-csharp
-
==================
-
All 2 tests passed
-
==================
-
make[3]: Leaving directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/tests'
-
make[2]: Leaving directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/tests'
-
make[2]: Entering directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples'
-
building all-local
-
/...-strategoxt-0.17pre18269-a0f0wy0j/bin/xtc -r /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/BUILDTIME_XTC import /...-java-front-0.9pre1823618236-frb8zh7m/share/java-front/XTC
-
/...-strategoxt-0.17pre18269-a0f0wy0j/bin/xtc -r /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/BUILDTIME_XTC import /...-dryad-0.2pre1835518355-1ydq94zz/share/dryad/XTC
-
/...-strategoxt-0.17pre18269-a0f0wy0j/bin/xtc -r /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/BUILDTIME_XTC import /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316//BUILDTIME_XTC
-
Tools registered in repository /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/BUILDTIME_XTC:
-
Data registered in repository /tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples/BUILDTIME_XTC:
-
make[2]: Leaving directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples'
-
make[1]: Leaving directory `/tmp/nix-build-3k4v6jd7dbi8xf4ja99gfs14vg9cmxch-dryad-compiler.drv-0/dryad-compiler-0.1pre18316/samples'