You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Consider I have (accidentially or not) some class X which has def main(args: Array[String]): Unit. CBT considers this as one of the variants of possible entry points during cbt run unless the class is abstract.
This behaviour is not fatal but a little bit annoying when you accidentially have written class instead of object and everything works fine with cbt but does not work with other tools (e.g. running with pure scala runner). In the code it's written that it's done because of dottydoc.
The really strange behaviour of cbt is when you have a really strange class having both constructor parameters and def main, something like this:
So, generally, cbt's reflection sublibrary assumes that it works with classes having a constructor with empty parameters list when talking about static methods (typeStaticMethod(Method) function).
The text was updated successfully, but these errors were encountered:
buzden
changed the title
Mains of not only objects are considered to be entrypoints
Existence of mains in a class with a parameterful constructor leads to cbt fail
Jan 26, 2018
fix in #587, let's keep this open to still add a test as described there. Probably by copying cbt/test/simple, adding the suggested classes and calling something like .mainMethods on the build and check it doesn't throw
Consider I have (accidentially or not) some
class X
which hasdef main(args: Array[String]): Unit
. CBT considers this as one of the variants of possible entry points duringcbt run
unless theclass
isabstract
.This behaviour is not fatal but a little bit annoying when you accidentially have written
class
instead ofobject
and everything works fine withcbt
but does not work with other tools (e.g. running with purescala
runner). In the code it's written that it's done because of dottydoc.The really strange behaviour of
cbt
is when you have a really strange class having both constructor parameters anddef main
, something like this:Having this leads to (guess what):
So, generally, cbt's reflection sublibrary assumes that it works with classes having a constructor with empty parameters list when talking about static methods (
typeStaticMethod(Method)
function).The text was updated successfully, but these errors were encountered: