// Path: src/main/java/com/pidanic/saral/domain/expression/Expression.java
// public abstract class Expression {
//     private Type type;
// 
//     public Expression(Type type) {
//         this.type = type;
//     }
// 
//     public Type type() {
//         return type;
//     }
// 
//     public abstract void accept(ExpressionGenerator generator);
// }
// 
// Path: src/main/java/com/pidanic/saral/util/Type.java
// public interface Type {
//     String getName();
//     Class<?> getTypeClass();
//     String getDescriptor();
//     String getInternalName();
//     TypeSpecificOpcodes getTypeSpecificOpcode();
// }


import com.pidanic.saral.domain.expression.Expression;
import com.pidanic.saral.util.Type;
package com.pidanic.saral.scope;


public class LocalVariableArrayIndex extends LocalVariable {

    private Expression index;

// Path: src/main/java/com/pidanic/saral/domain/expression/Expression.java
// public abstract class Expression {
//     private Type type;
// 
//     public Expression(Type type) {
//         this.type = type;
//     }
// 
//     public Type type() {
//         return type;
//     }
// 
//     public abstract void accept(ExpressionGenerator generator);
// }
// 
// Path: src/main/java/com/pidanic/saral/util/Type.java
// public interface Type {
//     String getName();
//     Class<?> getTypeClass();
//     String getDescriptor();
//     String getInternalName();
//     TypeSpecificOpcodes getTypeSpecificOpcode();
// }


// Path: src/main/java/com/pidanic/saral/scope/LocalVariableArrayIndex.java
import com.pidanic.saral.domain.expression.Expression;
import com.pidanic.saral.util.Type;

package com.pidanic.saral.scope;


public class LocalVariableArrayIndex extends LocalVariable {

    private Expression index;

    public LocalVariableArrayIndex(String name, Type type, boolean initialized, Expression index) {