Class SlotGet

    • Field Detail

      • field

        public static final SlotGet field
      • slotRef

        public static final SlotGet slotRef
      • staticField

        public static final SlotGet staticField
    • Constructor Detail

      • SlotGet

        public SlotGet​(java.lang.String name,
                       boolean isStatic)
      • SlotGet

        public SlotGet​(java.lang.String name,
                       boolean isStatic,
                       Procedure setter)
    • Method Detail

      • field

        public static java.lang.Object field​(java.lang.Object obj,
                                             java.lang.String fname)
      • staticField

        public static java.lang.Object staticField​(java.lang.Object obj,
                                                   java.lang.String fname)
      • apply2

        public java.lang.Object apply2​(java.lang.Object arg1,
                                       java.lang.Object arg2)
        Specified by:
        apply2 in class Procedure2
      • getSlotValue

        public static java.lang.Object getSlotValue​(boolean isStatic,
                                                    java.lang.Object obj,
                                                    java.lang.String name,
                                                    java.lang.String fname,
                                                    java.lang.String getName,
                                                    java.lang.String isName,
                                                    Language language)
        The actual gets of finding the field value. The compiler emits calls to this method if the field name is literal but the actual field is not known at compile time. This speeds lookup a bit. If fname equals "length" or "class", it is assumed to be interned.
      • setN

        public void setN​(java.lang.Object[] args)
        Overrides:
        setN in class Procedure
      • set2

        public void set2​(java.lang.Object obj,
                         java.lang.Object name,
                         java.lang.Object value)
      • lookupMember

        public static Member lookupMember​(ObjectType clas,
                                          java.lang.String name,
                                          ClassType caller)
        Get a named property - field or member class or 'get' accessor method.
        Parameters:
        clas - the class type declaring the property.
        name - the source (unmangled) name of the property.
      • makeGetField

        public static ApplyExp makeGetField​(Expression value,
                                            java.lang.String fieldName)
        Convenience method to make an Expression that gets the value of a field.
        Parameters:
        value - evaluates to object that has the named field
        fieldName - name of field in value
        Returns:
        expression that get the name field from value