public override variableDeclaration()

in src/languages/java.ts [316:344]


  public override variableDeclaration(node: ts.VariableDeclaration, renderer: JavaRenderer): OTree {
    let fallback = 'Object';
    if (node.type) {
      fallback = node.type.getText();
    }
    const type =
      (node.type && renderer.typeOfType(node.type)) ||
      (node.initializer && renderer.typeOfExpression(node.initializer));

    const renderedType = type ? this.renderType(node, type, renderer, fallback) : fallback;

    if (!node.initializer) {
      return new OTree([renderedType, ' ', renderer.convert(node.name), ';'], []);
    }

    return new OTree(
      [
        renderedType,
        ' ',
        renderer.convert(node.name),
        ...(node.initializer ? [' = ', renderer.convert(node.initializer)] : []),
        ';',
      ],
      [],
      {
        canBreakLine: true,
      },
    );
  }