Exemple #1
0
        internal static CompilationError CtorCallBindError(Expr expr, Symbol symbol, ArgList args, OverloadResult ovRes)
        {
            if (ovRes?.Valid != true)
            {
                if (symbol is SymbolList)
                {
                    return(expr.Error(ErrorCode.NoSuitableCtor));
                }
                else if (symbol is ConstructorSymbol)
                {
                    return(expr.Error(ErrorCode.ArgumentsNotMatchCtor));
                }
                else
                {
                    return(expr.Error(ErrorCode.CtorNotFound));
                }
            }

            if (ovRes.Unique == false)
            {
                return(expr.Error(ErrorCode.AmbiguousCall));
            }

            return(expr.Error(ErrorCode.CtorNotFound));
        }
Exemple #2
0
        public override CompiledCommand GetCompiledCommand(ArgList args)
        {
            var cc = new CompiledCommandFilled();

            cc.OnInvoke += script => { Execute(null, null); };
            return(cc);
        }
Exemple #3
0
        void OnMessage(Message msg)
        {
            MessageChat msgChat = JsonReader.Deserialize <MessageChat>(msg.rawString);
            string      strName = string.Format("<color=#ff00ffff>{0}: </color>", msgChat.nickName);

            //if (Game.Instance.player.UID != msgChat.uid)
            {
                bool bShow = Game.Instance.level.bForbidChat;
                if (Game.Instance.level.uIDHookMap.ContainsKey(msgChat.uid) && !bShow)
                {
                    BaseHook bh = Game.Instance.level.uIDHookMap[msgChat.uid];
                    if (bh != null)
                    {
                        if (bh.hookPos == HookPos.right)
                        {
                            UIManager.Instance.ShowWindow <ChatPaopao>("ChatPaopao", ArgList.Create(msgChat.message, new Vector3(200f, 300f, 0f), 180f), false);
                        }
                        else
                        {
                            UIManager.Instance.ShowWindow <ChatPaopao>("ChatPaopao", ArgList.Create(msgChat.message, new Vector3(-200f, 300f, 0f), 0f), false);
                        }
                    }
                }
            }
            if (Game.Instance.player.UID == msgChat.uid)
            {
                string strMessage = "<color=#00ff00ff>ÎÒ: </color>" + msgChat.message;
                AddMessage(strMessage);
            }
            else
            {
                AddMessage(strName + msgChat.message);
            }
        }
Exemple #4
0
        // This method actually returns a Dictionary<string, eeObject>, but uses eeObject as a vehicle as to conform to the visitor's uniform return type
        public override eeObject VisitFn_args([NotNull] EelooParser.Fn_argsContext ctx)
        {
            // add this to scope
            Interpreter.currentScope.scopeCtx = ctx;

            // key is argument name, value is the default value if one is provided
            ArgList arguments
                = new ArgList();

            var args = ctx.fn_arg();

            if (args != null)
            {
                foreach (var arg in args)
                {
                    if (arg.exp() == null)
                    {
                        arguments.Add(arg.IDENTIFIER().GetText(), null);
                    }
                    else
                    {
                        arguments.Add(arg.IDENTIFIER().GetText(), Visit(arg.exp()));
                    }
                }
            }

            return(new eeObject(arguments)
            {
                type = eeObjectType.internal_FN_ARG_LIST
            });
        }
        private static Tuple <List <string>, List <string> > ExtractUsedInterfaceIdsFromArgMap(ArgMap data, string visaTypeFilter)
        {
            List <string> visas  = new List <string>();
            List <string> sicls  = new List <string>();
            var           parsed = new Tuple <List <string>, List <string> >(visas, sicls);

            if (data == null)
            {
                return(parsed);
            }
            ArgList v = data.GetArgList(Ace2ApiConstants.VisaInterfaceIdAssignments_Parameter);
            ArgList s = data.GetArgList(Ace2ApiConstants.SiclInterfaceIdAssignments_Parameter);

            if (v == null || s == null)
            {
                return(parsed);
            }

            for (int i = 0; i < v.Count; i++)
            {
                if (v[i].ToString().StartsWith(visaTypeFilter, StringComparison.InvariantCultureIgnoreCase))
                {
                    visas.Add(v[i].ToString());
                    sicls.Add(s[i].ToString());     // The SICL interface list MUST be 1-for-1 to the VISA interfaces
                }
            }
            return(parsed);
        }
