checkState(argument.getKind().equals(ASSIGNMENT)); JCAssign assignment = (JCAssign) argument; checkState(getSymbol(assignment.getVariable()).getSimpleName().contentEquals("type")); String typeName = getSymbol(assignment.getExpression()).getSimpleName().toString(); switch (typeName) { case "SET":
JCTree.JCExpression expression = assign.getExpression(); JCTree.JCExpression variable = assign.getVariable();
make.Exec(make.Assign(make.Ident(dollar_tmp), make.Literal(caseLabelToPosition.get(caseLabel))). setType(dollar_tmp.type)), elsepart);
make.Exec(make.Assign(make.Ident(dollar_tmp), make.Literal(caseLabelToPosition.get(caseLabel))). setType(dollar_tmp.type)), elsepart);
List.<JCExpression>nil()), names.getClassLoader, List.<JCExpression>nil())).setType(syms.classLoaderType), make.Ident(clsym)).setType(syms.classLoaderType);
List.<JCExpression>nil()), names.getClassLoader, List.<JCExpression>nil())).setType(syms.classLoaderType), make.Ident(clsym)).setType(syms.classLoaderType);
thisSymb ) ); conStatements.append( utils.make.Exec( utils.make.Assign( vdi, vi ). setType( var.type ) ) );
SuggestedFix.replace( tree.getStartPosition(), ((JCAssign) tree).getExpression().getStartPosition(), ""); fix.merge(replacement);
ordinalMethod))), make.Literal(mappedValue)) .setType(syms.intType); JCStatement exec = make.Exec(assign); JCStatement _try = make.Try(make.Block(0, List.of(exec)), catcher, null);
List.<JCExpression>of(make.Literal(CLASS, sig) .setType(syms.stringType)))) .setType(types.erasure(syms.classType)), make.Ident(cs)).setType(types.erasure(syms.classType)); default:
make.Ident(classDollarSym(pos)), List.<JCExpression>of(make.Literal(CLASS, sig) .setType(syms.stringType)))) .setType(types.erasure(syms.classType)), make.Ident(cs)).setType(types.erasure(syms.classType));
ordinalMethod))), make.Literal(mappedValue)) .setType(syms.intType); JCStatement exec = make.Exec(assign); JCStatement _try = make.Try(make.Block(0, List.of(exec)), catcher, null);
List.<JCExpression>of(make.Literal(CLASS, sig) .setType(syms.stringType)))) .setType(types.erasure(syms.classType)), make.Ident(cs)).setType(types.erasure(syms.classType)); default:
ordinalMethod))), make.Literal(mappedValue)) .setType(syms.intType); JCStatement exec = make.Exec(assign); JCStatement _try = make.Try(make.Block(0, List.of(exec)), catcher, null);
checkState(argument.getKind().equals(ASSIGNMENT)); JCAssign assignment = (JCAssign) argument; checkState(getSymbol(assignment.getVariable()).getSimpleName().contentEquals("type")); String typeName = getSymbol(assignment.getExpression()).getSimpleName().toString(); switch (typeName) { case "SET":
ordinalMethod))), make.Literal(mappedValue)) .setType(syms.intType); JCStatement exec = make.Exec(assign); JCStatement _try = make.Try(make.Block(0, List.of(exec)), catcher, null);
if (!Objects.equals(ASTHelpers.getSymbol(assign.getVariable()), info.sym())) { return Description.NO_MATCH; Symbol sym = ASTHelpers.getSymbol(assign.getExpression()); if (!(sym instanceof VarSymbol)) { return Description.NO_MATCH;
make.Ident(classDollarSym(pos)), List.<JCExpression>of(make.Literal(CLASS, sig) .setType(syms.stringType)))) .setType(types.erasure(syms.classType)), make.Ident(cs)).setType(types.erasure(syms.classType));
LambdaTranslationContext(JCLambda tree) { super(tree); Frame frame = frameStack.head; switch (frame.tree.getTag()) { case VARDEF: assignedTo = self = ((JCVariableDecl) frame.tree).sym; break; case ASSIGN: self = null; assignedTo = TreeInfo.symbol(((JCAssign) frame.tree).getVariable()); break; default: assignedTo = self = null; break; } // This symbol will be filled-in in complete this.translatedSym = makePrivateSyntheticMethod(0, null, null, owner.enclClass()); translatedSymbols = new EnumMap<>(LambdaSymbolKind.class); translatedSymbols.put(PARAM, new LinkedHashMap<Symbol, Symbol>()); translatedSymbols.put(LOCAL_VAR, new LinkedHashMap<Symbol, Symbol>()); translatedSymbols.put(CAPTURED_VAR, new LinkedHashMap<Symbol, Symbol>()); translatedSymbols.put(CAPTURED_THIS, new LinkedHashMap<Symbol, Symbol>()); translatedSymbols.put(CAPTURED_OUTER_THIS, new LinkedHashMap<Symbol, Symbol>()); translatedSymbols.put(TYPE_VAR, new LinkedHashMap<Symbol, Symbol>()); freeVarProcessedLocalClasses = new HashSet<>(); }
LambdaTranslationContext(JCLambda tree) { super(tree); Frame frame = frameStack.head; switch (frame.tree.getTag()) { case VARDEF: assignedTo = self = ((JCVariableDecl) frame.tree).sym; break; case ASSIGN: self = null; assignedTo = TreeInfo.symbol(((JCAssign) frame.tree).getVariable()); break; default: assignedTo = self = null; break; } // This symbol will be filled-in in complete this.translatedSym = makePrivateSyntheticMethod(0, null, null, owner.enclClass()); if (dumpLambdaToMethodStats) { log.note(tree, "lambda.stat", needsAltMetafactory(), translatedSym); } translatedSymbols = new EnumMap<>(LambdaSymbolKind.class); translatedSymbols.put(PARAM, new LinkedHashMap<Symbol, Symbol>()); translatedSymbols.put(LOCAL_VAR, new LinkedHashMap<Symbol, Symbol>()); translatedSymbols.put(CAPTURED_VAR, new LinkedHashMap<Symbol, Symbol>()); translatedSymbols.put(CAPTURED_THIS, new LinkedHashMap<Symbol, Symbol>()); translatedSymbols.put(TYPE_VAR, new LinkedHashMap<Symbol, Symbol>()); }