Package openmods.utils

Examples of openmods.utils.AnnotationMap


    ImmutableList.Builder<Argument> luaArgs = ImmutableList.builder();
    for (int arg = 0; arg < declaredLuaArgs.length; arg++) {
      boolean isLastArg = arg == (declaredLuaArgs.length - 1);

      AnnotationMap annotations = new AnnotationMap(argsAnnotations[arg]);
      Arg ann = declaredLuaArgs[arg];
      annotations.put(ann);
      int javaArgIndex = luaArgsStart + arg;

      isOptional = checkOptional(isOptional, annotations);

      ArgumentBuilder builder = new ArgumentBuilder();
      builder.setVararg(isLastArg && isVarArg);
      builder.setOptional(isOptional);
      builder.setNullable(ann.isNullable());

      luaArgs.add(createLuaArg(builder, annotations, methodArgs[javaArgIndex], javaArgIndex));
    }

    this.luaArgs = luaArgs.build();
    this.javaArgs = ImmutableList.copyOf(Arrays.copyOf(methodArgs, luaArgsStart));

    for (int arg = 0; arg < luaArgsStart; arg++) {
      AnnotationMap annotations = new AnnotationMap(argsAnnotations[arg]);
      Named named = annotations.get(Named.class);
      if (named != null) namedArgs.put(named.value(), arg);
      Preconditions.checkState(annotations.get(Optionals.class) == null, "@Optionals does not work for java arguments (method %s)", method);
    }
  }
View Full Code Here


    for (int i = 0; i < methodArgs.length; i++) {
      boolean isLastArg = i == (methodArgs.length - 1);
      final Class<?> cls = methodArgs[i];

      AnnotationMap annotations = new AnnotationMap(argsAnnotations[i]);

      boolean isLuaArg = false;

      Arg tmp = annotations.get(Arg.class);
      if (tmp != null) {
        isOptional = checkOptional(isOptional, annotations);

        ArgumentBuilder builder = new ArgumentBuilder();
        builder.setVararg(isLastArg && isVarArg);
        builder.setOptional(isOptional);
        builder.setNullable(tmp.isNullable());

        luaArgs.add(createLuaArg(builder, annotations, cls, i));

        isLuaArg = true;
        isInLuaArgs = true;
      }

      Preconditions.checkState(!isInLuaArgs || isLuaArg, "Argument %s in method %s look like Java arg, but is in Lua part (perhaps missing Arg annotation?)", i, method);

      Named named = annotations.get(Named.class);
      if (named != null) {
        Preconditions.checkState(!isInLuaArgs, "Argument %s in method %s is Lua arg, but has Named annotation", i, method);
        namedArgs.put(named.value(), i);
      }

      Preconditions.checkState(isInLuaArgs || annotations.get(Optionals.class) == null, "@Optionals does not work for java arguments (method %s)", method);

      if (!isLuaArg) javaArgs.add(cls);
    }

    this.luaArgs = luaArgs.build();
View Full Code Here

TOP

Related Classes of openmods.utils.AnnotationMap

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.