Package org.eclipse.ease
Interface ICodeParser
- All Known Implementing Classes:
AbstractCodeParser
,GroovyCodeParser
,JavaScriptCodeParser
,JVMCompiledHeaderParser
,ManifestParser
,PythonCodeParser
,RubyCodeParser
public interface ICodeParser
Parser interface for source code parsers to extract relevant script data.
-
Method Summary
Modifier and TypeMethodDescriptiongetContext
(IScriptEngine scriptEngine, Object resource, String contents, int position, int selectionRange) Parse the given piece of code into a language specificICompletionContext
.getHeaderComment
(InputStream stream) Parses the file for a comment section at the beginning.boolean
isAcceptedBeforeHeader
(String line) Verify if a line of code is accepted before the header comment section.
-
Method Details
-
getHeaderComment
Parses the file for a comment section at the beginning.- Parameters:
stream
- code content stream- Returns:
- comment data without decoration characters (eg: '*' at beginning of each line)
-
isAcceptedBeforeHeader
Verify if a line of code is accepted before the header comment section. This allows special magic tokens to be placed before the header comment as some script languages depend on that.- Parameters:
line
- line of code- Returns:
true
when line is accepted before the comment header
-
getContext
ICompletionContext getContext(IScriptEngine scriptEngine, Object resource, String contents, int position, int selectionRange) Parse the given piece of code into a language specificICompletionContext
.- Parameters:
scriptEngine
- running script engineresource
- resource instance to be parsedcontents
- code to be parsed (only up to cursor position)position
- cursor position within contentsselectionRange
- amount of selected characters from cursor position- Returns:
ICompletionContext
with parsed information if successful,null
in case invalid syntax given.
-