public static Expression memberRef(Expression x, Identifier name) { return memberRef(x, MemberRefStyle.Dot, name); }
public static Expression memberRef(Expression x, String name) { return memberRef(x, MemberRefStyle.Dot, name); }
public static FunctionCall methodCall(Expression x, MemberRefStyle style, Identifier name, Expression... exprs) { return new FunctionCall(memberRef(x, style, name), exprs); } // Given Pointer<T>, returns T
public static Expression thisField(String name) { return memberRef(thisRef(), MemberRefStyle.Dot, name); }
public static FunctionCall methodCall(Expression x, MemberRefStyle style, String name, Expression... exprs) { return new FunctionCall(memberRef(x, style, name), exprs); }
public static Expression memberRef(Expression x, MemberRefStyle style, String name) { return memberRef(x, style, ident(name)); }
public static FunctionCall methodCall(Identifier name, Expression... exprs) { return new FunctionCall(memberRef(null, null, name), exprs); }
public static Expression enumRef(java.lang.Enum e) { return memberRef(expr(typeRef(e.getDeclaringClass())), e.name()); }
public static Expression javaStaticFieldRef(Identifier javaClass, Identifier fieldName) { return memberRef( expr(typeRef(javaClass)), MemberRefStyle.Dot, fieldName); }
public static Expression javaStaticFieldRef(Identifier javaClass, Identifier fieldName) { return memberRef( expr(typeRef(javaClass)), MemberRefStyle.Dot, fieldName); }
public static Expression staticField(Class<?> c, String name) { return memberRef(expr(typeRef(ident(c))), MemberRefStyle.Dot, name); }
public Expression typeLiteral(TypeRef c) { if (c == null) { return null; } if (c.toString().equals("?")) { return new Expression.Cast(typeRef(Type.class), Constant.newNull()); } return memberRef(expr(c), MemberRefStyle.Dot, "class"); }
Statement throwIfArraySizeDifferent(String varAndFieldName) { return new Statement.If( expr( memberRef(varRef(varAndFieldName), MemberRefStyle.Dot, "length"), BinaryOperator.IsDifferent, memberRef(memberRef(thisRef(), MemberRefStyle.Dot, varAndFieldName), MemberRefStyle.Dot, "length")), new Statement.Throw(new Expression.New(typeRef(IllegalArgumentException.class), expr("Wrong array size !"))), null); }
public Expression typeLiteral(TypeRef c) { if (c == null) { return null; } if (c.toString().equals("?")) { return new Expression.Cast(typeRef(Type.class), Constant.newNull()); } return memberRef(expr(c), MemberRefStyle.Dot, "class"); }
Statement throwIfArraySizeDifferent(String varAndFieldName) { return new Statement.If( expr( memberRef(varRef(varAndFieldName), MemberRefStyle.Dot, "length"), BinaryOperator.IsDifferent, memberRef(memberRef(thisRef(), MemberRefStyle.Dot, varAndFieldName), MemberRefStyle.Dot, "length")), new Statement.Throw(new Expression.New(typeRef(IllegalArgumentException.class), expr("Wrong array size !"))), null); }
public Expression getLibraryInstanceReferenceExpression(String libraryName) { Identifier hub = getHubFullClassName(); Identifier classIdent; String fieldName; if (hub != null) { classIdent = hub; fieldName = libraryName; } else { classIdent = getLibraryClassFullName(libraryName); fieldName = "INSTANCE"; } return memberRef(expr(typeRef(classIdent)), MemberRefStyle.Dot, fieldName); }
public Expression getLibraryInstanceReferenceExpression(String libraryName) { Identifier hub = getHubFullClassName(); Identifier classIdent; String fieldName; if (hub != null) { classIdent = hub; fieldName = libraryName; } else { classIdent = getLibraryClassFullName(libraryName); fieldName = "INSTANCE"; } return memberRef(expr(typeRef(classIdent)), MemberRefStyle.Dot, fieldName); }
public static Expression varRef(Identifier name) { MemberRefStyle s = MemberRefStyle.Dot; if (name instanceof QualifiedIdentifier) { QualificationSeparator sep = ((QualifiedIdentifier) name).getSeparator(); if (sep == QualificationSeparator.Colons) { s = MemberRefStyle.Colons; } } if (name instanceof SimpleIdentifier) { return varRef((SimpleIdentifier) name); } return memberRef(expr(typeRef(name.resolveAllButLastIdentifier())), s, name.resolveLastSimpleIdentifier()); }
methodCall(expr(typeRef(Rococoa.class)), MemberRefStyle.Dot, "cast", val, memberRef(expr(typeRef(instanceStruct.getTag())), MemberRefStyle.Dot, "class"));
methodCall(expr(typeRef(Rococoa.class)), MemberRefStyle.Dot, "cast", val, memberRef(expr(typeRef(instanceStruct.getTag())), MemberRefStyle.Dot, "class"));