Exemple #6
0
        internal static MemberSymbol TryBindArrayAccess(Expr self, Symbol symbol, ArgList args, ref OverloadResult ovRes, BindOptions options)
        {
            bool isStatic = self == null;

            if ((symbol as PropertySymbol)?.IsStatic == isStatic)
            {
                CheckArguments(symbol as PropertySymbol, (symbol as PropertySymbol).Parameters, args, ref ovRes, options);
            }
            else if ((symbol as SymbolList)?.HasProperty == true)
            {
                var properties = symbol as SymbolList;
                for (int i = 0; i < properties.Symbols.Count; i++)
                {
                    var p = properties.Symbols[i];
                    if ((p as PropertySymbol)?.IsStatic == isStatic)
                    {
                        CheckArguments(p as PropertySymbol, (p as PropertySymbol).Parameters, args, ref ovRes, options);
                        if (ovRes?.Exact == true)
                        {
                            break;
                        }
                    }
                }
            }

            if (ovRes?.Unique == true)
            {
                ApplyConversions(args, ovRes);
                return(ovRes.Symbol);
            }
            return(null);
        }
Exemple #7
0
 public override void OnEnter(ArgList args)
 {
     base.OnEnter(args);
     this.Fsm.Owner.LevelStart(args);
     _wnd = UIManager.Instance.ShowWindow <PlayWindow>("PlayWindow", args, false);
     Owner.bgPlayer.PlayLevelBG();
 }
Exemple #8
0
        internal static CompilationError CtorCallBindError(Expr expr, Symbol symbol, ArgList args, OverloadResult ovRes)
        {
            if (ovRes?.Valid != true)
            {
                if (symbol is SymbolList)
                {
                    return(expr.Error(ErrorCode.NoSuitableCtor));
                }
                else if (symbol is ConstructorSymbol)
                {
                    return(expr.Error(ErrorCode.ArgumentsNotMatchCtor));
                }
                else
                {
                    return(expr.Error(ErrorCode.CtorNotFound));
                }
            }

            if (ovRes.Unique == false)
            {
                string sMessage1 = "";
                string sMessage2 = "";
                if (ovRes?.Symbol is ConstructorSymbol msym)
                {
                    sMessage1 = msym.Signature;
                }
                if (ovRes?.Equivalent?.Symbol is ConstructorSymbol msym2)
                {
                    sMessage2 = msym2.Signature;
                }
                return(expr.Error(ErrorCode.AmbiguousCall, sMessage1, sMessage2));
            }

            return(expr.Error(ErrorCode.CtorNotFound));
        }
            public override bool SameClause(Part term, IDictionary <string, string> varlist)
            {
                var term2 = term as Term;

                if (term2 == null)
                {
                    return(false);
                }
                if (headIsVar)
                {
                    if (!term2.headIsVar)
                    {
                        return(false);
                    }
                    if (!SameVar(term2.fname, this.fname, varlist))
                    {
                        return(false);
                    }
                }
                else
                {
                    if (term2.headIsVar)
                    {
                        return(false);
                    }
                    if (term2.fname != this.fname)
                    {
                        return(false);
                    }
                }
                return(ArgList.SameClause(term2.ArgList, varlist));
            }
Exemple #10
0
        public void Execute(string argString)
        {
            ArgList args = new ArgList();

            args.Parse(argString);

            Execute(args);
        }
        internal MemberSymbol TryBindArrayAccess(Expr self, Symbol symbol, ArgList args, ref OverloadResult ovRes, BindOptions options)
        {
            bool isStatic = self == null;
            var  matching = new List <OverloadResult>();

            if ((symbol as PropertySymbol)?.IsStatic == isStatic)
            {
                CheckArguments(symbol as PropertySymbol, (symbol as PropertySymbol).Parameters, args, ref ovRes, options);
            }
            else if ((symbol as SymbolList)?.HasProperty == true)
            {
                var properties = symbol as SymbolList;
                for (int i = 0; i < properties.Symbols.Count; i++)
                {
                    var p = properties.Symbols[i];
                    if ((p as PropertySymbol)?.IsStatic == isStatic)
                    {
                        CheckArguments(p as PropertySymbol, (p as PropertySymbol).Parameters, args, ref ovRes, options);
                        if (ovRes?.Exact == true)
                        {
                            break;
                        }
                        if (ovRes != null)
                        {
                            if (!matching.Contains(ovRes))
                            {
                                matching.Add(ovRes);
                            }
                            if (ovRes.Equivalent != null && !matching.Contains(ovRes.Equivalent))
                            {
                                matching.Add(ovRes.Equivalent);
                            }
                        }
                    }
                }
            }

            Expr writeBack;

            if (ovRes?.Unique == true)
            {
                ApplyConversions(args, ovRes, out writeBack);
                return(ovRes.Symbol);
            }
            if (matching.Count > 1 && ovRes.Valid && Options.Resolver != null)
            {
                var res = AskUserForCorrectOverload(matching, args);
                if (res != null)
                {
                    ovRes = res;
                    ApplyConversions(args, ovRes, out writeBack);
                    return(ovRes.Symbol);
                }
            }

            return(null);
        }
