Lines Matching refs:stringBuilder
47 StringBuilder stringBuilder;
49 EmitLicense(stringBuilder);
50 stringBuilder.Append(NEWLINE);
51 EmitInterfaceSelfDefinedTypeImports(stringBuilder);
52 stringBuilder.Append(NEWLINE);
53 EmitInterfaceDefinition(stringBuilder);
54 stringBuilder.Append(NEWLINE);
56 String data = stringBuilder.ToString();
62 void TsCodeEmitter::EmitInterfaceImports(StringBuilder& stringBuilder)
66 stringBuilder.AppendFormat("import {%s} from \"./%s\";\n",
70 stringBuilder.AppendFormat("import %s from \"./%s\";\n", metaInterface_->name_, FileName(interfaceName_).string());
71 stringBuilder.Append("import rpc from \"@ohos.rpc\";\n");
72 EmitInterfaceSelfDefinedTypeImports(stringBuilder);
80 stringBuilder.AppendFormat("import %s from \"./%s\";\n", dependStubName.string(),
86 void TsCodeEmitter::EmitInterfaceSelfDefinedTypeImports(StringBuilder& stringBuilder)
90 stringBuilder.AppendFormat("import %s from \"./%s\";\n", mp->name_, FileName(mp->name_).string());
96 stringBuilder.AppendFormat("import %s from \"./%s\";\n", mi->name_, FileName(mi->name_).string());
101 void TsCodeEmitter::EmitInterfaceDefinition(StringBuilder& stringBuilder)
103 stringBuilder.AppendFormat("export default interface %s {\n", metaInterface_->name_);
104 EmitInterfaceMethods(stringBuilder, TAB);
105 stringBuilder.Append("}\n");
109 stringBuilder.AppendFormat("%s\n", item.exportFunction_.c_str());
114 void TsCodeEmitter::EmitInterfaceMethods(StringBuilder& stringBuilder, const String& prefix)
118 EmitInterfaceMethod(metaMethod, stringBuilder, prefix);
122 void TsCodeEmitter::EmitInterfaceMethod(MetaMethod* metaMethod, StringBuilder& stringBuilder, const String& prefix)
156 stringBuilder.Append(methodStr.ToString());
206 void TsCodeEmitter::EmitInterfaceMethodParameter(MetaParameter* mp, StringBuilder& stringBuilder, const String& prefix)
209 stringBuilder.AppendFormat("%s: %s", mp->name_, EmitType(paraType).string());
212 void TsCodeEmitter::EmitMethodInParameter(StringBuilder& stringBuilder, const std::string& name,
215 stringBuilder.AppendFormat("%s: %s", name.c_str(), type.c_str());
238 StringBuilder stringBuilder;
240 EmitLicense(stringBuilder);
241 stringBuilder.Append(NEWLINE);
242 EmitInterfaceImports(stringBuilder);
243 stringBuilder.Append(NEWLINE);
244 EmitInterfaceProxyImpl(stringBuilder);
245 stringBuilder.Append(NEWLINE);
247 String data = stringBuilder.ToString();
253 void TsCodeEmitter::EmitInterfaceProxyImpl(StringBuilder& stringBuilder)
255 stringBuilder.AppendFormat("export default class %s implements %s {\n", proxyName_.string(),
257 EmitInterfaceProxyConstructor(stringBuilder, TAB);
258 stringBuilder.Append(NEWLINE);
259 EmitInterfaceProxyMethodImpls(stringBuilder, TAB);
260 stringBuilder.Append(NEWLINE);
261 EmitInterfaceMethodCommands(stringBuilder);
262 stringBuilder.Append(TAB).AppendFormat("private %s", PROXY.c_str());
263 stringBuilder.Append(NEWLINE);
264 stringBuilder.Append("}\n");
267 void TsCodeEmitter::EmitInterfaceProxyConstructor(StringBuilder& stringBuilder, const String& prefix)
269 stringBuilder.Append(prefix).AppendFormat("constructor(%s) {\n", PROXY.c_str());
270 stringBuilder.Append(prefix).Append(TAB).AppendFormat("%s = %s;\n", THIS_PROXY.c_str(), PROXY.c_str());
271 stringBuilder.Append(prefix).Append("}\n");
274 void TsCodeEmitter::EmitInterfaceProxyMethodImpls(StringBuilder& stringBuilder, const String& prefix)
278 EmitInterfaceProxyMethodImpl(metaMethod, index, stringBuilder, prefix);
280 stringBuilder.Append(NEWLINE);
285 void TsCodeEmitter::EmitInterfaceProxyMethodImpl(MetaMethod* metaMethod, int methodIndex, StringBuilder& stringBuilder,
288 stringBuilder.Append(prefix).AppendFormat("%s(", MethodName(metaMethod->name_).string());
293 EmitInterfaceMethodParameter(mp, stringBuilder, prefix + TAB);
295 stringBuilder.Append(", ");
303 stringBuilder.AppendFormat("callback: %s", methods_[methodIndex].callbackName_.c_str());
305 stringBuilder.AppendFormat(", callback: %s", methods_[methodIndex].callbackName_.c_str());
308 stringBuilder.Append("): void\n");
309 EmitInterfaceProxyMethodBody(metaMethod, methodIndex, stringBuilder, prefix);
312 void TsCodeEmitter::EmitInterfaceProxyMethodBody(MetaMethod* metaMethod, int methodIndex, StringBuilder& stringBuilder,
316 stringBuilder.Append(prefix).Append("{\n");
317 stringBuilder.Append(prefix).Append(TAB).AppendFormat("let option = new rpc.MessageOption();\n");
319 stringBuilder.Append(prefix).Append(TAB).AppendFormat("option.setFlags(_option.TF_ASYNC);\n");
321 stringBuilder.Append(prefix).Append(TAB).Append("let dataSequence = rpc.MessageSequence.create();\n");
322 stringBuilder.Append(prefix).Append(TAB).Append("let replySequence = rpc.MessageSequence.create();\n");
323 stringBuilder.Append(prefix).Append(TAB).Append("dataSequence.writeInterfaceToken(this.proxy.getDescriptor());\n");
328 EmitWriteMethodParameter(mp, "dataSequence", stringBuilder, prefix + TAB);
334 stringBuilder.Append(prefix).Append(TAB).AppendFormat(
337 stringBuilder.Append("then((result: rpc.RequestResult) => {\n");
338 EmitInterfaceMethodCallback(metaMethod, methodIndex, stringBuilder, prefix, haveOutPara);
339 stringBuilder.Append(prefix).Append(TAB).Append("}).catch((e: Error) => ").Append("{\n");
340 stringBuilder.Append(prefix).Append(TAB).Append(TAB)
342 stringBuilder.Append(prefix).Append(TAB).Append("}).finally(() => ").Append("{\n");
343 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append("dataSequence.reclaim();").Append("\n");
344 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append("replySequence.reclaim();").Append("\n");
345 stringBuilder.Append(prefix).Append(TAB).Append("});").Append("\n");
346 stringBuilder.Append(prefix).Append("}\n");
349 void TsCodeEmitter::EmitInterfaceMethodCallback(MetaMethod* metaMethod, int methodIndex, StringBuilder& stringBuilder,
352 stringBuilder.Append(prefix).Append(TAB).Append(TAB).AppendFormat("if (result.errCode === 0) {\n");
357 EmitReadOutVariable("result.reply", SuffixAdded(ERR_CODE).c_str(), &errCode, stringBuilder,
361 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append(TAB).AppendFormat(
365 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append(TAB).Append(TAB).AppendFormat(
371 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append(TAB).Append(TAB).AppendFormat(
374 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append(TAB).Append(TAB).AppendFormat("callback(");
375 stringBuilder.AppendFormat("%s", SuffixAdded(ERR_CODE).c_str());
378 stringBuilder.AppendFormat(", %s, ", SuffixAdded(RETURN_VALUE).c_str());
380 stringBuilder.AppendFormat(", %s", SuffixAdded(RETURN_VALUE).c_str());
384 stringBuilder.Append(",");
391 stringBuilder.AppendFormat("%s",
394 stringBuilder.Append(", ");
397 stringBuilder.Append(");\n");
398 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append(TAB).Append(TAB).Append("return;\n");
399 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append(TAB).Append("}\n");
401 EmitInterfaceMethodCallbackInner(returnType, metaMethod, methodIndex, stringBuilder, prefix, haveOutPara);
405 int methodIndex, StringBuilder& stringBuilder, const String& prefix, bool haveOutPara)
411 EmitReadMethodParameter(mp, "result.reply", stringBuilder, prefix + TAB + TAB + TAB);
416 EmitReadOutVariable(parcelName, SuffixAdded(RETURN_VALUE), returnType, stringBuilder,
419 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append(TAB).AppendFormat("callback(");
420 stringBuilder.AppendFormat("%s", SuffixAdded(ERR_CODE).c_str());
423 stringBuilder.AppendFormat(", %s, ", SuffixAdded(RETURN_VALUE).c_str());
425 stringBuilder.AppendFormat(", %s", SuffixAdded(RETURN_VALUE).c_str());
429 stringBuilder.Append(",");
434 stringBuilder.AppendFormat("%s",
437 stringBuilder.Append(", ");
441 stringBuilder.Append(");\n");
442 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append("} else {\n");
443 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append(TAB).Append(
445 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append("}\n");
448 void TsCodeEmitter::EmitWriteMethodParameter(MetaParameter* mp, const String& parcelName, StringBuilder& stringBuilder,
453 EmitWriteVariable(parcelName, name, mt, stringBuilder, prefix);
456 void TsCodeEmitter::EmitReadMethodParameter(MetaParameter* mp, const String& parcelName, StringBuilder& stringBuilder,
461 EmitReadOutVariable(parcelName, name, mt, stringBuilder, prefix);
472 StringBuilder stringBuilder;
473 EmitLicense(stringBuilder);
474 stringBuilder.Append(NEWLINE);
475 EmitInterfaceImports(stringBuilder);
476 stringBuilder.Append(NEWLINE);
477 EmitInterfaceStubImpl(stringBuilder);
478 stringBuilder.Append(NEWLINE);
480 String data = stringBuilder.ToString();
486 void TsCodeEmitter::EmitInterfaceStubImpl(StringBuilder& stringBuilder)
488 stringBuilder.AppendFormat("export default class %s extends rpc.RemoteObject implements %s {\n",
490 EmitInterfaceStubMethodImpls(stringBuilder, TAB);
491 stringBuilder.Append(NEWLINE);
492 EmitInterfaceMethodCommands(stringBuilder);
493 stringBuilder.Append("}\n");
496 void TsCodeEmitter::EmitInterfaceStubConstructor(StringBuilder& stringBuilder, const String& prefix)
498 stringBuilder.Append(prefix).Append("constructor(des: string) {\n");
499 stringBuilder.Append(prefix).Append(TAB).Append("super(des);\n");
500 stringBuilder.Append(prefix).Append("}\n");
503 void TsCodeEmitter::EmitInterfaceStubMethodImpls(StringBuilder& stringBuilder, const String& prefix)
505 EmitInterfaceStubConstructor(stringBuilder, prefix);
506 stringBuilder.Append(prefix).Append(NEWLINE);
507 stringBuilder.Append(prefix).Append("async onRemoteMessageRequest(code: number, data:rpc.MessageSequence,");
508 stringBuilder.Append(" reply:rpc.MessageSequence, option:rpc.MessageOption): Promise<boolean> {\n");
509 stringBuilder.Append(prefix).Append(TAB).Append("let localDescriptor = this.getDescriptor();\n");
510 stringBuilder.Append(prefix).Append(TAB).Append("let remoteDescriptor = data.readInterfaceToken();\n");
511 stringBuilder.Append(prefix).Append(TAB).Append("if (localDescriptor !== remoteDescriptor) {\n");
512 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append("console.log(\"invalid interfaceToken\");\n");
513 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append("return false;\n");
514 stringBuilder.Append(prefix).Append(TAB).Append("}\n");
515 stringBuilder.Append(prefix).Append(TAB).Append(
517 stringBuilder.Append(prefix).Append(TAB).Append("switch(code) {\n");
520 EmitInterfaceStubMethodImpl(metaMethod, index, stringBuilder, prefix + TAB + TAB);
522 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append("default: {\n");
523 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append(TAB).Append(
525 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append(TAB).Append("break;\n");
526 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append("}\n");
527 stringBuilder.Append(prefix).Append(TAB).Append("}\n");
528 stringBuilder.Append(prefix).Append(TAB).Append("return false;\n");
529 stringBuilder.Append(prefix).Append("}\n\n");
533 stringBuilder.Append(prefix).AppendFormat("%s(", MethodName(metaMethod->name_).string());
539 EmitInterfaceMethodParameter(mp, stringBuilder, prefix + TAB);
541 stringBuilder.Append(", ");
547 stringBuilder.AppendFormat("callback: %s", methods_[index].callbackName_.c_str());
549 stringBuilder.AppendFormat(", callback: %s", methods_[index].callbackName_.c_str());
551 stringBuilder.Append("): void{}\n");
555 void TsCodeEmitter::EmitInterfaceStubMethodImpl(MetaMethod* metaMethod, int methodIndex, StringBuilder& stringBuilder,
559 stringBuilder.Append(prefix).AppendFormat("case %s.COMMAND_%s: {\n", stubName_.string(),
565 EmitReadVariable("data", SuffixAdded(mp->name_), mt, ATTR_IN, stringBuilder, prefix + TAB);
571 stringBuilder.Append(prefix).Append(TAB).Append("let promise = new Promise<void>((resolve,reject) => { \n");
572 stringBuilder.Append(prefix).Append(TAB).Append(TAB)
578 stringBuilder.Append(SuffixAdded(mp->name_).c_str());
580 stringBuilder.Append(", ");
587 stringBuilder.Append("(");
589 stringBuilder.Append(", (");
591 EmitInterfaceStubMethodPromiseImpl(metaMethod, methodIndex, stringBuilder, prefix, haveOutPara);
592 stringBuilder.Append(prefix).Append(TAB).Append("}").Append(");\n");
593 stringBuilder.Append(prefix).Append(TAB).Append("await promise;\n");
594 stringBuilder.Append(prefix).Append(TAB).Append("return true;\n");
595 stringBuilder.Append(prefix).Append("}\n");
599 MetaMethod* metaMethod, int methodIndex, StringBuilder& stringBuilder, const String& prefix, bool haveOutPara)
601 stringBuilder.Append(ERR_CODE);
604 stringBuilder.AppendFormat(", %s", RETURN_VALUE.string());
606 stringBuilder.AppendFormat(", %s", RETURN_VALUE.string()).Append(", ");
610 stringBuilder.Append(", ");
615 stringBuilder.Append(methods_[methodIndex].parameters_[index].name_.c_str());
617 stringBuilder.Append(", ");
621 stringBuilder.Append(") => {\n");
624 EmitWriteVariable("reply", ERR_CODE.string(), &errCode, stringBuilder, prefix + TAB + TAB + TAB);
628 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append(TAB)
633 EmitWriteMethodParameter(mp, "reply", stringBuilder, prefix + TAB + TAB + TAB + TAB);
638 stringBuilder, prefix + TAB + TAB + TAB + TAB);
640 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append(TAB).Append("}\n");
642 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append(TAB).Append("resolve();\n");
643 stringBuilder.Append(prefix).Append(TAB).Append(TAB).Append("}");
644 stringBuilder.Append(");\n");
647 void TsCodeEmitter::EmitInterfaceMethodCommands(StringBuilder& stringBuilder)
651 stringBuilder.Append(TAB).AppendFormat("static readonly COMMAND_%s = %d;\n",
656 void TsCodeEmitter::EmitLicense(StringBuilder& stringBuilder)
658 stringBuilder.Append(metaInterface_->license_).Append(NEWLINE);
662 StringBuilder& stringBuilder, const String& prefix)
666 stringBuilder.Append(prefix).AppendFormat("%s.writeInt(%s ? 1 : 0);\n", parcelName.string(), name.c_str());
672 stringBuilder.Append(prefix).AppendFormat("%s.writeInt(%s);\n", parcelName.string(), name.c_str());
675 stringBuilder.Append(prefix).AppendFormat("%s.writeLong(%s);\n", parcelName.string(), name.c_str());
678 stringBuilder.Append(prefix).AppendFormat("%s.writeFloat(%s);\n", parcelName.string(), name.c_str());
681 stringBuilder.Append(prefix).AppendFormat("%s.writeDouble(%s);\n", parcelName.string(), name.c_str());
684 EmitWriteVariableObject(parcelName, name, mt, stringBuilder, prefix);
690 StringBuilder& stringBuilder, const String& prefix)
694 stringBuilder.Append(prefix).AppendFormat("%s.writeString(%s);\n", parcelName.string(), name.c_str());
698 stringBuilder.Append(prefix).AppendFormat("%s.writeRemoteObject(%s);\n", parcelName.string(),
702 stringBuilder.Append(prefix).AppendFormat("%s.writeParcelable(%s);\n", parcelName.string(),
706 stringBuilder.Append(prefix).AppendFormat("%s.writeRemoteObject(%s as %s);\n", parcelName.string(),
711 stringBuilder.Append(prefix).AppendFormat("%s.writeInt(%s.size());\n", parcelName.string(), name.c_str());
712 stringBuilder.Append(prefix).AppendFormat("for (%s element : %s) {\n",
714 EmitWriteVariable(parcelName, "element", innerType, stringBuilder, prefix + TAB);
715 stringBuilder.Append(prefix).Append("}\n");
721 stringBuilder.Append(prefix).AppendFormat("%s.writeInt(%s.size);\n", parcelName.string(), name.c_str());
722 stringBuilder.Append(prefix).AppendFormat("for (let [key, value] of %s) {\n", name.c_str());
723 EmitWriteVariable(parcelName, "key", keyType, stringBuilder, prefix + TAB);
724 EmitWriteVariable(parcelName, "value", valueType, stringBuilder, prefix + TAB);
725 stringBuilder.Append(prefix).Append("}\n");
730 EmitWriteArrayVariable(parcelName, name, innerType, stringBuilder, prefix);
739 StringBuilder& stringBuilder,
744 stringBuilder.Append(prefix).AppendFormat("%s.writeBooleanArray(%s);\n", parcelName.string(),
748 stringBuilder.Append(prefix).AppendFormat("%s.writeCharArray(%s);\n", parcelName.string(), name.c_str());
751 stringBuilder.Append(prefix).AppendFormat("%s.writeByteArray(%s);\n",
755 stringBuilder.Append(prefix).AppendFormat("%s.writeShortArray(%s);\n", parcelName.string(), name.c_str());
758 stringBuilder.Append(prefix).AppendFormat("%s.writeIntArray(%s);\n", parcelName.string(), name.c_str());
761 stringBuilder.Append(prefix).AppendFormat("%s.writeLongArray(%s);\n", parcelName.string(), name.c_str());
764 stringBuilder.Append(prefix).AppendFormat("%s.writeFloatArray(%s);\n", parcelName.string(), name.c_str());
767 stringBuilder.Append(prefix).AppendFormat("%s.writeDoubleArray(%s);\n", parcelName.string(), name.c_str());
770 stringBuilder.Append(prefix).AppendFormat("%s.writeStringArray(%s);\n", parcelName.string(), name.c_str());
775 stringBuilder.Append(prefix).AppendFormat("let %sArray:Array<%s> = %s;\n", name.c_str(), typeName.string(),
777 stringBuilder.Append(prefix).AppendFormat("%s.writeInt(%sArray.length);\n", parcelName.string(),
779 stringBuilder.Append(prefix).AppendFormat("for (let index = 0; index < %sArray.length; index++) {\n",
781 stringBuilder.Append(prefix).Append(TAB).AppendFormat("%s.writeSequenceable(%s[index]);\n",
783 stringBuilder.Append(prefix).AppendFormat("}\n");
793 StringBuilder& stringBuilder,
798 stringBuilder.Append(prefix).AppendFormat("let %s = %s.readInt() == 1 ? true : false;\n", name.c_str(),
805 stringBuilder.Append(prefix).AppendFormat("let %s = %s.readInt();\n", name.c_str(), parcelName.string());
808 stringBuilder.Append(prefix).AppendFormat("let %s = %s.readLong();\n", name.c_str(), parcelName.string());
811 stringBuilder.Append(prefix).AppendFormat("let %s = %s.readFloat();\n", name.c_str(), parcelName.string());
814 stringBuilder.Append(prefix).AppendFormat("let %s = %s.readDouble();\n", name.c_str(), parcelName.string());
817 EmitReadVariableObject(parcelName, name, mt, attributes, stringBuilder, prefix);
823 unsigned int attributes, StringBuilder& stringBuilder, const String& prefix)
827 stringBuilder.Append(prefix).AppendFormat("let %s = %s.readString();\n", name.c_str(), parcelName.string());
831 stringBuilder.Append(prefix).AppendFormat("IRemoteObject %s = %s.readRemoteObject();\n",
836 stringBuilder.Append(prefix).AppendFormat("let %s = new %s();\n", name.c_str(), EmitType(mt).string());
838 stringBuilder.Append(prefix).AppendFormat("%s.readParcelable(%s);\n", parcelName.string(), name.c_str());
842 stringBuilder.Append(prefix).AppendFormat("let %s = %s.readRemoteObject();\n", name.c_str(),
847 stringBuilder.Append(prefix).AppendFormat("let %s = new Map();\n", name.c_str());
848 stringBuilder.Append(prefix).AppendFormat("let %sSize = %s.readInt();\n", name.c_str(),
850 stringBuilder.Append(prefix).AppendFormat("for (let i = 0; i < %sSize; ++i) {\n", name.c_str());
853 EmitReadVariable(parcelName, "key", keyType, ATTR_IN, stringBuilder, prefix + TAB);
854 EmitReadVariable(parcelName, "value", valueType, ATTR_IN, stringBuilder, prefix + TAB);
855 stringBuilder.Append(prefix).Append(TAB).AppendFormat("%s.set(key, value);\n", name.c_str());
856 stringBuilder.Append(prefix).Append("}\n");
861 EmitReadOutArrayVariable(parcelName, name, mt, stringBuilder, prefix);
863 EmitReadArrayVariable(parcelName, name, mt, attributes, stringBuilder, prefix);
873 unsigned int attributes, StringBuilder& stringBuilder, const String& prefix)
886 stringBuilder.Append(prefix).AppendFormat("let %s = %s.%s();\n", name.c_str(),
892 stringBuilder.Append(prefix).AppendFormat("let %sSize = %s.readInt();\n", name.c_str(),
894 stringBuilder.Append(prefix).AppendFormat("let %s:Array<%s> = [];\n", name.c_str(), typeName.string());
895 stringBuilder.Append(prefix).AppendFormat("for (let index = 0; index < %sSize; index++) {\n",
897 stringBuilder.Append(prefix).Append(TAB).AppendFormat("let %sValue = new %s();\n",
899 stringBuilder.Append(prefix).Append(TAB).AppendFormat("%s.readSequenceable(%sValue);\n",
901 stringBuilder.Append(prefix).Append(TAB).AppendFormat("%s.push(%sValue);\n", name.c_str(),
903 stringBuilder.Append(prefix).AppendFormat("}\n");
912 StringBuilder& stringBuilder,
926 stringBuilder.Append(prefix).AppendFormat("let %s = %s.%s();\n", name.c_str(),
930 stringBuilder.Append(prefix).AppendFormat("let %sSize = %s.readInt();\n", name.c_str(),
934 stringBuilder.Append(prefix).AppendFormat("let %s:Array<%s> = [];\n", name.c_str(), typeName.string());
935 stringBuilder.Append(prefix).AppendFormat("for (let index = 0; index < %sSize; index++) {\n",
937 stringBuilder.Append(prefix).Append(TAB).AppendFormat("let %sValue = new %s();\n",
939 stringBuilder.Append(prefix).Append(TAB).AppendFormat("%s.readSequenceable(%sValue);\n",
941 stringBuilder.Append(prefix).Append(TAB).AppendFormat("%s.push(%sValue);\n", name.c_str(),
943 stringBuilder.Append(prefix).AppendFormat("}\n");
952 StringBuilder& stringBuilder,
957 stringBuilder.Append(prefix).AppendFormat("let %s = %s.readInt() == 1 ? true : false;\n",
964 stringBuilder.Append(prefix).AppendFormat("let %s = %s.readInt();\n", name.c_str(), parcelName.string());
967 stringBuilder.Append(prefix).AppendFormat("let %s = %s.readLong();\n", name.c_str(), parcelName.string());
970 stringBuilder.Append(prefix).AppendFormat("let %s = %s.readFloat();\n", name.c_str(), parcelName.string());
973 stringBuilder.Append(prefix).AppendFormat("let %s = %s.readDouble();\n", name.c_str(), parcelName.string());
976 stringBuilder.Append(prefix).AppendFormat("let %s = %s.readString();\n", name.c_str(), parcelName.string());
979 EmitReadOutVariableObject(parcelName, name, mt, stringBuilder, prefix);
985 StringBuilder& stringBuilder, const String& prefix)
989 stringBuilder.Append(prefix).AppendFormat("let %s = %s.readString();\n", name.c_str(), parcelName.string());
993 stringBuilder.Append(prefix).AppendFormat("%s = %s.readRemoteObject();\n", name.c_str(),
997 stringBuilder.Append(prefix).AppendFormat("let %s = new %s();\n", name.c_str(), EmitType(mt).string());
998 stringBuilder.Append(prefix).AppendFormat("%s.readSequenceable(%s);\n", parcelName.string(), name.c_str());
1001 stringBuilder.Append(prefix).AppendFormat("let %s = %s.readRemoteObject();\n", name.c_str(),
1005 stringBuilder.Append(prefix).AppendFormat("int %sSize = %s.readInt();\n", name.c_str(),
1007 stringBuilder.Append(prefix).AppendFormat("for (int i = 0; i < %sSize; ++i) {\n", name.c_str());
1009 EmitReadVariable(parcelName, "value", innerType, ATTR_IN, stringBuilder, prefix + TAB);
1010 stringBuilder.Append(prefix).Append(TAB).AppendFormat("%s.add(value);\n", name.c_str());
1011 stringBuilder.Append(prefix).Append("}\n");
1015 stringBuilder.Append(prefix).AppendFormat("let %s = new Map();\n", name.c_str());
1016 stringBuilder.Append(prefix).AppendFormat("let %sSize = %s.readInt();\n", name.c_str(),
1018 stringBuilder.Append(prefix).AppendFormat("for (let i = 0; i < %sSize; ++i) {\n", name.c_str());
1021 EmitReadVariable(parcelName, "key", keyType, ATTR_IN, stringBuilder, prefix + TAB);
1022 EmitReadVariable(parcelName, "value", valueType, ATTR_IN, stringBuilder, prefix + TAB);
1023 stringBuilder.Append(prefix).Append(TAB).AppendFormat("%s.set(key, value);\n", name.c_str());
1024 stringBuilder.Append(prefix).Append("}\n");
1028 EmitReadOutArrayVariable(parcelName, name, mt, stringBuilder, prefix);
1091 StringBuilder stringBuilder;
1096 stringBuilder.Append('_');
1098 stringBuilder.Append(tolower(c));
1100 stringBuilder.Append(c);
1103 return stringBuilder.ToString().Replace('.', '/');
1120 StringBuilder stringBuilder;
1126 stringBuilder.Append('_');
1128 stringBuilder.Append(c);
1130 stringBuilder.Append(toupper(c));
1134 return stringBuilder.ToString();