Skip to content

Fix type merging (mostly handling null merging properly now) #101

Fix type merging (mostly handling null merging properly now)

Fix type merging (mostly handling null merging properly now) #101

GitHub Actions / Unit Test Results succeeded Jun 18, 2024 in 0s

All 91 tests pass, 1 skipped in 1s

92 tests   91 ✔️  1s ⏱️
12 suites    1 💤
12 files      0

Results for commit b71b371.

Annotations

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Unit Test Results

1 skipped test found

There is 1 skipped test, see "Raw output" for the name of the skipped test.
Raw output
me.darknet.assembler.RuntimeCompilerTest ‑ roundTrip(TestArgument)

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Unit Test Results

92 tests found

There are 92 tests, see "Raw output" for the full list of tests.
Raw output
me.darknet.assembler.ASTProcessorTest ‑ testAnnotation()
me.darknet.assembler.ASTProcessorTest ‑ testField()
me.darknet.assembler.ASTProcessorTest ‑ testInvalidField()
me.darknet.assembler.ASTProcessorTest ‑ testMethod()
me.darknet.assembler.ASTProcessorTest ‑ testSimpleClass()
me.darknet.assembler.ASTProcessorTest ‑ testSubAnnotation()
me.darknet.assembler.DeclarationParserTest ‑ testArray()
me.darknet.assembler.DeclarationParserTest ‑ testArrayInObject()
me.darknet.assembler.DeclarationParserTest ‑ testBasicPrimitives()
me.darknet.assembler.DeclarationParserTest ‑ testDeclaration()
me.darknet.assembler.DeclarationParserTest ‑ testDeclarationInObject()
me.darknet.assembler.DeclarationParserTest ‑ testInvalidInput()
me.darknet.assembler.DeclarationParserTest ‑ testNestedDeclaration()
me.darknet.assembler.DeclarationParserTest ‑ testObject()
me.darknet.assembler.EscapeTest ‑ [10] \u0031\\\\\\\
me.darknet.assembler.EscapeTest ‑ [11] "{ \"Hello World\", type: \"java/lang/HelloWorld\" }",
me.darknet.assembler.EscapeTest ‑ [12] 







me.darknet.assembler.EscapeTest ‑ [1] \n
me.darknet.assembler.EscapeTest ‑ [1] epic obfuscated name
me.darknet.assembler.EscapeTest ‑ [2] \r
me.darknet.assembler.EscapeTest ‑ [2] { "Hello World", type: "java/lang/HelloWorld" }
me.darknet.assembler.EscapeTest ‑ [3] 0 -10 10f 10.16F 10.161616D 10L 0xDEADBEEF 0E10
me.darknet.assembler.EscapeTest ‑ [3] \t
me.darknet.assembler.EscapeTest ‑ [4] .class public java/lang/HelloWorld
me.darknet.assembler.EscapeTest ‑ [4] \b
me.darknet.assembler.EscapeTest ‑ [5] @ParameterizedTest
@ValueSource(
    strings = {
        "epic\u0020obfuscated\u0020name",
        "{ \"Hello World\", type: \"java/lang/HelloWorld\" }",
        "0 -10 10f 10.16F 10.161616D 10L 0xDEADBEEF 0E10",
        ".class public java/lang/HelloWorld"
    }
)

