public class OverloadScanner extends AbstractTreeScanner
OverloadScanner.Overload objects.
"Valid" overloads are the cases where the overload calls the overloaded
method with some constants. It can then be translated as a unique method
containing default parameter values.
"Wrong" overloads are all the other cases. A core generic untyped signature
is generated that englobles all the overloads and dispatch to the
implementations depending on the parameter types.| Modifier and Type | Class and Description |
|---|---|
static class |
OverloadScanner.Overload
Gathers methods overloading each other.
|
compilationUnit, context, diagnosticSource, stack, staticImports| Constructor and Description |
|---|
OverloadScanner(TranspilationHandler logHandler,
JSweetContext context)
Creates a new overload scanner.
|
| Modifier and Type | Method and Description |
|---|---|
void |
process(List<com.sun.tools.javac.tree.JCTree.JCCompilationUnit> cuList)
Processes all the overload of a given compilation unit list.
|
void |
visitClassDef(com.sun.tools.javac.tree.JCTree.JCClassDecl classdecl) |
void |
visitTopLevel(com.sun.tools.javac.tree.JCTree.JCCompilationUnit cu) |
dumpStackTrace, enter, exit, getCompilationUnit, getContext, getCurrent, getFirstParent, getGetSource, getParent, getParent, getParent, getParentElement, getParentElement, getParentOfParent, getStack, getStaticImports, onRollbacked, report, report, rollback, scan, scan, setCompilationUnitscan, visitAnnotatedType, visitAnnotation, visitApply, visitAssert, visitAssign, visitAssignop, visitBinary, visitBlock, visitBreak, visitCase, visitCatch, visitConditional, visitContinue, visitDoLoop, visitErroneous, visitExec, visitForeachLoop, visitForLoop, visitIdent, visitIf, visitImport, visitIndexed, visitLabelled, visitLambda, visitLetExpr, visitLiteral, visitMethodDef, visitModifiers, visitNewArray, visitNewClass, visitParens, visitReference, visitReturn, visitSelect, visitSkip, visitSwitch, visitSynchronized, visitThrow, visitTree, visitTry, visitTypeApply, visitTypeArray, visitTypeBoundKind, visitTypeCast, visitTypeIdent, visitTypeIntersection, visitTypeParameter, visitTypeTest, visitTypeUnion, visitUnary, visitVarDef, visitWhileLoop, visitWildcardpublic OverloadScanner(TranspilationHandler logHandler, JSweetContext context)
public void visitClassDef(com.sun.tools.javac.tree.JCTree.JCClassDecl classdecl)
visitClassDef in class com.sun.tools.javac.tree.TreeScannerpublic void visitTopLevel(com.sun.tools.javac.tree.JCTree.JCCompilationUnit cu)
visitTopLevel in class com.sun.tools.javac.tree.TreeScannerpublic void process(List<com.sun.tools.javac.tree.JCTree.JCCompilationUnit> cuList)