/src/org/ooc/backend/cdirty/AccessWriter.java

http://github.com/nddrylliog/ooc · Java · 30 lines · 23 code · 7 blank · 0 comment · 4 complexity · b6020d528a5f67215ea9599efdc7fedd MD5 · raw file

  1. package org.ooc.backend.cdirty;
  2. import java.io.IOException;
  3. import org.ooc.frontend.model.Access;
  4. import org.ooc.frontend.model.ArrayAccess;
  5. import org.ooc.frontend.model.MemberAccess;
  6. import org.ooc.frontend.model.VariableAccess;
  7. public class AccessWriter {
  8. public static void write(Access access, CGenerator cgen) throws IOException {
  9. write(access, true, cgen, 0);
  10. }
  11. public static void write(Access access, boolean doTypeParams, CGenerator cgen) throws IOException {
  12. write(access, doTypeParams, cgen, 0);
  13. }
  14. public static void write(Access access, boolean doTypeParams, CGenerator cgen, int refOffset) throws IOException {
  15. if(access instanceof ArrayAccess) {
  16. ArrayAccessWriter.write((ArrayAccess) access, cgen);
  17. } else if(access instanceof MemberAccess) {
  18. MemberAccessWriter.write((MemberAccess) access, doTypeParams, cgen, refOffset);
  19. } else {
  20. LocalAccessWriter.write((VariableAccess) access, doTypeParams, cgen, refOffset);
  21. }
  22. }
  23. }