AjTalk.Compilers.Javascript.VirtualMachineCompiler.Visit C# (CSharp) 메소드

Visit() 공개 메소드

public Visit ( ClassModel @class ) : void
@class AjTalk.Model.ClassModel
리턴 void
        public override void Visit(ClassModel @class)
        {
            // TODO review
            if (@class.SuperClassName == null)
                return;

            string instanceVariableNames = string.Empty;
            string classVariableNames = string.Empty;

            if (@class.InstanceVariableNames != null && @class.InstanceVariableNames.Count > 0)
            {
                instanceVariableNames = @class.InstanceVariableNames.First();

                foreach (var name in @class.InstanceVariableNames.Skip(1))
                    instanceVariableNames += " " + name;
            }

            if (@class.ClassVariableNames != null && @class.ClassVariableNames.Count > 0)
            {
                classVariableNames = @class.ClassVariableNames.First();

                foreach (var name in @class.ClassVariableNames.Skip(1))
                    classVariableNames += " " + name;
            }

            this.WriteLine(string.Format(
                "Smalltalk.{0}.subclass_instanceVariableNames_classVariableNames_('{1}', '{2}', '{3}');",
                @class.SuperClassName,
                @class.Name,
                instanceVariableNames,
                classVariableNames));

            foreach (MethodModel method in @class.InstanceMethods)
                method.Visit(this);
        }

Same methods

VirtualMachineCompiler::Visit ( CodeModel model ) : void
VirtualMachineCompiler::Visit ( MessageExpression expression ) : void
VirtualMachineCompiler::Visit ( MethodModel method ) : void
VirtualMachineCompiler