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 Type Method Description ICompletionContextgetContext(IScriptEngine scriptEngine, Object resource, String contents, int position, int selectionRange)Parse the given piece of code into a language specificICompletionContext.StringgetHeaderComment(InputStream stream)Parses the file for a comment section at the beginning.SignatureInfogetSignatureInfo(InputStream stream)Gets signature, certificates, provider and message-digest algorithm of signature, and content excluding signature block.booleanisAcceptedBeforeHeader(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:
truewhen 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:
ICompletionContextwith parsed information if successful,nullin case invalid syntax given.
-
getSignatureInfo
Gets signature, certificates, provider and message-digest algorithm of signature, and content excluding signature block.- Parameters:
stream- provideInputStreamto get signature from- Returns:
SignatureInfoinstance containing signature, certificates, provider and message-digest algorithm, and content excluding signature block ornullif signature is not found or is not in proper format- Throws:
ScriptSignatureException- when there is text after signature block or error occurs while reading from provided input stream
-