// Path: src/org/emberjs/lang/EmberJSLanguage.java
// public class EmberJSLanguage extends JSLanguageDialect {
//     public static final EmberJSLanguage INSTANCE = new EmberJSLanguage();
// 
//     protected EmberJSLanguage() {
//         super("EmberJS", DialectOptionHolder.OTHER);
//     }
// 
//     @Override
//     public String getFileExtension() {
//         return "js";
//     }
// }
// 
// Path: src/org/emberjs/lang/lexer/EmberJSLexer.java
// public class EmberJSLexer extends MergingLexerAdapter {
//     public EmberJSLexer() {
//         // _EmberJSLexer is generated via ember.flex
//         super(new FlexAdapter(new _EmberJSLexer((Reader)null)), TokenSet.create(JSTokenTypes.STRING_LITERAL));
//     }
// }
// 
// Path: src/org/emberjs/lang/psi/EmberJSComputedProperty.java
// public class EmberJSComputedProperty extends JSExpressionImpl {
//     public EmberJSComputedProperty(ASTNode node) {
//         super(node);
//     }
// }


import com.intellij.lang.ASTNode;
import com.intellij.lang.PsiParser;
import com.intellij.lang.javascript.JavascriptParserDefinition;
import com.intellij.lang.javascript.types.JSFileElementType;
import com.intellij.lexer.Lexer;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiElement;
import com.intellij.psi.tree.IElementType;
import com.intellij.psi.tree.IFileElementType;
import org.emberjs.lang.EmberJSLanguage;
import org.emberjs.lang.lexer.EmberJSLexer;
import org.emberjs.lang.psi.EmberJSComputedProperty;
import org.jetbrains.annotations.NotNull;
package org.emberjs.lang.parser;


/**
 * @author Dennis.Ushakov
 */
public class EmberJSParserDefinition extends JavascriptParserDefinition {
    private static final IFileElementType FILE = new JSFileElementType(EmberJSLanguage.INSTANCE);

    @NotNull
    @Override
    public Lexer createLexer(Project project) {
// Path: src/org/emberjs/lang/EmberJSLanguage.java
// public class EmberJSLanguage extends JSLanguageDialect {
//     public static final EmberJSLanguage INSTANCE = new EmberJSLanguage();
// 
//     protected EmberJSLanguage() {
//         super("EmberJS", DialectOptionHolder.OTHER);
//     }
// 
//     @Override
//     public String getFileExtension() {
//         return "js";
//     }
// }
// 
// Path: src/org/emberjs/lang/lexer/EmberJSLexer.java
// public class EmberJSLexer extends MergingLexerAdapter {
//     public EmberJSLexer() {
//         // _EmberJSLexer is generated via ember.flex
//         super(new FlexAdapter(new _EmberJSLexer((Reader)null)), TokenSet.create(JSTokenTypes.STRING_LITERAL));
//     }
// }
// 
// Path: src/org/emberjs/lang/psi/EmberJSComputedProperty.java
// public class EmberJSComputedProperty extends JSExpressionImpl {
//     public EmberJSComputedProperty(ASTNode node) {
//         super(node);
//     }
// }


// Path: src/org/emberjs/lang/parser/EmberJSParserDefinition.java
import com.intellij.lang.ASTNode;
import com.intellij.lang.PsiParser;
import com.intellij.lang.javascript.JavascriptParserDefinition;
import com.intellij.lang.javascript.types.JSFileElementType;
import com.intellij.lexer.Lexer;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiElement;
import com.intellij.psi.tree.IElementType;
import com.intellij.psi.tree.IFileElementType;
import org.emberjs.lang.EmberJSLanguage;
import org.emberjs.lang.lexer.EmberJSLexer;
import org.emberjs.lang.psi.EmberJSComputedProperty;
import org.jetbrains.annotations.NotNull;

package org.emberjs.lang.parser;


/**
 * @author Dennis.Ushakov
 */
public class EmberJSParserDefinition extends JavascriptParserDefinition {
    private static final IFileElementType FILE = new JSFileElementType(EmberJSLanguage.INSTANCE);

    @NotNull
    @Override
    public Lexer createLexer(Project project) {
        return new EmberJSLexer();