Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,7 @@
# ScanCode is a free software code scanning tool from nexB Inc. and others.
# Visit https://github.com/nexB/scancode-toolkit/ for support and download.

from __future__ import absolute_import
from __future__ import unicode_literals

import re
from collections import OrderedDict
from functools import partial
from itertools import chain

Expand All @@ -45,7 +41,7 @@ class CPPIncludesScanner(ScanPlugin):
"""
Collect the #includes statements in a C/C++ file.
"""
resource_attributes = OrderedDict(
resource_attributes = dict(
cpp_includes=attr.ib(default=attr.Factory(list), repr=False),
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@

import os

from collections import OrderedDict
from functools import partial
from itertools import chain

Expand Down
3 changes: 1 addition & 2 deletions binary-analysis/scancode-compiledcode/src/dwarf/dwarf.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
from __future__ import absolute_import
from __future__ import print_function

from collections import OrderedDict
import posixpath
import re

Expand Down Expand Up @@ -141,7 +140,7 @@ def cleanup(self):
if x not in self.original_source_files)

def asdict(self):
return OrderedDict([
return dict([
('original_source_files', self.original_source_files),
('included_source_files', self.included_source_files)
])
Expand Down
3 changes: 1 addition & 2 deletions binary-analysis/scancode-compiledcode/src/elf/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
from __future__ import absolute_import
from __future__ import unicode_literals

from collections import OrderedDict
from functools import partial
from itertools import chain

Expand All @@ -46,7 +45,7 @@ class ELFScanner(ScanPlugin):
"""
Collect the names of shared objects/libraries needed by an Elf binary file.
"""
resource_attributes = OrderedDict(
resource_attributes = dict(
elf_needed_library=attr.ib(default=attr.Factory(list), repr=False),
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
from __future__ import unicode_literals


from collections import OrderedDict
from collections import namedtuple
from functools import partial
from itertools import chain
Expand All @@ -50,7 +49,7 @@ class GeneratedCodeScanner(ScanPlugin):
"""
Parse the snippet that is possibly generated code.
"""
resource_attributes = OrderedDict(
resource_attributes = dict(
generatedcode=attr.ib(default=attr.Factory(list), repr=False),
)

Expand Down
3 changes: 1 addition & 2 deletions binary-analysis/scancode-compiledcode/src/gwt/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
from __future__ import absolute_import
from __future__ import unicode_literals

from collections import OrderedDict
from collections import namedtuple
from functools import partial
from itertools import chain
Expand All @@ -48,7 +47,7 @@ class GWTScanner(ScanPlugin):
symbols. Used to infer the relationship between the compiled JavaScript and
the original Java Source code.
"""
resource_attributes = OrderedDict(
resource_attributes = dict(
gwt=attr.ib(default=attr.Factory(list), repr=False),
)

Expand Down
49 changes: 24 additions & 25 deletions binary-analysis/scancode-compiledcode/src/javaclass/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,8 @@
from __future__ import absolute_import
from __future__ import unicode_literals

from StringIO import StringIO
from io import StringIO

from collections import OrderedDict
from functools import partial
from itertools import chain
from struct import unpack
Expand All @@ -36,11 +35,12 @@

import attr

from commoncode.cliutils import PluggableCommandLineOption as CommandLineOption
from commoncode.cliutils import SCAN_GROUP
from commoncode import fileutils
from plugincode.scan import ScanPlugin
from plugincode.scan import scan_impl
from scancode import CommandLineOption
from scancode import SCAN_GROUP

from typecode import contenttype

from sourcecode import kernel
Expand All @@ -54,8 +54,8 @@ class JavaClassScanner(ScanPlugin):
"""
Scan java class information from the resource.
"""
resource_attributes = OrderedDict(
javaclass=attr.ib(default=attr.Factory(OrderedDict), repr=False),
resource_attributes = dict(
javaclass=attr.ib(default=attr.Factory(dict), repr=False),
)

options = [
Expand All @@ -81,17 +81,17 @@ def scan_javaclass(location, **kwargs):
if not T.is_java_class:
return

javaclass_data = OrderedDict()
javaclass_data = dict()
SHOW_CONSTS = 1
data = open(location, 'rb').read()
f = StringIO(data)
c = javaclass.Class(f)
javaclass_data['Version'] = 'Version: %i.%i (%s)' % ( c.version[1], c.version[0], getJavacVersion(c.version))

javaclass_data['Version'] = 'Version: %i.%i (%s)' % (c.version[1], c.version[0], getJavacVersion(c.version))

if SHOW_CONSTS:
javaclass_data['Constants Pool'] = str(len(c.constants))
constants = OrderedDict()
constants = dict()
for i in range(1, len(c.constants)):
const = c.constants[i]

Expand All @@ -100,7 +100,7 @@ def scan_javaclass(location, **kwargs):
# double and long constants take 2 slots, we must skip the 'None' one
if not const: continue

constant_data = OrderedDict()
constant_data = dict()
if const[0] == CONSTANT_Fieldref:
constant_data['Field'] = str(c.constants[const[1]][1])

Expand All @@ -111,40 +111,39 @@ def scan_javaclass(location, **kwargs):
constant_data['InterfaceMethod'] = str(c.constants[const[1]][1])

elif const[0] == CONSTANT_String:
constant_data['String'] = str(const[1])
constant_data['String'] = str(const[1])

elif const[0] == CONSTANT_Float:
constant_data['Float'] = str(const[1])
constant_data['Float'] = str(const[1])

elif const[0] == CONSTANT_Integer:
constant_data['Integer'] = str(const[1])
constant_data['Integer'] = str(const[1])

elif const[0] == CONSTANT_Double:
constant_data['Double'] = str(const[1])
constant_data['Double'] = str(const[1])

elif const[0] == CONSTANT_Long:
constant_data['Long'] = str(const[1])
constant_data['Long'] = str(const[1])

# elif const[0] == CONSTANT_NameAndType:
# print 'NameAndType\t\t FIXME!!!'

elif const[0] == CONSTANT_Utf8:
constant_data['Utf8'] = str(const[1])
constant_data['Utf8'] = str(const[1])

elif const[0] == CONSTANT_Class:
constant_data['Class'] = str(c.constants[const[1]][1])
constant_data['Class'] = str(c.constants[const[1]][1])

elif const[0] == CONSTANT_NameAndType:
constant_data['NameAndType'] = str(const[1]) + ', ' + str(const[2])
constant_data['NameAndType'] = str(const[1]) + ', ' + str(const[2])
else:
constant_data['Unknown(' + str(const[0]) + ')'] = str(const[1])

constants[i] = constant_data

javaclass_data['Constants'] = constants

javaclass_data['Constants'] = constants

access =[]
access = []
if c.access & ACC_INTERFACE:
access.append('Interface ')
if c.access & ACC_SUPER_OR_SYNCHRONIZED:
Expand Down Expand Up @@ -173,7 +172,7 @@ def scan_javaclass(location, **kwargs):
interfaces.append(str(inter))
if interfaces:
javaclass_data['Interfaces'] = interfaces
return OrderedDict(

return dict(
javaclass=javaclass_data,
)
Loading