MCPcopy Create free account
hub / github.com/dynjs/dynjs / sourceElements

Method sourceElements

src/main/java/org/dynjs/parser/js/Parser.java:1133–1156  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1131 // ----------------------------------------------------------------------
1132
1133 public List<Statement> sourceElements() {
1134 List<Statement> statements = new ArrayList<>();
1135 while (la() != EOF && la() != RIGHT_BRACE) {
1136 Statement element = sourceElement();
1137 if (currentContext().isInProlog()) {
1138 if (element instanceof ExpressionStatement) {
1139 Expression expr = ((ExpressionStatement) element).getExpr();
1140 if (expr instanceof StringLiteralExpression) {
1141 if (((StringLiteralExpression) expr).getLiteral().equals("use strict")) {
1142 if (!((StringLiteralExpression) expr).isContinuedLine() && !((StringLiteralExpression) expr).isEscaped()) {
1143 currentContext().setStrict(true);
1144 }
1145 }
1146 } else {
1147 currentContext().setInProlog(false);
1148 }
1149 } else {
1150 currentContext().setInProlog(false);
1151 }
1152 }
1153 statements.add(element);
1154 }
1155 return statements;
1156 }
1157
1158 public Statement sourceElement() {
1159 if (la() == FUNCTION) {

Callers 2

programMethod · 0.95
functionBodyMethod · 0.95

Calls 11

laMethod · 0.95
sourceElementMethod · 0.95
currentContextMethod · 0.95
isInPrologMethod · 0.80
getLiteralMethod · 0.80
isEscapedMethod · 0.80
setInPrologMethod · 0.80
getExprMethod · 0.45
isContinuedLineMethod · 0.45
setStrictMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected