示例#1
0
        private static java.lang.String[] GetParameterNames(AccessibleObject member, int parametersCount)
        {
            var paranamer = new BytecodeReadingParanamer();
            var names     = paranamer.lookupParameterNames(member, false);

            if (names.Length >= parametersCount)
            {
                return(names);
            }

            if (member is Method m)
            {
                names = paranamer.getParameterNames(m);
                if (names.Length >= parametersCount)
                {
                    return(names);
                }
            }

            names = new java.lang.String[parametersCount];
            for (var i = 0; i < names.Length; i++)
            {
                names[i] = "par" + i;
            }

            return(names);
        }
示例#2
0
        public void punishSecurityViolation(java.lang.String message)
        {
            // Prevent unit tests of failing if multiple threads are calling this method in the same time.
            // We only want the a specific type of security violation logged once so we only get one error
            // per security violation.
            lock (securityViolations)
            {
                if (!securityViolations.ContainsKey(message))
                {
                    securityViolations.Add(message, null);
                    LoggerN.logError(message);
                    println("SYSTEM: " + message);

                    if (securityViolations.Count == 1)
                    {
                        peer.drainEnergy();
                        peer.punishBadBehavior(BadBehavior.SECURITY_VIOLATION);
                    }
                }
            }
        }
示例#3
0
 public void println(java.lang.String par0)
 {
     output.WriteLine(par0);
 }