Exemple #12
0
        public override void Set(OptionInfo info, string arg)
        {
            var argIndex = ArgList.IndexOf(arg);
            var argValue = ArgList[argIndex + 1];
            var value    = TranslateActivator.Activate(info.TranslatorType, info.TargetType, argValue);
            var property = typeof(TOptions).GetProperty(info.Name);

            property?.SetValue(Options, value);
        }
Exemple #13
0
 internal void ConvertArrayBase(ArgList args)
 {
     if (!Options.ArrayZero)
     {
         for (int i = 0; i < args.Args.Count; i++)
         {
             args.Args[i].Expr = BinaryExpr.Bound(args.Args[i].Expr, args.Args[i].Expr.Token, LiteralExpr.Bound(Constant.Create(1)), BinaryOperatorKind.Subtraction, false, Options.Binding);
         }
     }
 }
Exemple #14
0
 public T ChangeState <T>(ArgList args, bool force)
     where T : State <O>, new()
 {
     if (!force && CurrentState is T)
     {
         return(CurrentState as T);
     }
     PopState();
     return(PushState <T>(args));
 }
Exemple #15
0
        public override void Show(ArgList args)
        {
            base.Show(args);
            this._txtMessage = transform.FindChild("message").GetComponent <Text>();
            string strMessage = args.GetAt <string>(0);

            this._txtMessage.text = strMessage;
            Vector3 pos   = args.GetAt <Vector3>(1);
            float   angel = args.GetAt <float>(2);

            Init(pos, angel);
        }
Exemple #16
0
        public T PushState <T>(ArgList args)
            where T : State <O>, new()
        {
            var t = new T()
            {
                Owner = Owner, Fsm = this
            };

            mStates.Push(t);
            t.OnEnter(args);
            return(t);
        }
Exemple #17
0
 public override void OnEnter(ArgList args)
 {
     _wnd     = UIManager.Instance.ShowWindow <LoadingWindow>("LoadingWindow", null, false);
     _wnd.CCB = OnCompelete;
     LoadConfig();
     this.Fsm.Owner.StartCoroutine(LoadScene(args.GetAt <string>(0)));
     this._tableId   = args.GetAt <int>(1);
     this._tableName = args.GetAt <string>(2);
     this._tableRate = args.GetAt <int>(3);
     this._sceneId   = args.GetAt <int>(4);
     //this._strPos = args.GetAt<string>(2);
 }
Exemple #18
0
 private static void FillResourceList(List <Resource> resourceList, ArgList rawList)
 {
     foreach (var raw in rawList)
     {
         var deviceRaw = raw as ArgMap;
         if (deviceRaw != null)
         {
             var resource = new Resource(deviceRaw);
             resourceList.Add(resource);
         }
     }
 }
        public override ProgNodeValue Evaluate(ProgNodeContext context, ArgList arguments)
        {
            int maxValue = arguments.GetInteger(context, 0);

            for (int i = 1; i < arguments.Size(); i++)
            {
                int value = arguments.GetInteger(context, i);

                maxValue = Math.Max(maxValue, value);
            }

            return(new ProgNodeValue(maxValue));
        }
Exemple #20
0
        protected override bool TryParse(ArgList args, out string result)
        {
            result = null;

            if (args.Count == 0)
            {
                return(false);
            }

            result = args.Next;

            return(true);
        }
 internal void ConvertArrayBase(ArgList args)
 {
     if (!Options.ArrayZero)
     {
         for (int i = 0; i < args.Args.Count; i++)
         {
             args.Args[i].Expr = BinaryExpr.Bound(args.Args[i].Expr, args.Args[i].Expr.Token, LiteralExpr.Bound(Constant.Create(1)), BinaryOperatorKind.Subtraction, Options.Binding);
             var expr = args.Args[i].Expr;
             Binder.Convert(ref expr, Compilation.Get(NativeType.Int32), BindOptions.Default);
             args.Args[i].Expr = expr;
         }
     }
 }
        internal MemberSymbol BindArrayAccess(Expr self, Symbol symbol, ArgList args)
        {
            OverloadResult ovRes = null;

            var res = TryBindArrayAccess(self, symbol, args, ref ovRes, Options.Binding);

            if (res != null)
            {
                return(res);
            }

            throw ArrayAccessBindError(self, symbol, args, ovRes);
        }
