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

http://github.com/nddrylliog/ooc · Java · 57 lines · 42 code · 15 blank · 0 comment · 3 complexity · 5c16d1179358b93f9b314e1dde7f166c 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. public class NamespaceDecl extends Declaration {
  6. private NodeList<Import> imports;
  7. public NamespaceDecl(String name, Token startToken, Module module) {
  8. super(name, startToken, module);
  9. imports = new NodeList<Import>(startToken);
  10. }
  11. public void addImport(Import import_) {
  12. imports.add(import_);
  13. }
  14. public NodeList<Import> getImports() {
  15. return imports;
  16. }
  17. public void acceptChildren(Visitor visitor) throws IOException {
  18. }
  19. public void accept(Visitor visitor) throws IOException {
  20. }
  21. public TypeDecl resolveType(String name) {
  22. for(Import imp: imports) {
  23. TypeDecl type = imp.getModule().getType(name);
  24. if(type != null) return type;
  25. }
  26. return null;
  27. }
  28. public Type getType() {
  29. return null;
  30. }
  31. public boolean hasChildren() {
  32. return !imports.isEmpty();
  33. }
  34. @Override
  35. public TypeDecl getTypeDecl() {
  36. return null;
  37. }
  38. @Override
  39. public boolean replace(Node oldie, Node kiddo) {
  40. return false;
  41. }
  42. }