GeezerVison is showing github.com — add abc imports when defining interfaces · fuzz-security/java2python@daced34
File treeExpand file treeCollapse file tree Open diff view settings Expand file treeCollapse file tree Open diff view settings Collapse file Copy file name to clipboardExpand all lines: java2python/compiler/visitor.py +6-1Lines changed: 6 additions & 1 deletion | Original file line number | Diff line number | Diff line change |
|---|
@@ -129,7 +129,12 @@ def acceptType(self, node, memo): | 129 | 129 | acceptAt = makeAcceptType('at') | 130 | 130 | acceptClass = makeAcceptType('klass') | 131 | 131 | acceptEnum = makeAcceptType('enum') | 132 | | - acceptInterface = makeAcceptType('interface') | | 132 | + _acceptInterface = makeAcceptType('interface') | | 133 | + | | 134 | + def acceptInterface(self, node, memo): | | 135 | + module = self.parents(lambda x:x.isModule).next() | | 136 | + module.needsAbstractHelpers = True | | 137 | + return self._acceptInterface(node, memo) | 133 | 138 |
| 134 | 139 |
| 135 | 140 | class Module(TypeAcceptor, Base): | |
Collapse file Copy file name to clipboardExpand all lines: java2python/config/default.py +1Lines changed: 1 addition & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
| 26 | 26 | basic.simpleDocString, | 27 | 27 | 'from __future__ import print_function', | 28 | 28 | basic.maybeBsr, | | 29 | + basic.maybeAbstractHelpers, | 29 | 30 | basic.maybeSyncHelpers, | 30 | 31 | ] | 31 | 32 |
| |
Collapse file Copy file name to clipboardExpand all lines: java2python/mod/basic.py +5-2Lines changed: 5 additions & 2 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -133,8 +133,6 @@ def maybeAbstractMethod(method): | 133 | 133 |
| 134 | 134 | def maybeSynchronizedMethod(method): | 135 | 135 | if 'synchronized' in method.modifiers: | 136 | | - module = method.parents(lambda x:x.isModule).next() | 137 | | - module.needsSyncHelpers = True | 138 | 136 | yield '@synchronized' | 139 | 137 |
| 140 | 138 |
| @@ -160,6 +158,11 @@ def maybeBsr(module): | 160 | 158 | yield line | 161 | 159 |
| 162 | 160 |
| | 161 | +def maybeAbstractHelpers(module): | | 162 | + if getattr(module, 'needsAbstractHelpers', False): | | 163 | + yield 'from abc import ABCMeta, abstractmethod' | | 164 | + | | 165 | + | 163 | 166 | def maybeSyncHelpers(module): | 164 | 167 | if getattr(module, 'needsSyncHelpers', False): | 165 | 168 | for line in getSyncHelpersSrc().split('\n'): | |
Collapse file Copy file name to clipboard -1Lines changed: 0 additions & 1 deletion | Original file line number | Diff line number | Diff line change |
|---|
| 1 | 1 | modulePrologueHandlers = [ | 2 | 2 | 'from java2python.mod.include.overloading import overloaded', | 3 | | - 'from abc import ABCMeta, abstractmethod', | 4 | 3 | ] |
Collapse file Copy file name to clipboardExpand all lines: test/configs/Interface1.py -3Lines changed: 0 additions & 3 deletions Collapse file Copy file name to clipboardExpand all lines: test/configs/defaults.py -1Lines changed: 0 additions & 1 deletion | Original file line number | Diff line number | Diff line change |
|---|
| 3 | 3 | modulePrologueHandlers = [ | 4 | 4 | 'from java2python.mod.include.classmethod import classmethod_ as classmethod', | 5 | 5 | 'from java2python.mod.include.overloading import overloaded', | 6 | | - 'from abc import ABCMeta, abstractmethod', | 7 | 6 | 'import zope.interface', | 8 | 7 | ] | 9 | 8 |
| |
|