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

Method newExpression

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

Source from the content-addressed store, hash-verified

952 }
953
954 public Expression newExpression() {
955 consume(NEW);
956 Expression expr = null;
957 if (la() == NEW) {
958 expr = factory.newOperator(newExpression());
959 } else {
960 expr = memberExpression();
961 if (la() == LEFT_PAREN) {
962 List<Expression> args = arguments();
963 expr = factory.newOperator(expr, args);
964 } else {
965 expr = factory.newOperator(expr);
966 }
967 }
968
969 loop:
970 while (true) {
971 switch (la()) {
972 case DOT:
973 consume(DOT);
974 String identifier = consume(IDENTIFIER).getText();
975 expr = factory.dotOperator(expr, identifier);
976 break;
977 case LEFT_BRACKET:
978 consume(LEFT_BRACKET);
979 expr = factory.bracketOperator(expr, expression());
980 consume(RIGHT_BRACKET);
981 break;
982 case LEFT_PAREN:
983 List<Expression> args = arguments();
984 expr = factory.functionCall(expr, args);
985 break;
986 default:
987 break loop;
988 }
989 }
990
991 return expr;
992 }
993
994 public FunctionExpression functionExpression() {
995 try {

Callers 1

Calls 10

consumeMethod · 0.95
laMethod · 0.95
memberExpressionMethod · 0.95
argumentsMethod · 0.95
expressionMethod · 0.95
newOperatorMethod · 0.80
dotOperatorMethod · 0.80
bracketOperatorMethod · 0.80
functionCallMethod · 0.80
getTextMethod · 0.45

Tested by

no test coverage detected