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

Method memberExpression

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

Source from the content-addressed store, hash-verified

891 }
892
893 public Expression memberExpression() {
894 Expression expr = null;
895 if (la() == FUNCTION) {
896 expr = functionExpression();
897 } else {
898 expr = primaryExpression();
899 }
900
901 loop:
902 while (true) {
903 switch (la()) {
904 case DOT:
905 consume(DOT);
906 Token token = laToken();
907 if (!isPropertyName(token)) {
908 throw new SyntaxError(token, "expected property name");
909 }
910 String identifier = consume().getText();
911 expr = factory.dotOperator(expr, identifier);
912 break;
913 case LEFT_BRACKET:
914 consume(LEFT_BRACKET);
915 expr = factory.bracketOperator(expr, expression());
916 consume(RIGHT_BRACKET);
917 break;
918 default:
919 break loop;
920 }
921 }
922
923 return expr;
924 }
925
926 public Expression callExpression() {
927 Expression expr = memberExpression();

Callers 2

callExpressionMethod · 0.95
newExpressionMethod · 0.95

Calls 10

laMethod · 0.95
functionExpressionMethod · 0.95
primaryExpressionMethod · 0.95
consumeMethod · 0.95
laTokenMethod · 0.95
isPropertyNameMethod · 0.95
expressionMethod · 0.95
dotOperatorMethod · 0.80
bracketOperatorMethod · 0.80
getTextMethod · 0.45

Tested by

no test coverage detected