Example #1
0
 protected override void GenerateInner(CodeGenerator generator, CodeStatementEmitOptions emitOptions)
 {
     generator.WriteBlankLineBeforeEnteringBlock();
     generator.EnterLocalScope();
     generator.Write(TokenType.Keyword, "using");
     generator.Write(TokenType.Space, ' ');
     generator.Write(TokenType.Punctuation, '(');
     InitStatement.Generate(generator, CodeStatementEmitOptions.OmitSemiColon);
     generator.Write(TokenType.Punctuation, ')');
     if (Statements.Count > 0)
     {
         generator.WriteOpeningBrace();
         generator.Indent++;
         generator.EnterLocalScope();
         Statements.ReserveLocals(generator, default(CodeStatementEmitOptions));
         Statements.Generate(generator, default(CodeStatementEmitOptions));
         generator.ExitLocalScope();
         generator.Indent--;
         generator.WriteClosingBrace();
     }
     else
     {
         generator.WriteEmptyBlock();
     }
     generator.ExitLocalScope();
 }
Example #2
0
        /// <summary>
        /// Add Init statement
        /// </summary>
        /// <param name="source"></param>
        private void AddInitStatement(ref string source, TsElementTypes elementType, TsGeneratorOptions options, TsWriteInformation info)
        {
            switch (elementType)
            {
            //constant
            case TsElementTypes.Constant:
            {
                source = string.Format(TsDomConstants.TS_CONSTANT_SETVALUE_FORMAT, source, InitStatement.GetSource(options, info));
                break;
            }

            case TsElementTypes.Class:
            case TsElementTypes.Enumerations:
            {
                source = string.Format(TsDomConstants.ASSIGN_FORMAT, source, InitStatement.GetSource(options, info));
                break;
            }

            case TsElementTypes.InlineObject:
            {
                source = string.Format(TsDomConstants.TS_INLINEOBJECT_SETVALUE_FORMAT, source, InitStatement.GetSource(options, info));
                break;
            }

            default:
            {
                throw new NotImplementedException(string.Format("InitStatement for Type ({0}) is not implemented", elementType.ToString()));
            }
            }
        }