vmtest/src/test/java/org/apidesign/bck2brwsr/tck/InheritanceTest.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Sat, 26 Jan 2013 08:47:05 +0100
changeset 592 5e13b1ac2886
parent 517 vmtest/src/test/java/org/apidesign/bck2brwsr/tck/AssertionTest.java@70c062dbd783
permissions -rw-r--r--
In order to support fields of the same name in subclasses we are now prefixing them with name of the class that defines them. To provide convenient way to access them from generated bytecode and also directly from JavaScript, there is a getter/setter function for each field. It starts with _ followed by the field name. If called with a parameter, it sets the field, with a parameter it just returns it.
jaroslav@517
     1
/**
jaroslav@517
     2
 * Back 2 Browser Bytecode Translator
jaroslav@517
     3
 * Copyright (C) 2012 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
jaroslav@517
     4
 *
jaroslav@517
     5
 * This program is free software: you can redistribute it and/or modify
jaroslav@517
     6
 * it under the terms of the GNU General Public License as published by
jaroslav@517
     7
 * the Free Software Foundation, version 2 of the License.
jaroslav@517
     8
 *
jaroslav@517
     9
 * This program is distributed in the hope that it will be useful,
jaroslav@517
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
jaroslav@517
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
jaroslav@517
    12
 * GNU General Public License for more details.
jaroslav@517
    13
 *
jaroslav@517
    14
 * You should have received a copy of the GNU General Public License
jaroslav@517
    15
 * along with this program. Look for COPYING file in the top folder.
jaroslav@517
    16
 * If not, see http://opensource.org/licenses/GPL-2.0.
jaroslav@517
    17
 */
jaroslav@517
    18
package org.apidesign.bck2brwsr.tck;
jaroslav@517
    19
jaroslav@517
    20
import org.apidesign.bck2brwsr.vmtest.Compare;
jaroslav@517
    21
import org.apidesign.bck2brwsr.vmtest.VMTest;
jaroslav@517
    22
import org.testng.annotations.Factory;
jaroslav@517
    23
jaroslav@517
    24
/**
jaroslav@517
    25
 *
jaroslav@517
    26
 * @author Jaroslav Tulach <jtulach@netbeans.org>
jaroslav@517
    27
 */
jaroslav@592
    28
public class InheritanceTest {
jaroslav@517
    29
jaroslav@592
    30
    @Compare public String checkFieldsIndependent() throws ClassNotFoundException {
jaroslav@592
    31
        InheritanceB ib = new InheritanceB();
jaroslav@592
    32
        ib.setA("A");
jaroslav@592
    33
        ib.setB("B");
jaroslav@592
    34
        return "A: " + ib.getA() + " B: " + ib.getB();
jaroslav@517
    35
    }
jaroslav@517
    36
    
jaroslav@517
    37
    @Factory
jaroslav@517
    38
    public static Object[] create() {
jaroslav@592
    39
        return VMTest.create(InheritanceTest.class);
jaroslav@517
    40
    }
jaroslav@517
    41
}