Exemplo n.º 1
0
        private VBBaseModule CreateModule(SourceFileTypeEnum fileType, VisualBasic6Parser.ModuleContext context)
        {
            VBBaseModule result;

            switch (fileType)
            {
            case SourceFileTypeEnum.Unknown:
                throw new Exception("Unknown VB6 file type.");

            case SourceFileTypeEnum.Class:
                result = new VBClassModule(_vb6Lexer, _vb6Parser, _commonTokenStream, context);
                break;

            case SourceFileTypeEnum.Module:
                result = new VBStandardModule(_vb6Lexer, _vb6Parser, _commonTokenStream, context);
                break;

            case SourceFileTypeEnum.UserControl:
                throw new NotImplementedException("UserControl");

            //break;
            case SourceFileTypeEnum.Form:
                throw new NotImplementedException("Form");

            //break;
            case SourceFileTypeEnum.PropertyPage:
                throw new NotImplementedException("PropertyPage");

            //break;
            default:
                throw new Exception("Unsupported VB6 file type.");
            }

            return(result);
        }
Exemplo n.º 2
0
        public VBBaseModule CreateModuleCodeModels(VisualBasic6Parser.ModuleContext context)
        {
            // Create & extract module level metadata
            _moduleCodeModel = CreateModule(_fileType, context);
            var moduleVisitor = new VB6ModuleVisitor(_moduleCodeModel, _vb6Lexer, _vb6Parser, _commonTokenStream);

            moduleVisitor.Visit(context);
            moduleVisitor.PostProcess();

            // Visit code blocks to create code object model for analysis & conversion.
            var codeModelVisitor = new VB6CodeModelVisitor(_moduleCodeModel, _moduleCodeModel, _vb6Lexer, _vb6Parser, _commonTokenStream);

            codeModelVisitor.Visit(context.moduleBody());
            codeModelVisitor.PostProcess();

            return(_moduleCodeModel);
        }
Exemplo n.º 3
0
 public override object VisitModule([NotNull] VisualBasic6Parser.ModuleContext context)
 {
     return(base.VisitModule(context));
 }
Exemplo n.º 4
0
 public UserControlCodeGenerator(VisualBasic6Parser.ModuleContext parseTree) : base(parseTree)
 {
 }
Exemplo n.º 5
0
 public FormsCodeGeneratorBase(VisualBasic6Parser.ModuleContext parseTree) : base(parseTree)
 {
 }
Exemplo n.º 6
0
 protected override CodeGeneratorBase CreateCodeGenerator(VisualBasic6Parser.ModuleContext parseTree)
 {
     return(new ClassModuleCodeGenerator(parseTree));
 }
Exemplo n.º 7
0
 protected abstract CodeGeneratorBase CreateCodeGenerator(VisualBasic6Parser.ModuleContext parseTree);
 public ClassModuleCodeGenerator(VisualBasic6Parser.ModuleContext parseTree) : base(parseTree)
 {
 }
        public override void EnterModule([NotNull] VisualBasic6Parser.ModuleContext context)
        {
            base.EnterModule(context);

            context.moduleBody();
        }
Exemplo n.º 10
0
 /// <summary>
 /// Initialises this instance with the given VB6 AST.
 /// </summary>
 /// <param name="parseTree"></param>
 public CodeGeneratorBase(VisualBasic6Parser.ModuleContext parseTree)
 {
     mParseTree       = parseTree;
     mMainDeclMembers = new List <StatementSyntax>();
 }
Exemplo n.º 11
0
 public override void ExitModule([NotNull] VisualBasic6Parser.ModuleContext context)
 {
 }