public void readExternal(final RJIO io, final RObjectFactory factory) throws IOException {
    // -- options
    final int options = io.readInt();
    final boolean customClass = ((options & RObjectFactory.O_CLASS_NAME) != 0);
    // -- special attributes
    if (customClass) {
      this.className1 = io.readString();
    }
    final int[] dim = io.readIntArray();
    this.dimAttribute = new RIntegerDataImpl(dim);
    if ((options & RObjectFactory.O_WITH_NAMES) != 0) {
      final RCharacterDataImpl names0 = new RCharacterDataImpl(io);
      final RStore[] names1 = new RStore[dim.length];
      for (int i = 0; i < dim.length; i++) {
        names1[i] = factory.readNames(io);
      }
      this.dimnamesAttribute = new SimpleRListImpl<RStore>(names0, names1);
    }
    // -- data
    this.data = (DataType) factory.readStore(io);

    if (!customClass) {
      this.className1 = (dim.length == 2) ? RObject.CLASSNAME_MATRIX : RObject.CLASSNAME_ARRAY;
    }
    // -- attributes
    if ((options & RObjectFactory.F_WITH_ATTR) != 0) {
      setAttributes(factory.readAttributeList(io));
    }
  }
Exemple #2
0
 public void readExternal(final RJIO io, final RObjectFactory factory) throws IOException {
   /*final int options =*/ io.readInt();
   final String headerSource = io.readString();
   if (headerSource != null && headerSource.length() > 0) {
     final RScanner scanner = new RScanner(new StringParseInput(headerSource), null);
     final FDef fDef = scanner.scanFDef();
     if (fDef != null) {
       fArgs = SourceAnalyzer.createMethodArgDef(fDef, null);
     }
   }
 }
 public SetDebugRequest(final RJIO io) throws IOException {
   this.properties = io.readInt();
   switch (this.properties & 0xf) {
     case FRAME:
       this.frameId = io.readLong();
       this.fName = null;
       break;
     case FUNCTION:
       this.frameId = io.readInt();
       this.fName = io.readString();
       break;
     default:
       this.frameId = 0;
       this.fName = null;
       break;
   }
 }