me.darknet.assembler.EscapeTest ‑ [5] \f
me.darknet.assembler.EscapeTest ‑ [6] \"
me.darknet.assembler.EscapeTest ‑ [7] 	
me.darknet.assembler.EscapeTest ‑ [8]  
me.darknet.assembler.EscapeTest ‑ [9] ,
me.darknet.assembler.InstructionsTest ‑ testInvokeDynamic()
me.darknet.assembler.InstructionsTest ‑ testJvmBytecode()
me.darknet.assembler.InstructionsTest ‑ testLabel()
me.darknet.assembler.InstructionsTest ‑ testLdc()
me.darknet.assembler.InstructionsTest ‑ testLookupSwitch()
me.darknet.assembler.InstructionsTest ‑ testTableSwitch()
me.darknet.assembler.RuntimeCompilerTest ‑ roundTrip(TestArgument)
me.darknet.assembler.SampleCompilerTest$Analysis ‑ [1] Example-int-multi.jasm
me.darknet.assembler.SampleCompilerTest$Analysis ‑ [2] Example-int-addition.jasm
me.darknet.assembler.SampleCompilerTest$Analysis ‑ [3] Example-int-division.jasm
me.darknet.assembler.SampleCompilerTest$Analysis ‑ [4] Example-int-iinc.jasm
me.darknet.assembler.SampleCompilerTest$Analysis ‑ [5] Example-int-multiplication.jasm
me.darknet.assembler.SampleCompilerTest$Analysis ‑ [6] Example-int-remainder.jasm
me.darknet.assembler.SampleCompilerTest$Analysis ‑ [7] Example-int-subtraction.jasm
me.darknet.assembler.SampleCompilerTest$Analysis ‑ fieldLookup()
me.darknet.assembler.SampleCompilerTest$Analysis ‑ methodLookup()
me.darknet.assembler.SampleCompilerTest$Analysis ‑ typeInferenceListForTypedAnalysis()
me.darknet.assembler.SampleCompilerTest$Analysis ‑ typeInferenceListForValuedAnalysis()
me.darknet.assembler.SampleCompilerTest$Illegal ‑ intAndObjectStackMerge()
me.darknet.assembler.SampleCompilerTest$Regresssion ‑ athrowDoesNotAllowFlowThroughToNextFrameAndClearsStack()
me.darknet.assembler.SampleCompilerTest$Regresssion ‑ checkcastChangesType()
me.darknet.assembler.SampleCompilerTest$Regresssion ‑ newArrayPopsSizeOffStack()
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [10] Example-exit-exception.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [11] Example-string-ops.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [12] Example-invokedynamic.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [13] Example-int-iinc.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [14] Example-int-remainder.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [15] Example-nan.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [16] Example-type-infer-list.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [17] Example-multianewarray.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [18] Example-int-addition.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [19] Example-int-multi.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [1] Example-obfuscated-indy.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [20] Example-int-subtraction.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [21] Example-getstatic.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [22] Example-int-multiplication.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [23] Example-athrow-before-return.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [24] Example-float-cmp.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [25] Example-invokedynamic-short.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [26] Example-inner-class.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [27] Example-object-int-stack-merge.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [2] Example-infinity.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [3] Example-int-division.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [4] Example-variables.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [5] Example-anewarray.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [6] Example.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [7] Example-checkcast.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [8] Example-exception.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ [9] Example-class-annotation.jasm
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ supportInfinity()
me.darknet.assembler.SampleCompilerTest$RoundTrip ‑ supportNan()
me.darknet.assembler.SampleCompilerTest$Variables ‑ basic()
me.darknet.assembler.TokenizerTest ‑ [1] .class public java/lang/HelloWorld
me.darknet.assembler.TokenizerTest ‑ [2] .annotation Annotate {
	value: "java/lang/HelloWorld", 
	type: .enum java/lang/TargetType, METHOD
}
me.darknet.assembler.TokenizerTest ‑ [3] .method add (II)I { 
	.parameters: {a, b}
	.code: {
		iload a
		iload b
		iadd
		ireturn	
	}
}
me.darknet.assembler.TokenizerTest ‑ testNumbers()
me.darknet.assembler.TokenizerTest ‑ testStringEscaping()
me.darknet.assembler.TokenizerTest ‑ testStringTokenizer()
me.darknet.assembler.TypeParserTest ‑ [1] java/lang/String.toString ()Ljava/lang/String;
me.darknet.assembler.TypeParserTest ‑ [2] java/lang/String.value [C
me.darknet.assembler.TypeParserTest ‑ [3] name Ljava/lang/String;