// File: CoinXu[P]reviser-compiler/src/compiler/typescript/typescript_struct.cpp
// Function: reviser::typescript::TypeScriptStructInterfaceProperty::Generate[abi:cxx11]()
string TypeScriptStructInterfaceProperty::Generate() {
    if (node->declare->type == TYPE_ENUM) {
      return TypeScriptCommon::Indent(node->level)
        + node->declare->id->text + ": " + node->declare->type_id->text
        + "; /* enum " + node->declare->type_id->text + " */";
    }

    string type;
    if (TypeScriptBuildInDataTypeMap.find(node->declare->type) == TypeScriptBuildInDataTypeMap.end()) {
      type = "any";
    } else {
      type = TypeScriptBuildInDataTypeMap.at(node->declare->type);
    }

    return TypeScriptCommon::Indent(node->level)
      + node->declare->id->text + ": " + type
      + "; /* " + DataTypeName.at(node->declare->type) + " */";
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x210, %rsp            # imm = 0x210
movq %rdi, -0x1e8(%rbp)
movq %rdi, %rax
movq %rax, -0x1e0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x1d8(%rbp)
movq 0x20(%rax), %rax
movq 0x48(%rax), %rax
cmpl $0x9, (%rax)
jne 0xfdf18
movq -0x1d8(%rbp), %rax
movq 0x20(%rax), %rax
movl 0x8(%rax), %esi
leaq -0xd0(%rbp), %rdi
movq %rdi, -0x1f0(%rbp)
callq 0xf8390
movq -0x1d8(%rbp), %rax
movq -0x1f0(%rbp), %rsi
movq 0x20(%rax), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rdx
addq $0x8, %rdx
leaq -0xb0(%rbp), %rdi
callq 0xc25f0
jmp 0xfdd7d
leaq 0x1519(%rip), %rdx      # 0xff29d
leaq -0x90(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0xa10c0
jmp 0xfdd99
movq -0x1d8(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rdx
addq $0x8, %rdx
leaq -0x70(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0xa1070
jmp 0xfddc2
leaq 0x2fa3(%rip), %rdx      # 0x100d6c
leaq -0x50(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0xa10c0
jmp 0xfddd8
movq -0x1d8(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rdx
addq $0x8, %rdx
leaq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0xa1070
jmp 0xfddfe
movq -0x1e8(%rbp), %rdi
leaq 0x2f6b(%rip), %rdx      # 0x100d77
leaq -0x30(%rbp), %rsi
callq 0xa10c0
jmp 0xfde17
leaq -0x30(%rbp), %rdi
callq 0x992c0
leaq -0x50(%rbp), %rdi
callq 0x992c0
leaq -0x70(%rbp), %rdi
callq 0x992c0
leaq -0x90(%rbp), %rdi
callq 0x992c0
leaq -0xb0(%rbp), %rdi
callq 0x992c0
leaq -0xd0(%rbp), %rdi
callq 0x992c0
jmp 0xfe20b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0xfdf07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0xfdefb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0xfdeef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0xfdee6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0xfdedd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x992c0
leaq -0x50(%rbp), %rdi
callq 0x992c0
leaq -0x70(%rbp), %rdi
callq 0x992c0
leaq -0x90(%rbp), %rdi
callq 0x992c0
leaq -0xb0(%rbp), %rdi
callq 0x992c0
leaq -0xd0(%rbp), %rdi
callq 0x992c0
jmp 0xfe21b
leaq -0x100(%rbp), %rdi
callq 0x99650
movq -0x1d8(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x48(%rax), %rsi
leaq 0x32fde(%rip), %rdi     # 0x130f18
callq 0xfe3b0
movq %rax, -0x1f8(%rbp)
jmp 0xfdf48
movq -0x1f8(%rbp), %rax
movq %rax, -0x108(%rbp)
leaq 0x32fbb(%rip), %rdi     # 0x130f18
callq 0xf9840
movq %rax, -0x110(%rbp)
leaq -0x108(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0xb1e80
testb $0x1, %al
jne 0xfdf82
jmp 0xfdfb0
leaq 0x2cec(%rip), %rsi      # 0x100c75
leaq -0x100(%rbp), %rdi
callq 0x99630
jmp 0xfdf97
jmp 0xfdfeb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0xfe1fd
movq -0x1d8(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x48(%rax), %rsi
leaq 0x32f52(%rip), %rdi     # 0x130f18
callq 0xfe3e0
movq %rax, -0x200(%rbp)
jmp 0xfdfd4
movq -0x200(%rbp), %rsi
leaq -0x100(%rbp), %rdi
callq 0x99070
jmp 0xfdfe9
jmp 0xfdfeb
movq -0x1d8(%rbp), %rax
movq 0x20(%rax), %rax
movl 0x8(%rax), %esi
leaq -0x1d0(%rbp), %rdi
callq 0xf8390
jmp 0xfe007
movq -0x1d8(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rdx
addq $0x8, %rdx
leaq -0x1b0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0xc25f0
jmp 0xfe033
leaq 0x1263(%rip), %rdx      # 0xff29d
leaq -0x190(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0xa10c0
jmp 0xfe04f
leaq -0x170(%rbp), %rdi
leaq -0x190(%rbp), %rsi
leaq -0x100(%rbp), %rdx
callq 0xa1070
jmp 0xfe06b
leaq 0x2d09(%rip), %rdx      # 0x100d7b
leaq -0x150(%rbp), %rdi
leaq -0x170(%rbp), %rsi
callq 0xa10c0
jmp 0xfe087
movq -0x1d8(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x48(%rax), %rsi
leaq 0x329d3(%rip), %rdi     # 0x130a70
callq 0xfe3e0
movq %rax, -0x208(%rbp)
jmp 0xfe0ab
movq -0x208(%rbp), %rdx
leaq -0x130(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0xa1070
jmp 0xfe0c7
movq -0x1e8(%rbp), %rdi
leaq 0x2ca2(%rip), %rdx      # 0x100d77
leaq -0x130(%rbp), %rsi
callq 0xa10c0
jmp 0xfe0e3
leaq -0x130(%rbp), %rdi
callq 0x992c0
leaq -0x150(%rbp), %rdi
callq 0x992c0
leaq -0x170(%rbp), %rdi
callq 0x992c0
leaq -0x190(%rbp), %rdi
callq 0x992c0
leaq -0x1b0(%rbp), %rdi
callq 0x992c0
leaq -0x1d0(%rbp), %rdi
callq 0x992c0
leaq -0x100(%rbp), %rdi
callq 0x992c0
jmp 0xfe20b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0xfe1f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0xfe1e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0xfe1d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0xfe1cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0xfe1c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
leaq -0x130(%rbp), %rdi
callq 0x992c0
leaq -0x150(%rbp), %rdi
callq 0x992c0
leaq -0x170(%rbp), %rdi
callq 0x992c0
leaq -0x190(%rbp), %rdi
callq 0x992c0
leaq -0x1b0(%rbp), %rdi
callq 0x992c0
leaq -0x1d0(%rbp), %rdi
callq 0x992c0
leaq -0x100(%rbp), %rdi
callq 0x992c0
jmp 0xfe21b
movq -0x1e0(%rbp), %rax
addq $0x210, %rsp            # imm = 0x210
popq %rbp
retq
movq -0xd8(%rbp), %rdi
callq 0x99840
nopw (%rax,%rax)