本文整理汇总了Java中org.mozilla.javascript.Parser类的典型用法代码示例。如果您正苦于以下问题:Java Parser类的具体用法?Java Parser怎么用?Java Parser使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Parser类属于org.mozilla.javascript包,在下文中一共展示了Parser类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: parse
import org.mozilla.javascript.Parser; //导入依赖的package包/类
private AstRoot parse(String string, boolean jsdoc) {
CompilerEnvirons environment = new CompilerEnvirons();
TestErrorReporter testErrorReporter = new TestErrorReporter(null, null);
environment.setErrorReporter(testErrorReporter);
environment.setRecordingComments(true);
environment.setRecordingLocalJsDocComments(jsdoc);
Parser p = new Parser(environment, testErrorReporter);
AstRoot script = p.parse(string, null, 0);
assertTrue(testErrorReporter.hasEncounteredAllErrors());
assertTrue(testErrorReporter.hasEncounteredAllWarnings());
return script;
}
开发者ID:middle2tw,项目名称:whackpad,代码行数:18,代码来源:ParserTest.java
示例2: parseAsReader
import org.mozilla.javascript.Parser; //导入依赖的package包/类
private AstRoot parseAsReader(String string) throws IOException {
CompilerEnvirons environment = new CompilerEnvirons();
TestErrorReporter testErrorReporter = new TestErrorReporter(null, null);
environment.setErrorReporter(testErrorReporter);
environment.setRecordingComments(true);
environment.setRecordingLocalJsDocComments(true);
Parser p = new Parser(environment, testErrorReporter);
AstRoot script = p.parse(new StringReader(string), null, 0);
assertTrue(testErrorReporter.hasEncounteredAllErrors());
assertTrue(testErrorReporter.hasEncounteredAllWarnings());
return script;
}
开发者ID:middle2tw,项目名称:whackpad,代码行数:18,代码来源:ParserTest.java
示例3: testNodeReplacementInWhileLoopWithBrackets
import org.mozilla.javascript.Parser; //导入依赖的package包/类
@Test
public void testNodeReplacementInWhileLoopWithBrackets() throws IOException {
String script = "var o = {\n" +
" _x: 123, \n" +
" get x() {\n" +
" return this._x;\n" +
" }\n" +
", \n" +
" set x(value) {\n" +
" this._x = value;\n" +
" }\n" +
"};\n";
Parser parser = new Parser(environment);
AstRoot astRoot = parser.parse(new StringReader(script), null, 1);
assertEquals(script, astRoot.toSource());
}
开发者ID:F43nd1r,项目名称:rhino-android,代码行数:18,代码来源:BugGetterSetterTest.java
示例4: compile
import org.mozilla.javascript.Parser; //导入依赖的package包/类
/**
* Compiles {@code source} and returns the transformed and optimized
* {@link ScriptNode}
*/
protected ScriptNode compile(CharSequence source) {
final String mainMethodClassName = "Main";
final String scriptClassName = "Main";
CompilerEnvirons compilerEnv = new CompilerEnvirons();
compilerEnv.initFromContext(cx);
Parser p = new Parser(compilerEnv);
AstRoot ast = p.parse(source.toString(), "<eval>", 1);
IRFactory irf = new IRFactory(compilerEnv);
ScriptNode tree = irf.transformTree(ast);
Codegen codegen = new Codegen();
codegen.setMainMethodClass(mainMethodClassName);
codegen.compileToClassFile(compilerEnv, scriptClassName, tree, tree.getEncodedSource(),
false);
return tree;
}
开发者ID:F43nd1r,项目名称:rhino-android,代码行数:23,代码来源:Bug782363Test.java
示例5: compile
import org.mozilla.javascript.Parser; //导入依赖的package包/类
/**
* Compiles {@code source} and returns the transformed and optimized
* {@link ScriptNode}
*/
protected ScriptNode compile(CharSequence source) {
final String mainMethodClassName = "Main";
final String scriptClassName = "Main";
CompilerEnvirons compilerEnv = new CompilerEnvirons();
compilerEnv.initFromContext(cx);
ErrorReporter compilationErrorReporter = compilerEnv
.getErrorReporter();
Parser p = new Parser(compilerEnv, compilationErrorReporter);
AstRoot ast = p.parse(source.toString(), "<eval>", 1);
IRFactory irf = new IRFactory(compilerEnv);
ScriptNode tree = irf.transformTree(ast);
Codegen codegen = new Codegen();
codegen.setMainMethodClass(mainMethodClassName);
codegen.compileToClassFile(compilerEnv, scriptClassName, tree,
tree.getEncodedSource(), false);
return tree;
}
开发者ID:F43nd1r,项目名称:rhino-android,代码行数:25,代码来源:Bug708801Test.java
示例6: parse
import org.mozilla.javascript.Parser; //导入依赖的package包/类
/**
* @return a tree representation of the parsed JavaScript file
* @throws IOException
*/
public ScriptOrFnNode parse() throws IOException {
if (nodeTree == null) {
Reader reader = new FileReader(jsFile);
CompilerEnvirons compilerEnv = new CompilerEnvirons();
ErrorReporter errorReporter = compilerEnv.getErrorReporter();
Parser parser = new Parser(compilerEnv, errorReporter);
String sourceURI;
try {
sourceURI = jsFile.getCanonicalPath();
} catch (IOException e) {
sourceURI = jsFile.toString();
}
nodeTree = parser.parse(reader, sourceURI, 1);
}
return nodeTree;
}
开发者ID:mauyr,项目名称:openbravo-brazil,代码行数:27,代码来源:JavaScriptParser.java
示例7: explainErrors
import org.mozilla.javascript.Parser; //导入依赖的package包/类
private static String explainErrors(JSEnvironment env, String sourceCode) {
AstRoot root = new Parser().parse(sourceCode, "", 1);
SatSolver sat = new Sat4J();
SJSTypeTheory theory = new SJSTypeTheory(env, null, root);
List<Integer> hard = new ArrayList<>();
List<Integer> soft = new ArrayList<>();
List<ITypeConstraint> constraints = theory.getConstraints();
for (int i = 0; i < constraints.size(); ++i) {
(theory.hackyGenerator().hasExplanation(constraints.get(i)) ? soft : hard).add(i);
}
Pair<TypeAssignment, Collection<Integer>> result =
TheorySolver.solve(
theory, new SatFixingSetFinder<>(sat),
hard, soft);
ConstraintGenerator g = theory.hackyGenerator();
StringBuilder buf = new StringBuilder();
for (int broken : result.getRight()) {
ITypeConstraint c = theory.hackyConstraintAccess().get(broken);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
g.explainFailure(c, result.getLeft()).prettyprint(new PrintStream(stream));
buf.append(stream.toString());
}
return buf.toString();
}
开发者ID:Samsung,项目名称:SJS,代码行数:25,代码来源:ExplanationsTest.java
示例8: scan
import org.mozilla.javascript.Parser; //导入依赖的package包/类
/**
* Scan the given file for class definitions and accumulate dependencies.
*/
private void scan(final File source) throws IOException {
log.debug("Scanning: " + source);
ErrorReporter errorReporter = new LogErrorReporter(log);
CompilerEnvirons env = new CompilerEnvirons();
env.setErrorReporter(errorReporter);
Parser parser = new Parser(env, errorReporter);
Reader reader = new BufferedReader(new FileReader(source));
try {
AstRoot root = parser.parse(reader, source.getAbsolutePath(), 0);
DependencyAccumulator visitor = new DependencyAccumulator(source);
root.visit(visitor);
// complain if no def was found in this source
if (visitor.current == null) {
log.warn("No class definition was found while processing: " + source);
}
}
finally {
reader.close();
}
}
开发者ID:sonatype,项目名称:nexus-public,代码行数:28,代码来源:ClassDefScanner.java
示例9: parse
import org.mozilla.javascript.Parser; //导入依赖的package包/类
@Override
public Bundle parse(InputStream inStream) throws IOException {
LinkedHashMap<String, String> resultMap = null;
Bundle result = new Bundle();
try (InputStreamReader reader = new InputStreamReader(new BomInputStream(inStream), "UTF-8")) {
AstRoot root = new Parser().parse(reader, null, 1);
KeyValueVisitor visitor = new KeyValueVisitor();
root.visitAll(visitor);
resultMap = visitor.elements;
int sequenceNum = 1;
for (Entry<String, String> entry : resultMap.entrySet()) {
result.addResourceString(entry.getKey(), entry.getValue(), sequenceNum++);
}
} catch (Exception e) {
throw new IllegalResourceFormatException(e);
}
return result;
}
开发者ID:IBM-Cloud,项目名称:gp-java-tools,代码行数:19,代码来源:AmdJsResource.java
示例10: parseFile
import org.mozilla.javascript.Parser; //导入依赖的package包/类
/**
*
* @param fileName
* @param staticMethods
* @param staticFields
* @return
* @throws FileNotFoundException
* @throws IOException
*/
Collection<JsFile> parseFile(final String fileName,
final List<JsMethod> staticMethods,
final Map<String, JsElement> staticFields)
throws FileNotFoundException, IOException {
try (final Reader reader = new FileReader(fileName)) {
final CompilerEnvirons env = new CompilerEnvirons();
env.setRecordingLocalJsDocComments(true);
env.setAllowSharpComments(true);
env.setRecordingComments(true);
final AstRoot node = new Parser(env).parse(reader, fileName, 1);
final JavaScriptFileParser parser = new JavaScriptFileParser(fileName);
node.visitAll(parser);
staticMethods.addAll(parser.getStaticMethods());
staticFields.putAll(parser.getConsts());
return parser.getFiles();
}
}
开发者ID:gruifo,项目名称:gruifo,代码行数:27,代码来源:Controller.java
示例11: getReferencedScriptObject
import org.mozilla.javascript.Parser; //导入依赖的package包/类
/**
*
* @param expr
* @param objectName
* @return
*/
private static String getReferencedScriptObject( String expr,
String objectName )
{
if ( expr == null )
return null;
try
{
Context cx = Context.enter( );
CompilerEnvirons ce = new CompilerEnvirons( );
Parser p = new Parser( ce, cx.getErrorReporter( ) );
AstRoot tree = p.parse( expr, null, 0 );
IRFactory ir = new IRFactory( ce );
ScriptNode script = ir.transformTree( tree );
return getScriptObjectName( script, objectName );
}
finally
{
Context.exit( );
}
}
开发者ID:eclipse,项目名称:birt,代码行数:27,代码来源:CubeQueryUtil.java
示例12: getReferencedScriptObject
import org.mozilla.javascript.Parser; //导入依赖的package包/类
/**
*
* @param expr
* @param objectName
* @return
*/
public static String getReferencedScriptObject( String expr,
String objectName )
{
if ( expr == null )
return null;
try
{
Context cx = Context.enter( );
CompilerEnvirons ce = new CompilerEnvirons( );
Parser p = new Parser( ce, cx.getErrorReporter( ) );
AstRoot tree = p.parse( expr, null, 0 );
Node root = new IRFactory( ce).transformTree(tree);
return getScriptObjectName( root, objectName );
}
catch( Exception ex )
{
return null;
}
finally
{
Context.exit( );
}
}
开发者ID:eclipse,项目名称:birt,代码行数:31,代码来源:OlapExpressionCompiler.java
示例13: parseScript
import org.mozilla.javascript.Parser; //导入依赖的package包/类
public void parseScript(String scriptText, TypeDeclarationOptions options)
{
if(scriptText != null && scriptText.length() > 0)
{
CompilerEnvirons env = JavaScriptParser.createCompilerEnvironment(new JavaScriptParser.JSErrorReporter(), provider.getLanguageSupport());
Parser parser = new Parser(env);
StringReader r = new StringReader(scriptText);
try {
AstRoot root = parser.parse(r, null, 0);
CodeBlock block = provider.iterateAstRoot(root, preProcessingCompletions, "", Integer.MAX_VALUE, options);
provider.recursivelyAddLocalVars(preProcessingCompletions, block, 0, null, false, true);
}
catch(IOException io) {
//ignore this
}
}
}
开发者ID:bobbylight,项目名称:RSTALanguageSupport,代码行数:18,代码来源:PreProcessingScripts.java
示例14: compileText
import org.mozilla.javascript.Parser; //导入依赖的package包/类
/**
* Compiles Text and resolves the type.
* e.g
* "Hello World".length; //resolve as a Number
*
* @param text to compile and resolve
*/
@Override
public JavaScriptType compileText(String text) throws IOException {
CompilerEnvirons env = JavaScriptParser.createCompilerEnvironment(new JavaScriptParser.JSErrorReporter(), provider.getLanguageSupport());
String parseText = JavaScriptHelper.removeLastDotFromText(text);
int charIndex = JavaScriptHelper.findIndexOfFirstOpeningBracket(parseText);
env.setRecoverFromErrors(true);
Parser parser = new Parser(env);
StringReader r = new StringReader(parseText);
AstRoot root = parser.parse(r, null, 0);
CompilerNodeVisitor visitor = new CompilerNodeVisitor(charIndex == 0);
root.visitAll(visitor);
return lastJavaScriptType;
}
开发者ID:bobbylight,项目名称:RSTALanguageSupport,代码行数:23,代码来源:JavaScriptCompletionResolver.java
示例15: resolveParamNode
import org.mozilla.javascript.Parser; //导入依赖的package包/类
/**
* Resolve node type to TypeDeclaration. Called instead of #compileText(String text) when document is already parsed
* @param node AstNode to resolve
* @return TypeDeclaration for node or null if not found.
*/
@Override
public TypeDeclaration resolveParamNode(String text) throws IOException {
if(text != null) {
CompilerEnvirons env = JavaScriptParser.createCompilerEnvironment(new JavaScriptParser.JSErrorReporter(), provider.getLanguageSupport());
int charIndex = JavaScriptHelper.findIndexOfFirstOpeningBracket(text);
env.setRecoverFromErrors(true);
Parser parser = new Parser(env);
StringReader r = new StringReader(text);
AstRoot root = parser.parse(r, null, 0);
CompilerNodeVisitor visitor = new CompilerNodeVisitor(charIndex == 0);
root.visitAll(visitor);
}
return lastJavaScriptType != null ? lastJavaScriptType.getType()
: provider.getTypesFactory().getDefaultTypeDeclaration();
}
开发者ID:bobbylight,项目名称:RSTALanguageSupport,代码行数:25,代码来源:JavaScriptCompletionResolver.java
示例16: parse
import org.mozilla.javascript.Parser; //导入依赖的package包/类
private AstRoot parse(CharSequence cs) {
CompilerEnvirons compilerEnv = new CompilerEnvirons();
compilerEnv.initFromContext(cx);
ErrorReporter compilationErrorReporter = compilerEnv.getErrorReporter();
Parser p = new Parser(compilerEnv, compilationErrorReporter);
return p.parse(cs.toString(), "<eval>", 1);
}
开发者ID:F43nd1r,项目名称:rhino-android,代码行数:8,代码来源:Bug689314Test.java
示例17: assertSource
import org.mozilla.javascript.Parser; //导入依赖的package包/类
/**
* Asserts that the value returned by {@link AstRoot#toSource()} after
* the given input source was parsed equals the specified expected output source.
*
* @param source the JavaScript source to be parsed
* @param expectedOutput the JavaScript source that is expected to be
* returned by {@link AstRoot#toSource()}
*/
private void assertSource(String source, String expectedOutput)
{
CompilerEnvirons env = new CompilerEnvirons();
env.setLanguageVersion(Context.VERSION_1_7);
Parser parser = new Parser(env);
AstRoot root = parser.parse(source, null, 0);
Assert.assertEquals(expectedOutput, root.toSource());
}
开发者ID:F43nd1r,项目名称:rhino-android,代码行数:17,代码来源:Bug491621Test.java
示例18: assertSource
import org.mozilla.javascript.Parser; //导入依赖的package包/类
private void assertSource(String source, String expectedOutput) {
CompilerEnvirons env = new CompilerEnvirons();
env.setLanguageVersion(Context.VERSION_ES6);
Parser parser = new Parser(env);
AstRoot root = parser.parse(source, null, 0);
Assert.assertEquals(expectedOutput, root.toSource());
}
开发者ID:F43nd1r,项目名称:rhino-android,代码行数:8,代码来源:ToSourceTest.java
示例19: parse
import org.mozilla.javascript.Parser; //导入依赖的package包/类
private AstRoot parse(
String string, final String [] errors, final String [] warnings,
boolean jsdoc) {
TestErrorReporter testErrorReporter =
new TestErrorReporter(errors, warnings) {
@Override
public EvaluatorException runtimeError(
String message, String sourceName, int line, String lineSource,
int lineOffset) {
if (errors == null) {
throw new UnsupportedOperationException();
}
return new EvaluatorException(
message, sourceName, line, lineSource, lineOffset);
}
};
environment.setErrorReporter(testErrorReporter);
environment.setRecordingComments(true);
environment.setRecordingLocalJsDocComments(jsdoc);
Parser p = new Parser(environment, testErrorReporter);
AstRoot script = null;
try {
script = p.parse(string, null, 0);
} catch (EvaluatorException e) {
if (errors == null) {
// EvaluationExceptions should not occur when we aren't expecting
// errors.
throw e;
}
}
assertTrue(testErrorReporter.hasEncounteredAllErrors());
assertTrue(testErrorReporter.hasEncounteredAllWarnings());
return script;
}
开发者ID:F43nd1r,项目名称:rhino-android,代码行数:39,代码来源:ParserTest.java
示例20: parseAsReader
import org.mozilla.javascript.Parser; //导入依赖的package包/类
private AstRoot parseAsReader(String string) throws IOException {
TestErrorReporter testErrorReporter = new TestErrorReporter(null, null);
environment.setErrorReporter(testErrorReporter);
environment.setRecordingComments(true);
environment.setRecordingLocalJsDocComments(true);
Parser p = new Parser(environment, testErrorReporter);
AstRoot script = p.parse(new StringReader(string), null, 0);
assertTrue(testErrorReporter.hasEncounteredAllErrors());
assertTrue(testErrorReporter.hasEncounteredAllWarnings());
return script;
}
开发者ID:F43nd1r,项目名称:rhino-android,代码行数:16,代码来源:ParserTest.java
注:本文中的org.mozilla.javascript.Parser类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论