public class android.renderscript.Program$BaseProgramBuilder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.renderscript.Program$BaseProgramBuilder
super_class: java.lang.Object
{
android.renderscript.RenderScript mRS;
descriptor: Landroid/renderscript/RenderScript;
flags: (0x0000)
android.renderscript.Element[] mInputs;
descriptor: [Landroid/renderscript/Element;
flags: (0x0000)
android.renderscript.Element[] mOutputs;
descriptor: [Landroid/renderscript/Element;
flags: (0x0000)
android.renderscript.Type[] mConstants;
descriptor: [Landroid/renderscript/Type;
flags: (0x0000)
android.renderscript.Type[] mTextures;
descriptor: [Landroid/renderscript/Type;
flags: (0x0000)
android.renderscript.Program$TextureType[] mTextureTypes;
descriptor: [Landroid/renderscript/Program$TextureType;
flags: (0x0000)
java.lang.String[] mTextureNames;
descriptor: [Ljava/lang/String;
flags: (0x0000)
int mInputCount;
descriptor: I
flags: (0x0000)
int mOutputCount;
descriptor: I
flags: (0x0000)
int mConstantCount;
descriptor: I
flags: (0x0000)
int mTextureCount;
descriptor: I
flags: (0x0000)
java.lang.String mShader;
descriptor: Ljava/lang/String;
flags: (0x0000)
protected void <init>(android.renderscript.RenderScript);
descriptor: (Landroid/renderscript/RenderScript;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield android.renderscript.Program$BaseProgramBuilder.mRS:Landroid/renderscript/RenderScript;
2: aload 0
bipush 8
anewarray android.renderscript.Element
putfield android.renderscript.Program$BaseProgramBuilder.mInputs:[Landroid/renderscript/Element;
3: aload 0
bipush 8
anewarray android.renderscript.Element
putfield android.renderscript.Program$BaseProgramBuilder.mOutputs:[Landroid/renderscript/Element;
4: aload 0
bipush 8
anewarray android.renderscript.Type
putfield android.renderscript.Program$BaseProgramBuilder.mConstants:[Landroid/renderscript/Type;
5: aload 0
iconst_0
putfield android.renderscript.Program$BaseProgramBuilder.mInputCount:I
6: aload 0
iconst_0
putfield android.renderscript.Program$BaseProgramBuilder.mOutputCount:I
7: aload 0
iconst_0
putfield android.renderscript.Program$BaseProgramBuilder.mConstantCount:I
8: aload 0
iconst_0
putfield android.renderscript.Program$BaseProgramBuilder.mTextureCount:I
9: aload 0
bipush 8
anewarray android.renderscript.Program$TextureType
putfield android.renderscript.Program$BaseProgramBuilder.mTextureTypes:[Landroid/renderscript/Program$TextureType;
10: aload 0
bipush 8
anewarray java.lang.String
putfield android.renderscript.Program$BaseProgramBuilder.mTextureNames:[Ljava/lang/String;
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/renderscript/Program$BaseProgramBuilder;
0 12 1 rs Landroid/renderscript/RenderScript;
MethodParameters:
Name Flags
rs
public android.renderscript.Program$BaseProgramBuilder setShader(java.lang.String);
descriptor: (Ljava/lang/String;)Landroid/renderscript/Program$BaseProgramBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield android.renderscript.Program$BaseProgramBuilder.mShader:Ljava/lang/String;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/renderscript/Program$BaseProgramBuilder;
0 2 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s
public android.renderscript.Program$BaseProgramBuilder setShader(android.content.res.Resources, int);
descriptor: (Landroid/content/res/Resources;I)Landroid/renderscript/Program$BaseProgramBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokevirtual android.content.res.Resources.openRawResource:(I)Ljava/io/InputStream;
astore 5
start local 5 1: sipush 1024
newarray 8
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: StackMap locals: byte[] int java.io.InputStream
StackMap stack:
aload 3
arraylength
iload 4
isub
istore 6
start local 6 4: iload 6
ifne 9
5: aload 3
arraylength
iconst_2
imul
newarray 8
astore 7
start local 7 6: aload 3
iconst_0
aload 7
iconst_0
aload 3
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 7
astore 3
8: aload 3
arraylength
iload 4
isub
istore 6
end local 7 9: StackMap locals: int
StackMap stack:
aload 5
aload 3
iload 4
iload 6
invokevirtual java.io.InputStream.read:([BII)I
istore 7
start local 7 10: iload 7
ifgt 12
11: goto 17
12: StackMap locals: int
StackMap stack:
iload 4
iload 7
iadd
istore 4
end local 7 end local 6 13: goto 3
end local 4 end local 3 14: StackMap locals: android.renderscript.Program$BaseProgramBuilder android.content.res.Resources int top top java.io.InputStream
StackMap stack: java.lang.Throwable
astore 8
15: aload 5
invokevirtual java.io.InputStream.close:()V
16: aload 8
athrow
start local 3 start local 4 17: StackMap locals: android.renderscript.Program$BaseProgramBuilder android.content.res.Resources int byte[] int java.io.InputStream
StackMap stack:
aload 5
invokevirtual java.io.InputStream.close:()V
18: goto 21
end local 4 end local 3 StackMap locals: android.renderscript.Program$BaseProgramBuilder android.content.res.Resources int top top java.io.InputStream
StackMap stack: java.io.IOException
19: pop
20: new android.content.res.Resources$NotFoundException
dup
invokespecial android.content.res.Resources$NotFoundException.<init>:()V
athrow
start local 3 start local 4 21: StackMap locals: android.renderscript.Program$BaseProgramBuilder android.content.res.Resources int byte[] int java.io.InputStream
StackMap stack:
aload 0
new java.lang.String
dup
aload 3
iconst_0
iload 4
ldc "UTF-8"
invokespecial java.lang.String.<init>:([BIILjava/lang/String;)V
putfield android.renderscript.Program$BaseProgramBuilder.mShader:Ljava/lang/String;
22: goto 25
StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
23: pop
24: ldc "RenderScript shader creation"
ldc "Could not decode shader string"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
25: StackMap locals:
StackMap stack:
aload 0
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Landroid/renderscript/Program$BaseProgramBuilder;
0 26 1 resources Landroid/content/res/Resources;
0 26 2 resourceID I
2 14 3 str [B
17 19 3 str [B
21 26 3 str [B
3 14 4 strLength I
17 19 4 strLength I
21 26 4 strLength I
1 26 5 is Ljava/io/InputStream;
4 13 6 bytesLeft I
6 9 7 buf2 [B
10 13 7 bytesRead I
Exception table:
from to target type
1 14 14 any
1 18 19 Class java.io.IOException
21 22 23 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
resources
resourceID
public int getCurrentConstantIndex();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mConstantCount:I
iconst_1
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/renderscript/Program$BaseProgramBuilder;
public int getCurrentTextureIndex();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mTextureCount:I
iconst_1
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/renderscript/Program$BaseProgramBuilder;
public android.renderscript.Program$BaseProgramBuilder addConstant(android.renderscript.Type);
descriptor: (Landroid/renderscript/Type;)Landroid/renderscript/Program$BaseProgramBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mConstantCount:I
bipush 8
if_icmplt 2
1: new android.renderscript.RSIllegalArgumentException
dup
ldc "Max input count exceeded."
invokespecial android.renderscript.RSIllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual android.renderscript.Type.getElement:()Landroid/renderscript/Element;
invokevirtual android.renderscript.Element.isComplex:()Z
ifeq 4
3: new android.renderscript.RSIllegalArgumentException
dup
ldc "Complex elements not allowed."
invokespecial android.renderscript.RSIllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mConstants:[Landroid/renderscript/Type;
aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mConstantCount:I
aload 1
aastore
5: aload 0
dup
getfield android.renderscript.Program$BaseProgramBuilder.mConstantCount:I
iconst_1
iadd
putfield android.renderscript.Program$BaseProgramBuilder.mConstantCount:I
6: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/renderscript/Program$BaseProgramBuilder;
0 7 1 t Landroid/renderscript/Type;
Exceptions:
throws java.lang.IllegalStateException
MethodParameters:
Name Flags
t
public android.renderscript.Program$BaseProgramBuilder addTexture(android.renderscript.Program$TextureType);
descriptor: (Landroid/renderscript/Program$TextureType;)Landroid/renderscript/Program$BaseProgramBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
new java.lang.StringBuilder
dup
ldc "Tex"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mTextureCount:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual android.renderscript.Program$BaseProgramBuilder.addTexture:(Landroid/renderscript/Program$TextureType;Ljava/lang/String;)Landroid/renderscript/Program$BaseProgramBuilder;
pop
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/renderscript/Program$BaseProgramBuilder;
0 2 1 texType Landroid/renderscript/Program$TextureType;
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
texType
public android.renderscript.Program$BaseProgramBuilder addTexture(android.renderscript.Program$TextureType, java.lang.String);
descriptor: (Landroid/renderscript/Program$TextureType;Ljava/lang/String;)Landroid/renderscript/Program$BaseProgramBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mTextureCount:I
bipush 8
if_icmplt 2
1: new java.lang.IllegalArgumentException
dup
ldc "Max texture count exceeded."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mTextureTypes:[Landroid/renderscript/Program$TextureType;
aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mTextureCount:I
aload 1
aastore
3: aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mTextureNames:[Ljava/lang/String;
aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mTextureCount:I
aload 2
aastore
4: aload 0
dup
getfield android.renderscript.Program$BaseProgramBuilder.mTextureCount:I
iconst_1
iadd
putfield android.renderscript.Program$BaseProgramBuilder.mTextureCount:I
5: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/renderscript/Program$BaseProgramBuilder;
0 6 1 texType Landroid/renderscript/Program$TextureType;
0 6 2 texName Ljava/lang/String;
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
texType
texName
protected void initProgram(android.renderscript.Program);
descriptor: (Landroid/renderscript/Program;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mInputCount:I
anewarray android.renderscript.Element
putfield android.renderscript.Program.mInputs:[Landroid/renderscript/Element;
1: aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mInputs:[Landroid/renderscript/Element;
iconst_0
aload 1
getfield android.renderscript.Program.mInputs:[Landroid/renderscript/Element;
iconst_0
aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mInputCount:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 1
aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mOutputCount:I
anewarray android.renderscript.Element
putfield android.renderscript.Program.mOutputs:[Landroid/renderscript/Element;
3: aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mOutputs:[Landroid/renderscript/Element;
iconst_0
aload 1
getfield android.renderscript.Program.mOutputs:[Landroid/renderscript/Element;
iconst_0
aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mOutputCount:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 1
aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mConstantCount:I
anewarray android.renderscript.Type
putfield android.renderscript.Program.mConstants:[Landroid/renderscript/Type;
5: aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mConstants:[Landroid/renderscript/Type;
iconst_0
aload 1
getfield android.renderscript.Program.mConstants:[Landroid/renderscript/Type;
iconst_0
aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mConstantCount:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 1
aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mTextureCount:I
putfield android.renderscript.Program.mTextureCount:I
7: aload 1
aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mTextureCount:I
anewarray android.renderscript.Program$TextureType
putfield android.renderscript.Program.mTextures:[Landroid/renderscript/Program$TextureType;
8: aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mTextureTypes:[Landroid/renderscript/Program$TextureType;
iconst_0
aload 1
getfield android.renderscript.Program.mTextures:[Landroid/renderscript/Program$TextureType;
iconst_0
aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mTextureCount:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: aload 1
aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mTextureCount:I
anewarray java.lang.String
putfield android.renderscript.Program.mTextureNames:[Ljava/lang/String;
10: aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mTextureNames:[Ljava/lang/String;
iconst_0
aload 1
getfield android.renderscript.Program.mTextureNames:[Ljava/lang/String;
iconst_0
aload 0
getfield android.renderscript.Program$BaseProgramBuilder.mTextureCount:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/renderscript/Program$BaseProgramBuilder;
0 12 1 p Landroid/renderscript/Program;
MethodParameters:
Name Flags
p
}
SourceFile: "Program.java"
NestHost: android.renderscript.Program
InnerClasses:
public NotFoundException = android.content.res.Resources$NotFoundException of android.content.res.Resources
public BaseProgramBuilder = android.renderscript.Program$BaseProgramBuilder of android.renderscript.Program
public final TextureType = android.renderscript.Program$TextureType of android.renderscript.Program