Exemple #23
0
        internal MemberSymbol BindMethodCall(Expr expr, Symbol symbol, ArgList args, out Expr self)
        {
            OverloadResult ovRes = null;

            var res = TryBindCall(expr, symbol, args, out self, ref ovRes, Options.Binding);

            if (res != null)
            {
                return(res);
            }

            throw MethodCallBindError(expr, symbol, args, ovRes);
        }
Exemple #24
0
        public void Insert(Command command, ArgList args)
        {
            if (first == null)
            {
                CommandBufferEntry entry = new CommandBufferEntry(command, args);

                first = entry;
                last  = entry;
            }
            else
            {
                CommandBufferEntry entry = new CommandBufferEntry(command, args, first);

                first = entry;
            }
        }
Exemple #25
0
 void LoginResult(Constants result, PlayerData playerData)
 {
     if (result == Constants.SUCCESS)
     {
         Game.Instance.player = new Player(playerData);
         Game.Instance.GameFsm.ChangeState <Hall>(ArgList.Create(0), false);
         //Trigger the event.
         _raiseLoginResultEvent(true);
     }
     else
     {
         //DebugLogger.LogError("login failed!!!!!!");
         //Trigger the event.
         _raiseLoginResultEvent(false);
     }
 }
Exemple #26
0
        protected override bool TryParse(ArgList args, out bool result)
        {
            result = false;

            if (args.Count == 0)
            {
                return(false);
            }
            if (args.Peek.Type != ArgType.Numeric)
            {
                return(false);
            }

            result = args.Peek.IntValue == 1;

            return(true);
        }
Exemple #27
0
        protected override bool TryParse(ArgList args, out float result)
        {
            result = 0f;

            if (args.Count == 0)
            {
                return(false);
            }
            if (args.Peek.Type != ArgType.Numeric)
            {
                return(false);
            }

            result = args.Next.FloatValue;

            return(true);
        }
Exemple #28
0
        public void Append(Command command, ArgList args)
        {
            if (first == null)
            {
                CommandBufferEntry entry = new CommandBufferEntry(command, args);

                first = entry;
                last  = entry;
            }
            else
            {
                CommandBufferEntry entry = new CommandBufferEntry(command, args);

                last.Next = entry;
                last      = entry;
            }
        }
        Arg ApplyUsualConversions(ArgList args, out Expr writeBack)
        {
            writeBack = null;
            bool hasRefArgs = false;

            for (int i = 0; i < args.Args.Count; i++)
            {
                var e = args.Args[i].Expr;
                Convert(ref e, Compilation.Get(NativeType.Usual));
                if (args.Args[i].RefKind != RefKind.None)
                {
                    hasRefArgs = true;
                }
            }
            var arguments = new Arg(LiteralArray.Bound(args.Args));

            if (hasRefArgs)
            {
                var conv = ConversionSymbol.Create(ConversionSymbol.Create(ConversionKind.Identity), new ConversionToTemp(arguments.Expr.Datatype));
                Convert(ref arguments.Expr, arguments.Expr.Datatype, conv);
                for (int i = 0; i < args.Args.Count; i++)
                {
                    if (args.Args[i].RefKind != RefKind.None)
                    {
                        HandleVarArgWriteBack(conv, args.Args[i].Expr, i, ref writeBack);
                    }
                }
            }
            return(arguments);

            void HandleVarArgWriteBack(ConversionSymbol conv, Expr e, int i, ref Expr wb)
            {
                if (e.Symbol?.HasSetAccess == true || e is AutoVarExpr || e is AliasExpr)
                {
                    // Handle writeBack
                    Expr t = IdExpr.Bound(conv.IndirectRefConversionTempLocal());
                    t = ArrayAccessExpr.Bound(t, ArgList.Bound(LiteralExpr.Bound(Constant.Create(i + 1))), this);
                    var wc = Conversion(t, e.Datatype, BindOptions.Default);
                    if (wc.Exists)
                    {
                        Convert(ref t, e.Datatype, wc);
                        SymbolExtensions.AddExpr(ref wb, AssignExpr.Bound(e, t, BindOptions.Default));
                    }
                }
            }
        }
        private string createArgumentString(ArgList arguments)
        {
            StringBuilder sb = new StringBuilder();

            foreach (var arg in arguments.Args)
            {
                if (arg.Value == "")
                {
                    sb.Append(string.Format("--{0} ", arg.Key));
                }
                else
                {
                    sb.Append(string.Format("--{0}=\"{1}\" ", arg.Key, arg.Value));
                }
            }
            return(sb.ToString());
        }