// ĠCopyright Ġ( c ) Ġ 2 0 1 4 - 2 0 2 0 ĠZe ph ir ĠTeam Ċ // Ċ // ĠThis Ġsource Ġfile Ġis Ġsubject Ġthe ĠMIT Ġlicense , Ġthat Ġis Ġbundled Ġwith Ċ // Ġthis Ġpackage Ġin Ġthe Ġfile ĠLICENSE , Ġand Ġis Ġavailable Ġthrough Ġthe Ċ // Ġworld - wide - web Ġat Ġthe Ġfollowing Ġurl : Ċ // Ċ // Ġhttps :// github . com / ze ph ir - lang / idea - plugin / blob / master / LICENSE Ċ Ċ package Ġcom . ze ph ir . lang . core . parser Ċ Ċ import Ġcom . intellij . lang . AST Node Ċ import Ġcom . intellij . lang . Parser Definition Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . psi . File View Provider Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . TokenType Ċ import Ġcom . intellij . psi . tree . Token Set Ċ import Ġcom . ze ph ir . lang . core . stubs . Ze ph ir Stub File ElementType Ċ import Ġcom . ze ph ir . lang . core . psi . ZE PH IR _ COMMENTS Ċ import Ġcom . ze ph ir . lang . core . psi . Ze ph ir File Ċ import Ġcom . ze ph ir . lang . core . lexer . Ze ph ir Lexer Adapter Ċ import Ġcom . ze ph ir . lang . core . psi . Ze ph ir Types Ċ Ċ class ĠZe ph ir Parser Definition Ġ: ĠParser Definition Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠgetFile NodeType () Ġ= ĠFILE ĊĠĠĠ Ġoverride Ġfun Ġget Whitespace Tokens () Ġ= ĠToken Set . create ( TokenType . WHITE _ SPACE ) ĊĠĠĠ Ġoverride Ġfun Ġget Comment Tokens () Ġ= ĠZ E PH IR _ COMMENTS ĊĠĠĠ Ġoverride Ġfun ĠgetString Literal Elements () Ġ= ĠToken Set . create ( Ze ph ir Types . STRING , ĠZe ph ir Types . S CHAR ) ĊĊĠĠĠ Ġoverride Ġfun Ġcreate File ( view Provider : ĠFile View Provider ) Ġ= ĠZe ph ir File ( view Provider ) ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Parser ( project : ĠProject ?) Ġ= ĠZe ph ir Parser () ĊĠĠĠ Ġoverride Ġfun Ġcreate Lexer ( project : ĠProject ?) Ġ= ĠZe ph ir Lexer Adapter () ĊĊĠĠĠ Ġoverride Ġfun ĠcreateElement ( node : ĠAST Node ?): ĠPsi Element Ġ= ĠZe ph ir Types . Factory . createElement ( node ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠFILE Ġ= ĠZe ph ir Stub File ElementType () ĊĠĠĠ Ġ} Ċ } Ċ