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

http://github.com/nddrylliog/ooc · Java · 62 lines · 46 code · 16 blank · 0 comment · 2 complexity · 3c3efbd8fcf119fca308fc1869844565 MD5 · raw file

  1. package org.ooc.frontend.model;
  2. import java.io.IOException;
  3. import org.ooc.frontend.Visitor;
  4. import org.ooc.frontend.model.tokens.Token;
  5. import org.ooc.frontend.parser.ModuleParser;
  6. public class Import extends Node {
  7. protected String path;
  8. protected Module module;
  9. public Import(String path, Token defaultToken) {
  10. super(defaultToken);
  11. this.path = path;
  12. }
  13. public String getFullName() {
  14. return path.replace("/", ".");
  15. }
  16. public String getPath() {
  17. return path;
  18. }
  19. public void setPath(String path) {
  20. this.path = path;
  21. }
  22. public Module getModule() {
  23. if(module == null) {
  24. return ModuleParser.cache.get(path + ".ooc");
  25. }
  26. return module;
  27. }
  28. public void setModule(Module module) {
  29. this.module = module;
  30. }
  31. public void accept(Visitor visitor) throws IOException {
  32. visitor.visit(this);
  33. }
  34. public boolean hasChildren() {
  35. return false;
  36. }
  37. public void acceptChildren(Visitor visitor) throws IOException {}
  38. @Override
  39. public boolean replace(Node oldie, Node kiddo) {
  40. return false;
  41. }
  42. @Override
  43. public String toString() {
  44. return super.toString()+" : "+path;
  45. }
  46. }