/src/org/ooc/frontend/model/Literal.java

http://github.com/nddrylliog/ooc · Java · 30 lines · 22 code · 8 blank · 0 comment · 4 complexity · fed861b60f64b34af771922b0c7fdfa4 MD5 · raw file

  1. package org.ooc.frontend.model;
  2. import org.ooc.frontend.model.interfaces.MustBeResolved;
  3. import org.ooc.frontend.model.tokens.Token;
  4. import org.ooc.middle.hobgoblins.Resolver;
  5. public abstract class Literal extends Expression implements MustBeResolved {
  6. public Literal(Token startToken) {
  7. super(startToken);
  8. }
  9. public boolean isResolved() {
  10. return getType() != null && getType().isResolved();
  11. }
  12. public Response resolve(NodeList<Node> stack, Resolver res, boolean fatal) {
  13. if(getType() != null) {
  14. getType().resolve(stack, res, fatal);
  15. }
  16. return isResolved() ? Response.OK : Response.LOOP;
  17. }
  18. @Override
  19. public boolean isConstant() {
  20. return true;
  21. }
  22. }