Skip to content

Commit 998749b

Browse files
core: frontends: expose source API to all languages (#1893)
Signed-off-by: David Korczynski <[email protected]>
1 parent c87cf6a commit 998749b

File tree

4 files changed

+15
-11
lines changed

4 files changed

+15
-11
lines changed

src/fuzz_introspector/frontends/core.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@
1515

1616
import logging
1717

18-
from fuzz_introspector.frontends import frontend_c
19-
from fuzz_introspector.frontends import frontend_cpp
18+
from fuzz_introspector.frontends import (frontend_c, frontend_cpp, frontend_go)
2019

2120
logger = logging.getLogger(name=__name__)
2221

@@ -35,7 +34,7 @@ def analyse_source_file(code: bytes, language: str):
3534
elif language == 'cpp':
3635
return frontend_cpp.analyse_source_code(code)
3736
elif language == 'go':
38-
logger.info('Go is not implement yet.')
37+
return frontend_go.analyse_source_code(code)
3938
else:
4039
logger.info('Language %s not supported', language)
4140
return None

src/fuzz_introspector/frontends/frontend_c.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -602,13 +602,12 @@ def load_treesitter_trees(source_files, log_harnesses=True):
602602
return results
603603

604604

605-
def analyse_source_code(source_content: str) -> Project:
606-
"""Returns a Project based on a single source string."""
605+
def analyse_source_code(source_content: str) -> SourceCodeFile:
606+
"""Returns a source abstraction based on a single source string."""
607607
source_code = SourceCodeFile(source_file='in-memory string',
608608
language='c',
609609
source_content=source_content.encode())
610-
project = Project([source_code])
611-
return project
610+
return source_code
612611

613612

614613
def analyse_folder(folder_path: str, language: str = 'c') -> Project:

src/fuzz_introspector/frontends/frontend_cpp.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -379,10 +379,9 @@ def load_treesitter_trees(source_files, log_harnesses=True):
379379
return results
380380

381381

382-
def analyse_source_code(source_content: str) -> Project:
383-
"""Returns a Project based on a single source string."""
382+
def analyse_source_code(source_content: str) -> SourceCodeFile:
383+
"""Returns a source abstraction based on a single source string."""
384384
source_code = SourceCodeFile(source_file='in-memory string',
385385
language='cpp',
386386
source_content=source_content.encode())
387-
project = Project([source_code])
388-
return project
387+
return source_code

src/fuzz_introspector/frontends/frontend_go.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -604,3 +604,10 @@ def load_treesitter_trees(source_files: list[str],
604604
results.append(source_cls)
605605

606606
return results
607+
608+
609+
def analyse_source_code(source_content: str) -> SourceCodeFile:
610+
"""Returns a source abstraction based on a single source string."""
611+
source_code = SourceCodeFile(source_file='in-memory string',
612+
source_content=source_content.encode())
613+
return source_code

0 commit comments

Comments
 (0)