All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.qbicc.object.Declaration Maven / Gradle / Ivy

There is a newer version: 0.77.0
Show newest version
package org.qbicc.object;

import org.qbicc.type.ValueType;
import org.qbicc.type.definition.element.MemberElement;

/**
 *
 */
public abstract class Declaration extends ProgramObject {
    protected final MemberElement originalElement;
    private final ProgramModule programModule;

    Declaration(final Declaration original) {
        super(original);
        this.originalElement = original.getOriginalElement();
        this.programModule = original.programModule;
    }

    Declaration(final SectionObject original) {
        super(original);
        this.originalElement = original.getOriginalElement();
        this.programModule = original.getProgramModule();
    }

    Declaration(final MemberElement originalElement, ProgramModule programModule, final String name, final ValueType valueType) {
        super(name, valueType);
        this.originalElement = originalElement;
        this.programModule = programModule;
    }

    public MemberElement getOriginalElement() {
        return originalElement;
    }

    @Override
    public ProgramModule getProgramModule() {
        return programModule;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy